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