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:
		
							
								
								
									
										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,10 +75,14 @@ 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