Implemented changes requested by @delvh
This commit is contained in:
		| @@ -140,6 +140,13 @@ public class LocalDB { | ||||
| 		return message; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Creates a {@link Sync} object filled with the changes that occurred to the | ||||
| 	 * local database since the last synchronization. | ||||
| 	 *  | ||||
| 	 * @param userId the ID of the user that is synchronized by this client | ||||
| 	 * @return {@link Sync} object filled with the current changes | ||||
| 	 */ | ||||
| 	public Sync fillSync(long userId) { | ||||
| 		addWaitingMessagesToSync(); | ||||
|  | ||||
| @@ -150,6 +157,11 @@ public class LocalDB { | ||||
| 		return sync; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Applies the changes carried by a {@link Sync} object to the local database | ||||
| 	 *  | ||||
| 	 * @param returnSync the {@link Sync} object to apply | ||||
| 	 */ | ||||
| 	public void applySync(Sync returnSync) { | ||||
| 		for (int i = 0; i < returnSync.getMessages().size(); i++) { | ||||
|  | ||||
| @@ -173,50 +185,33 @@ public class LocalDB { | ||||
| 							EventBus.getInstance().dispatch(new MessageCreationEvent(returnSync.getMessages().get(i))); | ||||
| 						} else { | ||||
| 							// Update Messages in localDB to state RECEIVED | ||||
| 							for (int j = 0; j < getChats().size(); j++) { | ||||
| 								if (getChats().get(j).getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient()) { | ||||
| 									for (int k = 0; k < getChats().get(j).getModel().getSize(); k++) { | ||||
| 										if (getChats().get(j).getModel().get(k).getMetadata().getMessageId() == returnSync.getMessages() | ||||
| 											.get(i) | ||||
| 											.getMetadata() | ||||
| 											.getMessageId()) { | ||||
| 											// Update Message in LocalDB | ||||
| 											getChats().get(j) | ||||
| 												.getModel() | ||||
| 												.get(k) | ||||
| 												.getMetadata() | ||||
| 												.setState(returnSync.getMessages().get(j).getMetadata().getState()); | ||||
| 										} | ||||
| 									} | ||||
| 								} | ||||
| 							} | ||||
| 							for (Chat chat : getChats()) | ||||
| 								if (chat.getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient()) | ||||
| 									for (int j = 0; j < chat.getModel().getSize(); j++) | ||||
| 									if (chat.getModel().get(j).getMetadata().getMessageId() == returnSync.getMessages() | ||||
| 										.get(i) | ||||
| 										.getMetadata() | ||||
| 										.getMessageId()) | ||||
| 										chat.getModel().get(j).getMetadata().setState(returnSync.getMessages().get(i).getMetadata().getState()); | ||||
| 						} | ||||
| 						break; | ||||
| 					case READ: | ||||
| 						// Update local Messages to state READ | ||||
| 						logger.info("Message with ID: " + returnSync.getMessages().get(i).getMetadata().getMessageId() | ||||
| 								+ "was initialized to be set to READ in localDB."); | ||||
| 						for (int j = 0; j < getChats().size(); j++) { | ||||
| 							if (getChats().get(j).getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient()) { | ||||
| 								logger.info("Chat with: " + getChats().get(j).getRecipient().getID() + "was selected."); | ||||
| 								for (int k = 0; k < getChats().get(j).getModel().getSize(); k++) { | ||||
| 									if (getChats().get(j).getModel().get(k).getMetadata().getMessageId() == returnSync.getMessages() | ||||
| 						for (Chat chat : getChats()) | ||||
| 							if (chat.getRecipient().getID() == returnSync.getMessages().get(i).getMetadata().getRecipient()) { | ||||
| 								logger.info("Chat with: " + chat.getRecipient().getID() + "was selected."); | ||||
| 								for (int k = 0; k < chat.getModel().getSize(); k++) | ||||
| 									if (chat.getModel().get(k).getMetadata().getMessageId() == returnSync.getMessages() | ||||
| 										.get(i) | ||||
| 										.getMetadata() | ||||
| 										.getMessageId()) { | ||||
| 										logger.info("Message with ID: " + getChats().get(j).getModel().get(k).getMetadata().getMessageId() | ||||
| 												+ "was selected."); | ||||
| 										getChats().get(j) | ||||
| 											.getModel() | ||||
| 											.get(k) | ||||
| 											.getMetadata() | ||||
| 											.setState(returnSync.getMessages().get(i).getMetadata().getState()); | ||||
| 										logger.info( | ||||
| 												"Message State is now: " + getChats().get(j).getModel().get(k).getMetadata().getState().toString()); | ||||
| 										logger.info("Message with ID: " + chat.getModel().get(k).getMetadata().getMessageId() + "was selected."); | ||||
| 										chat.getModel().get(k).getMetadata().setState(returnSync.getMessages().get(i).getMetadata().getState()); | ||||
| 										logger.info("Message State is now: " + chat.getModel().get(k).getMetadata().getState()); | ||||
| 									} | ||||
| 								} | ||||
| 							} | ||||
| 						} | ||||
| 						break; | ||||
| 				} | ||||
| 			} | ||||
| @@ -242,9 +237,9 @@ public class LocalDB { | ||||
| 	 * @since Envoy v0.1-alpha | ||||
| 	 */ | ||||
| 	public void addUnreadMessagesToLocalDB() { | ||||
| 		for(Message message : unreadMessagesSync.getMessages()) | ||||
| 			for(Chat chat : getChats()) | ||||
| 				if(message.getMetadata().getSender() == chat.getRecipient().getID()) { | ||||
| 		for (Message message : unreadMessagesSync.getMessages()) | ||||
| 			for (Chat chat : getChats()) | ||||
| 				if (message.getMetadata().getSender() == chat.getRecipient().getID()) { | ||||
| 					chat.appendMessage(message); | ||||
| 					break; | ||||
| 				} | ||||
|   | ||||
| @@ -257,6 +257,7 @@ public class ChatWindow extends JFrame { | ||||
| 	private void postMessage(JList<Message> messageList) { | ||||
| 		if (!client.hasRecipient()) { | ||||
| 			JOptionPane.showMessageDialog(this, "Please select a recipient!", "Cannot send message", JOptionPane.INFORMATION_MESSAGE); | ||||
| 			return; | ||||
| 		} | ||||
|  | ||||
| 		if (!messageEnterTextArea.getText().isEmpty()) try { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user