Started integration of new server architecture
* Removed JAX-RS dependency from POM * Changed version in POM to 0.3-alpha The errors that appear throughout LocalDB and Client are caused by the architecture change and will be removed in future commits.
This commit is contained in:
parent
c1182a97fe
commit
88c810c2f4
14
pom.xml
14
pom.xml
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<groupId>informatik-ag-ngl</groupId>
|
<groupId>informatik-ag-ngl</groupId>
|
||||||
<artifactId>envoy-client</artifactId>
|
<artifactId>envoy-client</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.3-alpha</version>
|
||||||
|
|
||||||
<name>Envoy Client</name>
|
<name>Envoy Client</name>
|
||||||
<url>https://github.com/informatik-ag-ngl/envoy-client</url>
|
<url>https://github.com/informatik-ag-ngl/envoy-client</url>
|
||||||
@ -18,20 +18,10 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>org.jboss.resteasy</groupId>
|
|
||||||
<artifactId>resteasy-client</artifactId>
|
|
||||||
<version>4.1.1.Final</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.jboss.resteasy</groupId>
|
|
||||||
<artifactId>resteasy-jaxb-provider</artifactId>
|
|
||||||
<version>4.3.1.Final</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>informatik-ag-ngl</groupId>
|
<groupId>informatik-ag-ngl</groupId>
|
||||||
<artifactId>envoy-common</artifactId>
|
<artifactId>envoy-common</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.2-alpha</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@ import java.io.Serializable;
|
|||||||
|
|
||||||
import javax.swing.DefaultListModel;
|
import javax.swing.DefaultListModel;
|
||||||
|
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
import envoy.schema.User;
|
import envoy.data.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a chat between two {@link User}s <br>
|
* Represents a chat between two {@link User}s <br>
|
||||||
|
@ -14,10 +14,8 @@ import javax.xml.bind.JAXBException;
|
|||||||
import javax.xml.bind.Marshaller;
|
import javax.xml.bind.Marshaller;
|
||||||
|
|
||||||
import envoy.client.util.EnvoyLog;
|
import envoy.client.util.EnvoyLog;
|
||||||
|
import envoy.data.User;
|
||||||
import envoy.exception.EnvoyException;
|
import envoy.exception.EnvoyException;
|
||||||
import envoy.schema.ObjectFactory;
|
|
||||||
import envoy.schema.Sync;
|
|
||||||
import envoy.schema.User;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
@ -31,7 +29,6 @@ import envoy.schema.User;
|
|||||||
*/
|
*/
|
||||||
public class Client {
|
public class Client {
|
||||||
|
|
||||||
private ObjectFactory objectFactory = new ObjectFactory();
|
|
||||||
private Config config;
|
private Config config;
|
||||||
private User sender, recipient;
|
private User sender, recipient;
|
||||||
private boolean online = false;
|
private boolean online = false;
|
||||||
|
@ -2,10 +2,10 @@ package envoy.client;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import javax.naming.spi.ObjectFactory;
|
||||||
import javax.xml.datatype.DatatypeConfigurationException;
|
import javax.xml.datatype.DatatypeConfigurationException;
|
||||||
import javax.xml.datatype.DatatypeFactory;
|
import javax.xml.datatype.DatatypeFactory;
|
||||||
|
|
||||||
@ -13,9 +13,9 @@ import envoy.client.event.EventBus;
|
|||||||
import envoy.client.event.MessageCreationEvent;
|
import envoy.client.event.MessageCreationEvent;
|
||||||
import envoy.client.util.EnvoyLog;
|
import envoy.client.util.EnvoyLog;
|
||||||
import envoy.client.util.SerializationUtils;
|
import envoy.client.util.SerializationUtils;
|
||||||
|
import envoy.data.Message;
|
||||||
|
import envoy.data.User;
|
||||||
import envoy.exception.EnvoyException;
|
import envoy.exception.EnvoyException;
|
||||||
import envoy.schema.*;
|
|
||||||
import envoy.schema.Message.Metadata.MessageState;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
@ -73,7 +73,7 @@ public class LocalDB {
|
|||||||
*/
|
*/
|
||||||
public void initializeDBFile() {
|
public void initializeDBFile() {
|
||||||
if (user == null) throw new NullPointerException("Client user is null");
|
if (user == null) throw new NullPointerException("Client user is null");
|
||||||
localDBFile = new File(localDBDir, user.getID() + ".db");
|
localDBFile = new File(localDBDir, user.getId() + ".db");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -107,32 +107,6 @@ public class LocalDB {
|
|||||||
*/
|
*/
|
||||||
public void loadChats() throws EnvoyException { chats = SerializationUtils.read(localDBFile, ArrayList.class); }
|
public void loadChats() throws EnvoyException { chats = SerializationUtils.read(localDBFile, ArrayList.class); }
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a {@link Message} object serializable to XML.
|
|
||||||
*
|
|
||||||
* @param textContent The content (text) of the message
|
|
||||||
* @param recipientID The recipient of the message
|
|
||||||
* @return prepared {@link Message} object
|
|
||||||
* @since Envoy v0.1-alpha
|
|
||||||
*/
|
|
||||||
public Message createMessage(String textContent, long recipientID) {
|
|
||||||
Message.Metadata metaData = objectFactory.createMessageMetadata();
|
|
||||||
metaData.setSender(user.getID());
|
|
||||||
metaData.setRecipient(recipientID);
|
|
||||||
metaData.setState(MessageState.WAITING);
|
|
||||||
metaData.setDate(datatypeFactory.newXMLGregorianCalendar(Instant.now().toString()));
|
|
||||||
|
|
||||||
Message.Content content = objectFactory.createMessageContent();
|
|
||||||
content.setType("text");
|
|
||||||
content.setText(textContent);
|
|
||||||
|
|
||||||
Message message = objectFactory.createMessage();
|
|
||||||
message.setMetadata(metaData);
|
|
||||||
message.getContent().add(content);
|
|
||||||
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a {@link Sync} object filled with the changes that occurred to the
|
* Creates a {@link Sync} object filled with the changes that occurred to the
|
||||||
* local database since the last synchronization.
|
* local database since the last synchronization.
|
||||||
@ -181,7 +155,7 @@ public class LocalDB {
|
|||||||
} else {
|
} else {
|
||||||
// Update Messages in localDB to state RECEIVED
|
// Update Messages in localDB to state RECEIVED
|
||||||
for (Chat chat : getChats())
|
for (Chat chat : getChats())
|
||||||
if (chat.getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient())
|
if (chat.getRecipient().getId() == returnSync.getMessages().get(i).getMetadata().getRecipient())
|
||||||
for (int j = 0; j < chat.getModel().getSize(); j++)
|
for (int j = 0; j < chat.getModel().getSize(); j++)
|
||||||
if (chat.getModel().get(j).getMetadata().getMessageId() == returnSync.getMessages()
|
if (chat.getModel().get(j).getMetadata().getMessageId() == returnSync.getMessages()
|
||||||
.get(i)
|
.get(i)
|
||||||
@ -195,8 +169,8 @@ public class LocalDB {
|
|||||||
logger.info("Message with ID: " + returnSync.getMessages().get(i).getMetadata().getMessageId()
|
logger.info("Message with ID: " + returnSync.getMessages().get(i).getMetadata().getMessageId()
|
||||||
+ "was initialized to be set to READ in localDB.");
|
+ "was initialized to be set to READ in localDB.");
|
||||||
for (Chat chat : getChats())
|
for (Chat chat : getChats())
|
||||||
if (chat.getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient()) {
|
if (chat.getRecipient().getId() == returnSync.getMessages().get(i).getMetadata().getRecipient()) {
|
||||||
logger.info("Chat with: " + chat.getRecipient().getID() + "was selected.");
|
logger.info("Chat with: " + chat.getRecipient().getId() + "was selected.");
|
||||||
for (int k = 0; k < chat.getModel().getSize(); k++)
|
for (int k = 0; k < chat.getModel().getSize(); k++)
|
||||||
if (chat.getModel().get(k).getMetadata().getMessageId() == returnSync.getMessages()
|
if (chat.getModel().get(k).getMetadata().getMessageId() == returnSync.getMessages()
|
||||||
.get(i)
|
.get(i)
|
||||||
@ -215,7 +189,7 @@ public class LocalDB {
|
|||||||
// Updating UserStatus of all users in LocalDB
|
// Updating UserStatus of all users in LocalDB
|
||||||
for (User user : returnSync.getUsers())
|
for (User user : returnSync.getUsers())
|
||||||
for (Chat chat : getChats())
|
for (Chat chat : getChats())
|
||||||
if (user.getID() == chat.getRecipient().getID()) chat.getRecipient().setStatus(user.getStatus());
|
if (user.getId() == chat.getRecipient().getId()) chat.getRecipient().setStatus(user.getStatus());
|
||||||
|
|
||||||
sync.getMessages().clear();
|
sync.getMessages().clear();
|
||||||
sync.getUsers().clear();
|
sync.getUsers().clear();
|
||||||
@ -230,7 +204,7 @@ public class LocalDB {
|
|||||||
public void addUnreadMessagesToLocalDB() {
|
public void addUnreadMessagesToLocalDB() {
|
||||||
for (Message message : unreadMessagesSync.getMessages())
|
for (Message message : unreadMessagesSync.getMessages())
|
||||||
for (Chat chat : getChats())
|
for (Chat chat : getChats())
|
||||||
if (message.getMetadata().getSender() == chat.getRecipient().getID()) {
|
if (message.getMetadata().getSender() == chat.getRecipient().getId()) {
|
||||||
chat.appendMessage(message);
|
chat.appendMessage(message);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -247,7 +221,7 @@ public class LocalDB {
|
|||||||
*/
|
*/
|
||||||
public void setMessagesToRead(Chat currentChat) {
|
public void setMessagesToRead(Chat currentChat) {
|
||||||
for (int i = currentChat.getModel().size() - 1; i >= 0; --i)
|
for (int i = currentChat.getModel().size() - 1; i >= 0; --i)
|
||||||
if (currentChat.getModel().get(i).getMetadata().getRecipient() != currentChat.getRecipient().getID())
|
if (currentChat.getModel().get(i).getMetadata().getRecipient() != currentChat.getRecipient().getId())
|
||||||
if (currentChat.getModel().get(i).getMetadata().getState() == MessageState.RECEIVED) {
|
if (currentChat.getModel().get(i).getMetadata().getState() == MessageState.RECEIVED) {
|
||||||
currentChat.getModel().get(i).getMetadata().setState(MessageState.READ);
|
currentChat.getModel().get(i).getMetadata().setState(MessageState.READ);
|
||||||
readMessages.getMessages().add(currentChat.getModel().get(i));
|
readMessages.getMessages().add(currentChat.getModel().get(i));
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package envoy.client.event;
|
package envoy.client.event;
|
||||||
|
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package envoy.client.event;
|
package envoy.client.event;
|
||||||
|
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package envoy.client.event;
|
package envoy.client.event;
|
||||||
|
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
|
@ -14,8 +14,9 @@ import envoy.client.event.EventBus;
|
|||||||
import envoy.client.event.ThemeChangeEvent;
|
import envoy.client.event.ThemeChangeEvent;
|
||||||
import envoy.client.ui.settings.SettingsScreen;
|
import envoy.client.ui.settings.SettingsScreen;
|
||||||
import envoy.client.util.EnvoyLog;
|
import envoy.client.util.EnvoyLog;
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
import envoy.schema.User;
|
import envoy.data.TextMessage;
|
||||||
|
import envoy.data.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
@ -164,7 +165,7 @@ public class ChatWindow extends JFrame {
|
|||||||
final JList<User> selectedUserList = (JList<User>) listSelectionEvent.getSource();
|
final JList<User> selectedUserList = (JList<User>) listSelectionEvent.getSource();
|
||||||
final User user = selectedUserList.getSelectedValue();
|
final User user = selectedUserList.getSelectedValue();
|
||||||
|
|
||||||
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();
|
||||||
|
|
||||||
// Set all unread messages in the chat to read
|
// Set all unread messages in the chat to read
|
||||||
readCurrentChat();
|
readCurrentChat();
|
||||||
@ -246,7 +247,7 @@ public class ChatWindow extends JFrame {
|
|||||||
if (!messageEnterTextArea.getText().isEmpty()) try {
|
if (!messageEnterTextArea.getText().isEmpty()) try {
|
||||||
|
|
||||||
// Create and send message object
|
// Create and send message object
|
||||||
final Message message = localDB.createMessage(messageEnterTextArea.getText(), currentChat.getRecipient().getID());
|
final Message message = new TextMessage(0, localDB.getUser(), currentChat.getRecipient(), messageEnterTextArea.getText());
|
||||||
currentChat.appendMessage(message);
|
currentChat.appendMessage(message);
|
||||||
messageList.setModel(currentChat.getModel());
|
messageList.setModel(currentChat.getModel());
|
||||||
|
|
||||||
@ -275,7 +276,7 @@ public class ChatWindow extends JFrame {
|
|||||||
userListModel.addElement(user);
|
userListModel.addElement(user);
|
||||||
|
|
||||||
// Check if user exists in local DB
|
// Check if user exists in local DB
|
||||||
if (localDB.getChats().stream().filter(c -> c.getRecipient().getID() == user.getID()).count() == 0)
|
if (localDB.getChats().stream().filter(c -> c.getRecipient().getId() == user.getId()).count() == 0)
|
||||||
localDB.getChats().add(new Chat(user));
|
localDB.getChats().add(new Chat(user));
|
||||||
});
|
});
|
||||||
SwingUtilities.invokeLater(() -> userList.setModel(userListModel));
|
SwingUtilities.invokeLater(() -> userList.setModel(userListModel));
|
||||||
@ -296,7 +297,7 @@ public class ChatWindow extends JFrame {
|
|||||||
|
|
||||||
// Synchronize
|
// Synchronize
|
||||||
try {
|
try {
|
||||||
localDB.applySync(client.sendSync(client.getSender().getID(), localDB.fillSync(client.getSender().getID())));
|
localDB.applySync(client.sendSync(client.getSender().getId(), localDB.fillSync(client.getSender().getId())));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.log(Level.SEVERE, "Could not perform sync", e);
|
logger.log(Level.SEVERE, "Could not perform sync", e);
|
||||||
}
|
}
|
||||||
@ -317,7 +318,7 @@ public class ChatWindow extends JFrame {
|
|||||||
private void updateUserStates() {
|
private void updateUserStates() {
|
||||||
for (int i = 0; i < userList.getModel().getSize(); i++)
|
for (int i = 0; i < userList.getModel().getSize(); i++)
|
||||||
for (int j = 0; j < localDB.getChats().size(); j++)
|
for (int j = 0; j < localDB.getChats().size(); j++)
|
||||||
if (userList.getModel().getElementAt(i).getID() == localDB.getChats().get(j).getRecipient().getID())
|
if (userList.getModel().getElementAt(i).getId() == localDB.getChats().get(j).getRecipient().getId())
|
||||||
userList.getModel().getElementAt(i).setStatus(localDB.getChats().get(j).getRecipient().getStatus());
|
userList.getModel().getElementAt(i).setStatus(localDB.getChats().get(j).getRecipient().getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,8 @@ import javax.swing.JList;
|
|||||||
import javax.swing.ListCellRenderer;
|
import javax.swing.ListCellRenderer;
|
||||||
|
|
||||||
import envoy.client.Settings;
|
import envoy.client.Settings;
|
||||||
import envoy.schema.Message;
|
import envoy.data.Message;
|
||||||
|
import envoy.data.TextMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines how a message is displayed.<br>
|
* Defines how a message is displayed.<br>
|
||||||
@ -37,19 +38,18 @@ public class MessageListRenderer extends JLabel implements ListCellRenderer<Mess
|
|||||||
|
|
||||||
setOpaque(true);
|
setOpaque(true);
|
||||||
|
|
||||||
final String text = value.getContent().get(0).getText();
|
// TODO: Handle other message types
|
||||||
final String state = value.getMetadata().getState().toString();
|
final TextMessage message = (TextMessage) value;
|
||||||
final String date = value.getMetadata().getDate() == null ? ""
|
|
||||||
: new SimpleDateFormat("dd.MM.yyyy HH:mm ").format(value.getMetadata().getDate().toGregorianCalendar().getTime());
|
final String text = message.getContent();
|
||||||
|
final String state = message.getStatus().toString();
|
||||||
|
final String date = new SimpleDateFormat("dd.MM.yyyy HH.mm").format(message.getDate());
|
||||||
|
|
||||||
// Getting the MessageColor in the Chat of the current theme
|
// Getting the MessageColor in the Chat of the current theme
|
||||||
String textColor = null;
|
String textColor = Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()).getMessageColorChat().toHex();
|
||||||
|
|
||||||
textColor = Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()).getMessageColorChat().toHex();
|
|
||||||
|
|
||||||
// Getting the DateColor in the Chat of the current theme
|
// Getting the DateColor in the Chat of the current theme
|
||||||
String dateColor = null;
|
String dateColor = Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()).getDateColorChat().toHex();
|
||||||
dateColor = Settings.getInstance().getThemes().get(Settings.getInstance().getCurrentTheme()).getDateColorChat().toHex();
|
|
||||||
|
|
||||||
setText(String.format("<html><p style=\"color:%s\"><b><small>%s</b></small><br><p style=\"color:%s\">%s :%s</html>",
|
setText(String.format("<html><p style=\"color:%s\"><b><small>%s</b></small><br><p style=\"color:%s\">%s :%s</html>",
|
||||||
dateColor,
|
dateColor,
|
||||||
|
@ -12,8 +12,8 @@ import javax.swing.SwingUtilities;
|
|||||||
|
|
||||||
import envoy.client.*;
|
import envoy.client.*;
|
||||||
import envoy.client.util.EnvoyLog;
|
import envoy.client.util.EnvoyLog;
|
||||||
|
import envoy.data.User;
|
||||||
import envoy.exception.EnvoyException;
|
import envoy.exception.EnvoyException;
|
||||||
import envoy.schema.User;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts the Envoy client and prompts the user to enter their name.<br>
|
* Starts the Envoy client and prompts the user to enter their name.<br>
|
||||||
@ -129,7 +129,7 @@ public class Startup {
|
|||||||
JOptionPane.WARNING_MESSAGE);
|
JOptionPane.WARNING_MESSAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.info("Client user ID: " + client.getSender().getID());
|
logger.info("Client user ID: " + client.getSender().getId());
|
||||||
|
|
||||||
// Save all users to the local database
|
// Save all users to the local database
|
||||||
if (client.isOnline()) localDB.setUsers(client.getUsers());
|
if (client.isOnline()) localDB.setUsers(client.getUsers());
|
||||||
|
@ -1,21 +1,15 @@
|
|||||||
package envoy.client.ui;
|
package envoy.client.ui;
|
||||||
|
|
||||||
import java.awt.AWTException;
|
import java.awt.*;
|
||||||
import java.awt.Image;
|
|
||||||
import java.awt.MenuItem;
|
|
||||||
import java.awt.PopupMenu;
|
|
||||||
import java.awt.SystemTray;
|
|
||||||
import java.awt.Toolkit;
|
|
||||||
import java.awt.TrayIcon;
|
|
||||||
import java.awt.TrayIcon.MessageType;
|
import java.awt.TrayIcon.MessageType;
|
||||||
import java.awt.Window;
|
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
import envoy.client.event.EventBus;
|
import envoy.client.event.EventBus;
|
||||||
import envoy.client.event.MessageCreationEvent;
|
import envoy.client.event.MessageCreationEvent;
|
||||||
|
import envoy.data.Message;
|
||||||
|
import envoy.data.TextMessage;
|
||||||
import envoy.exception.EnvoyException;
|
import envoy.exception.EnvoyException;
|
||||||
import envoy.schema.Message;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project: <strong>envoy-client</strong><br>
|
* Project: <strong>envoy-client</strong><br>
|
||||||
@ -81,9 +75,13 @@ public class StatusTrayIcon {
|
|||||||
trayIcon.addActionListener((evt) -> { focusTarget.setVisible(true); focusTarget.requestFocus(); });
|
trayIcon.addActionListener((evt) -> { focusTarget.setVisible(true); focusTarget.requestFocus(); });
|
||||||
|
|
||||||
// Start processing message events
|
// Start processing message events
|
||||||
EventBus.getInstance().register(MessageCreationEvent.class, (evt) -> {
|
EventBus.getInstance()
|
||||||
if (displayMessages)
|
.register(MessageCreationEvent.class,
|
||||||
trayIcon.displayMessage("New message received", ((MessageCreationEvent) evt).get().getContent().get(0).getText(), MessageType.INFO);
|
(evt) -> {
|
||||||
|
// TODO: Handle other message types
|
||||||
|
if (displayMessages) trayIcon.displayMessage("New message received",
|
||||||
|
((TextMessage) ((MessageCreationEvent) evt).get()).getContent(),
|
||||||
|
MessageType.INFO);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,8 +7,8 @@ import javax.swing.JList;
|
|||||||
import javax.swing.ListCellRenderer;
|
import javax.swing.ListCellRenderer;
|
||||||
|
|
||||||
import envoy.client.Settings;
|
import envoy.client.Settings;
|
||||||
import envoy.schema.User;
|
import envoy.data.User;
|
||||||
import envoy.schema.User.UserStatus;
|
import envoy.data.User.UserStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines how the {@code UserList} is displayed.<br>
|
* Defines how the {@code UserList} is displayed.<br>
|
||||||
|
Reference in New Issue
Block a user