Renamed classes with a two-letter initialism according to convention
This commit is contained in:
parent
2b501f0329
commit
c5a6978a85
File diff suppressed because one or more lines are too long
@ -81,15 +81,15 @@ public class Startup {
|
||||
EnvoyLog.setConsoleLevelBarrier(config.getConsoleLevelBarrier());
|
||||
|
||||
// Initialize the local database
|
||||
LocalDb localDb;
|
||||
LocalDB localDB;
|
||||
if (config.isIgnoreLocalDB()) {
|
||||
localDb = new TransientLocalDb();
|
||||
localDB = new TransientLocalDB();
|
||||
JOptionPane.showMessageDialog(null,
|
||||
"Ignoring local database.\nMessages will not be saved!",
|
||||
"Local database warning",
|
||||
JOptionPane.WARNING_MESSAGE);
|
||||
} else try {
|
||||
localDb = new PersistentLocalDb(new File(config.getHomeDirectory(), config.getLocalDB().getPath()));
|
||||
localDB = new PersistentLocalDB(new File(config.getHomeDirectory(), config.getLocalDB().getPath()));
|
||||
} catch (IOException e3) {
|
||||
logger.log(Level.SEVERE, "Could not initialize local database", e3);
|
||||
JOptionPane.showMessageDialog(null, "Could not initialize local database!\n" + e3, "Local database error", JOptionPane.ERROR_MESSAGE);
|
||||
@ -102,16 +102,16 @@ public class Startup {
|
||||
Cache<Message> cache = new Cache<>();
|
||||
|
||||
// Try to connect to the server
|
||||
new LoginDialog(client, localDb, cache);
|
||||
new LoginDialog(client, localDB, cache);
|
||||
SwingUtilities.invokeLater(() -> chatWindow.setVisible(true));
|
||||
|
||||
// Set client user in local database
|
||||
localDb.setUser(client.getSender());
|
||||
localDB.setUser(client.getSender());
|
||||
|
||||
// Initialize chats in local database
|
||||
try {
|
||||
localDb.initializeUserStorage();
|
||||
localDb.loadUserData();
|
||||
localDB.initializeUserStorage();
|
||||
localDB.loadUserData();
|
||||
} catch (FileNotFoundException e) {
|
||||
// The local database file has not yet been created, probably first login
|
||||
} catch (Exception e) {
|
||||
@ -123,21 +123,21 @@ public class Startup {
|
||||
}
|
||||
|
||||
// Initialize write proxy
|
||||
final WriteProxy writeProxy = client.createWriteProxy(localDb);
|
||||
final WriteProxy writeProxy = client.createWriteProxy(localDB);
|
||||
|
||||
if (client.isOnline()) {
|
||||
|
||||
// Save all users to the local database and flush cache
|
||||
localDb.setUsers(client.getUsers());
|
||||
localDB.setUsers(client.getUsers());
|
||||
writeProxy.flushCache();
|
||||
} else
|
||||
// Set all contacts to offline mode
|
||||
localDb.getUsers().values().stream().filter(u -> u != localDb.getUser()).forEach(u -> u.setStatus(UserStatus.OFFLINE));
|
||||
localDB.getUsers().values().stream().filter(u -> u != localDB.getUser()).forEach(u -> u.setStatus(UserStatus.OFFLINE));
|
||||
|
||||
// Display ChatWindow and StatusTrayIcon
|
||||
EventQueue.invokeLater(() -> {
|
||||
try {
|
||||
chatWindow.initContent(client, localDb, writeProxy);
|
||||
chatWindow.initContent(client, localDB, writeProxy);
|
||||
|
||||
// Relay unread messages from cache
|
||||
if (cache != null && client.isOnline()) cache.relay();
|
||||
@ -160,14 +160,14 @@ public class Startup {
|
||||
}
|
||||
});
|
||||
|
||||
// Save Settings and PersistentLocalDb on shutdown
|
||||
// Save Settings and PersistentLocalDB on shutdown
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
|
||||
try {
|
||||
logger.info("Closing connection...");
|
||||
client.close();
|
||||
|
||||
logger.info("Saving local database and settings...");
|
||||
localDb.save();
|
||||
localDB.save();
|
||||
Settings.getInstance().save();
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "Unable to save local files", e);
|
||||
|
@ -12,13 +12,13 @@ import envoy.event.MessageStatusChangeEvent;
|
||||
* For message ID generation a {@link IdGenerator} is stored as well.<br>
|
||||
* <br>
|
||||
* Project: <strong>envoy-client</strong><br>
|
||||
* File: <strong>LocalDb.java</strong><br>
|
||||
* File: <strong>LocalDB.java</strong><br>
|
||||
* Created: <strong>3 Feb 2020</strong><br>
|
||||
*
|
||||
* @author Kai S. K. Engelbart
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public abstract class LocalDb {
|
||||
public abstract class LocalDB {
|
||||
|
||||
protected User user;
|
||||
protected Map<String, User> users = new HashMap<>();
|
@ -10,18 +10,18 @@ import envoy.data.IdGenerator;
|
||||
import envoy.util.SerializationUtils;
|
||||
|
||||
/**
|
||||
* Implements a {@link LocalDb} in a way that stores all information inside a
|
||||
* Implements a {@link LocalDB} in a way that stores all information inside a
|
||||
* folder on the local file system.<br>
|
||||
* <br>
|
||||
* Project: <strong>envoy-client</strong><br>
|
||||
* File: <strong>PersistentLocalDb.java</strong><br>
|
||||
* File: <strong>PersistentLocalDB.java</strong><br>
|
||||
* Created: <strong>27.10.2019</strong><br>
|
||||
*
|
||||
* @author Kai S. K. Engelbart
|
||||
* @author Maximilian Käfer
|
||||
* @since Envoy Client v0.1-alpha
|
||||
*/
|
||||
public class PersistentLocalDb extends LocalDb {
|
||||
public class PersistentLocalDB extends LocalDB {
|
||||
|
||||
private File localDBDir, localDBFile, usersFile, idGeneratorFile, messageCacheFile, statusCacheFile;
|
||||
|
||||
@ -34,17 +34,17 @@ public class PersistentLocalDb extends LocalDb {
|
||||
*
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public PersistentLocalDb() {}
|
||||
public PersistentLocalDB() {}
|
||||
|
||||
/**
|
||||
* Constructs an empty local database. To serialize any chats to the file
|
||||
* system, call {@link PersistentLocalDb#initializeUserStorage()}.
|
||||
* system, call {@link PersistentLocalDB#initializeUserStorage()}.
|
||||
*
|
||||
* @param localDbDir the directory in which to store users and chats
|
||||
* @throws IOException if the PersistentLocalDb could not be initialized
|
||||
* @throws IOException if the PersistentLocalDB could not be initialized
|
||||
* @since Envoy Client v0.1-alpha
|
||||
*/
|
||||
public PersistentLocalDb(File localDbDir) throws IOException {
|
||||
public PersistentLocalDB(File localDbDir) throws IOException {
|
||||
localDBDir = localDbDir;
|
||||
|
||||
// Initialize local database directory
|
@ -1,15 +1,15 @@
|
||||
package envoy.client.data;
|
||||
|
||||
/**
|
||||
* Implements a {@link LocalDb} in a way that does not persist any information
|
||||
* Implements a {@link LocalDB} in a way that does not persist any information
|
||||
* after application shutdown.<br>
|
||||
* <br>
|
||||
* Project: <strong>envoy-client</strong><br>
|
||||
* File: <strong>TransientLocalDb.java</strong><br>
|
||||
* File: <strong>TransientLocalDB.java</strong><br>
|
||||
* Created: <strong>3 Feb 2020</strong><br>
|
||||
*
|
||||
* @author Kai S. K. Engelbart
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public class TransientLocalDb extends LocalDb {
|
||||
public class TransientLocalDB extends LocalDB {
|
||||
}
|
@ -11,7 +11,7 @@ import javax.naming.TimeLimitExceededException;
|
||||
|
||||
import envoy.client.data.Cache;
|
||||
import envoy.client.data.ClientConfig;
|
||||
import envoy.client.data.LocalDb;
|
||||
import envoy.client.data.LocalDB;
|
||||
import envoy.client.event.SendEvent;
|
||||
import envoy.data.*;
|
||||
import envoy.event.*;
|
||||
@ -117,7 +117,7 @@ public class Client implements Closeable {
|
||||
* Initializes the {@link Receiver} used to process data sent from the server to
|
||||
* this client.
|
||||
*
|
||||
* @param localDb the local database used to persist the current
|
||||
* @param localDB the local database used to persist the current
|
||||
* {@link IdGenerator}
|
||||
* @param receivedMessageCache a message cache containing all unread messages
|
||||
* from the server that can be relayed after
|
||||
@ -126,7 +126,7 @@ public class Client implements Closeable {
|
||||
* requested from the server
|
||||
* @since Envoy Client v0.2-alpha
|
||||
*/
|
||||
public void initReceiver(LocalDb localDb, Cache<Message> receivedMessageCache) throws IOException {
|
||||
public void initReceiver(LocalDB localDB, Cache<Message> receivedMessageCache) throws IOException {
|
||||
checkOnline();
|
||||
|
||||
// Process incoming messages
|
||||
@ -140,10 +140,10 @@ public class Client implements Closeable {
|
||||
receiver.registerProcessor(MessageStatusChangeEvent.class, new MessageStatusChangeEventProcessor());
|
||||
|
||||
// Process user status changes
|
||||
receiver.registerProcessor(UserStatusChangeEvent.class, new UserStatusChangeProcessor(localDb));
|
||||
receiver.registerProcessor(UserStatusChangeEvent.class, new UserStatusChangeProcessor(localDB));
|
||||
|
||||
// Process message ID generation
|
||||
receiver.registerProcessor(IdGenerator.class, localDb::setIdGenerator);
|
||||
receiver.registerProcessor(IdGenerator.class, localDB::setIdGenerator);
|
||||
|
||||
// Process contact searches
|
||||
receiver.registerProcessor(ContactSearchResult.class, EventBus.getInstance()::dispatch);
|
||||
@ -161,19 +161,19 @@ public class Client implements Closeable {
|
||||
});
|
||||
|
||||
// Request a generator if none is present or the existing one is consumed
|
||||
if (!localDb.hasIdGenerator() || !localDb.getIdGenerator().hasNext()) requestIdGenerator();
|
||||
if (!localDB.hasIdGenerator() || !localDB.getIdGenerator().hasNext()) requestIdGenerator();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new write proxy that uses this client to communicate with the
|
||||
* server.
|
||||
*
|
||||
* @param localDb the local database that the write proxy will use to access
|
||||
* @param localDB the local database that the write proxy will use to access
|
||||
* caches
|
||||
* @return a new write proxy
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public WriteProxy createWriteProxy(LocalDb localDb) { return new WriteProxy(this, localDb); }
|
||||
public WriteProxy createWriteProxy(LocalDB localDB) { return new WriteProxy(this, localDB); }
|
||||
|
||||
/**
|
||||
* Sends a message to the server. The message's status will be incremented once
|
||||
|
@ -2,7 +2,7 @@ package envoy.client.net;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import envoy.client.data.LocalDb;
|
||||
import envoy.client.data.LocalDB;
|
||||
import envoy.event.EventBus;
|
||||
import envoy.event.UserStatusChangeEvent;
|
||||
|
||||
@ -16,17 +16,17 @@ import envoy.event.UserStatusChangeEvent;
|
||||
*/
|
||||
public class UserStatusChangeProcessor implements Consumer<UserStatusChangeEvent> {
|
||||
|
||||
private final LocalDb localDb;
|
||||
private final LocalDB localDB;
|
||||
|
||||
/**
|
||||
* @param localDb the local database in which status updates will by applied
|
||||
* @param localDB the local database in which status updates will by applied
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public UserStatusChangeProcessor(LocalDb localDb) { this.localDb = localDb; }
|
||||
public UserStatusChangeProcessor(LocalDB localDB) { this.localDB = localDB; }
|
||||
|
||||
@Override
|
||||
public void accept(UserStatusChangeEvent evt) {
|
||||
localDb.getUsers().values().stream().filter(u -> u.getId() == evt.getId()).findFirst().get().setStatus(evt.get());
|
||||
localDB.getUsers().values().stream().filter(u -> u.getId() == evt.getId()).findFirst().get().setStatus(evt.get());
|
||||
EventBus.getInstance().dispatch(evt);
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import java.io.IOException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import envoy.client.data.LocalDb;
|
||||
import envoy.client.data.LocalDB;
|
||||
import envoy.data.Message;
|
||||
import envoy.event.MessageStatusChangeEvent;
|
||||
import envoy.util.EnvoyLog;
|
||||
@ -12,7 +12,7 @@ import envoy.util.EnvoyLog;
|
||||
/**
|
||||
* Implements methods to send {@link Message}s and
|
||||
* {@link MessageStatusChangeEvent}s to the server or cache them inside a
|
||||
* {@link LocalDb} depending on the online status.<br>
|
||||
* {@link LocalDB} depending on the online status.<br>
|
||||
* <br>
|
||||
* Project: <strong>envoy-client</strong><br>
|
||||
* File: <strong>WriteProxy.java</strong><br>
|
||||
@ -24,7 +24,7 @@ import envoy.util.EnvoyLog;
|
||||
public class WriteProxy {
|
||||
|
||||
private final Client client;
|
||||
private final LocalDb localDb;
|
||||
private final LocalDB localDB;
|
||||
|
||||
private static final Logger logger = EnvoyLog.getLogger(WriteProxy.class);
|
||||
|
||||
@ -34,27 +34,27 @@ public class WriteProxy {
|
||||
*
|
||||
* @param client the client used to send messages and message status change
|
||||
* events
|
||||
* @param localDb the local database used to cache messages and message status
|
||||
* @param localDB the local database used to cache messages and message status
|
||||
* change events
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public WriteProxy(Client client, LocalDb localDb) {
|
||||
public WriteProxy(Client client, LocalDB localDB) {
|
||||
this.client = client;
|
||||
this.localDb = localDb;
|
||||
this.localDB = localDB;
|
||||
|
||||
// Initialize cache processors for messages and message status change events
|
||||
localDb.getMessageCache().setProcessor(msg -> {
|
||||
localDB.getMessageCache().setProcessor(msg -> {
|
||||
try {
|
||||
logger.finer("Sending cached " + msg);
|
||||
client.sendMessage(msg);
|
||||
|
||||
// Update message state to SENT in local db
|
||||
localDb.getMessage(msg.getId()).nextStatus();
|
||||
localDB.getMessage(msg.getId()).nextStatus();
|
||||
} catch (IOException e) {
|
||||
logger.log(Level.SEVERE, "Could not send cached message", e);
|
||||
}
|
||||
});
|
||||
localDb.getStatusCache().setProcessor(evt -> {
|
||||
localDB.getStatusCache().setProcessor(evt -> {
|
||||
logger.finer("Sending cached " + evt);
|
||||
try {
|
||||
client.sendEvent(evt);
|
||||
@ -72,10 +72,10 @@ public class WriteProxy {
|
||||
*/
|
||||
public void flushCache() {
|
||||
// Send messages
|
||||
localDb.getMessageCache().relay();
|
||||
localDB.getMessageCache().relay();
|
||||
|
||||
// Send message status change events
|
||||
localDb.getStatusCache().relay();
|
||||
localDB.getStatusCache().relay();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -88,7 +88,7 @@ public class WriteProxy {
|
||||
*/
|
||||
public void writeMessage(Message message) throws IOException {
|
||||
if (client.isOnline()) client.sendMessage(message);
|
||||
else localDb.getMessageCache().accept(message);
|
||||
else localDB.getMessageCache().accept(message);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,6 +101,6 @@ public class WriteProxy {
|
||||
*/
|
||||
public void writeMessageStatusChangeEvent(MessageStatusChangeEvent evt) throws IOException {
|
||||
if (client.isOnline()) client.sendEvent(evt);
|
||||
else localDb.getStatusCache().accept(evt);
|
||||
else localDB.getStatusCache().accept(evt);
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
|
||||
import envoy.client.data.Chat;
|
||||
import envoy.client.data.LocalDb;
|
||||
import envoy.client.data.LocalDB;
|
||||
import envoy.client.data.Settings;
|
||||
import envoy.client.event.MessageCreationEvent;
|
||||
import envoy.client.event.ThemeChangeEvent;
|
||||
@ -63,7 +63,7 @@ public class ChatWindow extends JFrame {
|
||||
// User specific objects
|
||||
private Client client;
|
||||
private WriteProxy writeProxy;
|
||||
private LocalDb localDb;
|
||||
private LocalDB localDB;
|
||||
private Chat currentChat;
|
||||
|
||||
// GUI components
|
||||
@ -132,7 +132,7 @@ public class ChatWindow extends JFrame {
|
||||
Map<String, ActionListener> commands = Map.of("forward selected message", evt -> {
|
||||
final Message selectedMessage = messageList.getSingleSelectedElement();
|
||||
List<User> chosenContacts = ContactsChooserDialog
|
||||
.showForwardingDialog("Forward selected message to", null, selectedMessage, localDb.getUsers().values());
|
||||
.showForwardingDialog("Forward selected message to", null, selectedMessage, localDB.getUsers().values());
|
||||
if (chosenContacts != null && chosenContacts.size() > 0) forwardMessage(selectedMessage, chosenContacts.toArray(new User[0]));
|
||||
}, "copy", evt -> {
|
||||
// TODO should be enhanced to allow also copying of message attachments,
|
||||
@ -242,7 +242,7 @@ public class ChatWindow extends JFrame {
|
||||
userList.setCellRenderer(new UserListRenderer());
|
||||
userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
userList.addListSelectionListener((listSelectionEvent) -> {
|
||||
if (client != null && localDb != null && !listSelectionEvent.getValueIsAdjusting()) {
|
||||
if (client != null && localDB != null && !listSelectionEvent.getValueIsAdjusting()) {
|
||||
final JList<User> selectedUserList = (JList<User>) listSelectionEvent.getSource();
|
||||
final User user = selectedUserList.getSelectedValue();
|
||||
|
||||
@ -250,7 +250,7 @@ public class ChatWindow extends JFrame {
|
||||
if (contentPane.getComponent(i).equals(searchPane)) drawChatBox(gbc_scrollPane);
|
||||
if (user != null) {
|
||||
// Select current chat
|
||||
currentChat = localDb.getChats().stream().filter(chat -> chat.getRecipient().getId() == user.getId()).findFirst().get();
|
||||
currentChat = localDB.getChats().stream().filter(chat -> chat.getRecipient().getId() == user.getId()).findFirst().get();
|
||||
|
||||
// Read current chat
|
||||
readCurrentChat();
|
||||
@ -412,7 +412,7 @@ public class ChatWindow extends JFrame {
|
||||
// Listen to received messages
|
||||
EventBus.getInstance().register(MessageCreationEvent.class, evt -> {
|
||||
Message message = evt.get();
|
||||
Chat chat = localDb.getChats().stream().filter(c -> c.getRecipient().getId() == message.getSenderId()).findFirst().get();
|
||||
Chat chat = localDB.getChats().stream().filter(c -> c.getRecipient().getId() == message.getSenderId()).findFirst().get();
|
||||
chat.appendMessage(message);
|
||||
|
||||
// Read message and update UI if in current chat
|
||||
@ -427,7 +427,7 @@ public class ChatWindow extends JFrame {
|
||||
final long id = evt.getId();
|
||||
final MessageStatus status = evt.get();
|
||||
|
||||
for (Chat c : localDb.getChats())
|
||||
for (Chat c : localDB.getChats())
|
||||
for (Message m : c.getModel())
|
||||
if (m.getId() == id) {
|
||||
|
||||
@ -466,8 +466,8 @@ public class ChatWindow extends JFrame {
|
||||
|
||||
// Update LocalDB
|
||||
userListModel.addElement(contact);
|
||||
localDb.getUsers().put(contact.getName(), contact);
|
||||
localDb.getChats().add(new Chat(contact));
|
||||
localDB.getUsers().put(contact.getName(), contact);
|
||||
localDB.getChats().add(new Chat(contact));
|
||||
|
||||
revalidate();
|
||||
repaint();
|
||||
@ -543,7 +543,7 @@ public class ChatWindow extends JFrame {
|
||||
if (!text.isEmpty()) checkMessageTextLength();
|
||||
|
||||
// Create message
|
||||
final Message message = new MessageBuilder(localDb.getUser().getId(), currentChat.getRecipient().getId(), localDb.getIdGenerator())
|
||||
final Message message = new MessageBuilder(localDB.getUser().getId(), currentChat.getRecipient().getId(), localDB.getIdGenerator())
|
||||
.setText(text)
|
||||
.build();
|
||||
sendMessage(message);
|
||||
@ -561,7 +561,7 @@ public class ChatWindow extends JFrame {
|
||||
*/
|
||||
private void forwardMessage(Message message, User... recipients) {
|
||||
Arrays.stream(recipients).forEach(recipient -> {
|
||||
if (message != null && recipients != null) sendMessage(new MessageBuilder(message, recipient.getId(), localDb.getIdGenerator()).build());
|
||||
if (message != null && recipients != null) sendMessage(new MessageBuilder(message, recipient.getId(), localDB.getIdGenerator()).build());
|
||||
else throw new NullPointerException("No recipient or no message selected");
|
||||
});
|
||||
|
||||
@ -583,7 +583,7 @@ public class ChatWindow extends JFrame {
|
||||
// Send message
|
||||
writeProxy.writeMessage(message);
|
||||
|
||||
// Add message to PersistentLocalDb and update UI
|
||||
// Add message to PersistentLocalDB and update UI
|
||||
currentChat.appendMessage(message);
|
||||
|
||||
// Update UI
|
||||
@ -591,7 +591,7 @@ public class ChatWindow extends JFrame {
|
||||
repaint();
|
||||
|
||||
// Request a new id generator if all IDs were used
|
||||
if (!localDb.getIdGenerator().hasNext()) client.requestIdGenerator();
|
||||
if (!localDB.getIdGenerator().hasNext()) client.requestIdGenerator();
|
||||
|
||||
} catch (Exception e) {
|
||||
JOptionPane.showMessageDialog(this, "Error sending message:\n" + e.toString(), "Message sending error", JOptionPane.ERROR_MESSAGE);
|
||||
@ -634,27 +634,27 @@ public class ChatWindow extends JFrame {
|
||||
* This will trigger the display of the contact list.
|
||||
*
|
||||
* @param client the client used to send and receive messages
|
||||
* @param localDb the local database used to manage stored messages
|
||||
* @param localDB the local database used to manage stored messages
|
||||
* and users
|
||||
* @param writeProxy the write proxy used to send messages and status change
|
||||
* events to the server or cache them inside the local
|
||||
* database
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public void initContent(Client client, LocalDb localDb, WriteProxy writeProxy) {
|
||||
public void initContent(Client client, LocalDB localDB, WriteProxy writeProxy) {
|
||||
this.client = client;
|
||||
this.localDb = localDb;
|
||||
this.localDB = localDB;
|
||||
this.writeProxy = writeProxy;
|
||||
|
||||
messageList.setRenderer((list, message) -> new MessageComponent(list, message, client.getSender().getId()));
|
||||
|
||||
// Load users and chats
|
||||
new Thread(() -> {
|
||||
localDb.getUsers().values().forEach(user -> {
|
||||
localDB.getUsers().values().forEach(user -> {
|
||||
userListModel.addElement(user);
|
||||
|
||||
// Check if user exists in local DB
|
||||
if (localDb.getChats().stream().noneMatch(c -> c.getRecipient().getId() == user.getId())) localDb.getChats().add(new Chat(user));
|
||||
if (localDB.getChats().stream().noneMatch(c -> c.getRecipient().getId() == user.getId())) localDB.getChats().add(new Chat(user));
|
||||
});
|
||||
SwingUtilities.invokeLater(() -> userList.setModel(userListModel));
|
||||
|
||||
|
@ -60,7 +60,7 @@ public class LoginDialog extends JDialog {
|
||||
private LoginCredentials credentials;
|
||||
|
||||
private final Client client;
|
||||
private final LocalDb localDb;
|
||||
private final LocalDB localDB;
|
||||
private final Cache<Message> receivedMessageCache;
|
||||
|
||||
private static final ClientConfig config = ClientConfig.getInstance();
|
||||
@ -71,18 +71,18 @@ public class LoginDialog extends JDialog {
|
||||
* Displays a dialog enabling the user to enter their user name and password.
|
||||
*
|
||||
* @param client the client used to perform the handshake
|
||||
* @param localDb the local database in which data is persisted
|
||||
* @param localDB the local database in which data is persisted
|
||||
* @param receivedMessageCache the cache that stored messages received during
|
||||
* the handshake
|
||||
* @since Envoy Client v0.3-alpha
|
||||
*/
|
||||
public LoginDialog(Client client, LocalDb localDb, Cache<Message> receivedMessageCache) {
|
||||
public LoginDialog(Client client, LocalDB localDB, Cache<Message> receivedMessageCache) {
|
||||
this.client = client;
|
||||
this.localDb = localDb;
|
||||
this.localDB = localDB;
|
||||
this.receivedMessageCache = receivedMessageCache;
|
||||
|
||||
// Prepare handshake
|
||||
localDb.loadIdGenerator();
|
||||
localDB.loadIdGenerator();
|
||||
|
||||
addWindowListener(new WindowAdapter() {
|
||||
|
||||
@ -134,7 +134,7 @@ public class LoginDialog extends JDialog {
|
||||
try {
|
||||
client.performHandshake(credentials, receivedMessageCache);
|
||||
if (client.isOnline()) {
|
||||
client.initReceiver(localDb, receivedMessageCache);
|
||||
client.initReceiver(localDB, receivedMessageCache);
|
||||
dispose();
|
||||
}
|
||||
} catch (IOException | InterruptedException | TimeLimitExceededException e) {
|
||||
@ -142,8 +142,8 @@ public class LoginDialog extends JDialog {
|
||||
e.printStackTrace();
|
||||
try {
|
||||
// Try entering offline mode
|
||||
localDb.loadUsers();
|
||||
User clientUser = localDb.getUsers().get(credentials.getIdentifier());
|
||||
localDB.loadUsers();
|
||||
User clientUser = localDB.getUsers().get(credentials.getIdentifier());
|
||||
if (clientUser == null) throw new EnvoyException("Could not enter offline mode: user name unknown");
|
||||
client.setSender(clientUser);
|
||||
JOptionPane.showMessageDialog(null,
|
||||
|
Reference in New Issue
Block a user