Fixed several errors in GroupResizeProcessor
* a common user was passed to the persistence manager instead of its ID * a server group was sent to its members instead of the common group
This commit is contained in:
		| @@ -18,23 +18,30 @@ import envoy.server.net.ObjectWriteProxy; | ||||
|  */ | ||||
| public class GroupResizeProcessor implements ObjectProcessor<GroupResizeEvent> { | ||||
|  | ||||
| 	PersistenceManager	persistenceManager	= PersistenceManager.getInstance(); | ||||
| 	ConnectionManager	connectionManager	= ConnectionManager.getInstance(); | ||||
| 	private static final PersistenceManager	persistenceManager	= PersistenceManager.getInstance(); | ||||
| 	private static final ConnectionManager	connectionManager	= ConnectionManager.getInstance(); | ||||
|  | ||||
| 	@Override | ||||
| 	public void process(GroupResizeEvent input, long socketID, ObjectWriteProxy writeProxy) throws IOException { | ||||
| 		envoy.server.data.Group group = persistenceManager.getGroupByID(input.getGroupID()); | ||||
|  | ||||
| 		// Acquire the group to resize from the database | ||||
| 		var group = persistenceManager.getGroupByID(input.getGroupID()); | ||||
|  | ||||
| 		// Perform the desired operation | ||||
| 		switch (input.getOperation()) { | ||||
| 			case ADD: | ||||
| 				group.getContacts().add(persistenceManager.getUserByID(input.get())); | ||||
| 				group.getContacts().add(persistenceManager.getUserByID(input.get().getID())); | ||||
| 				break; | ||||
|  | ||||
| 			case REMOVE: | ||||
| 				group.getContacts().remove(persistenceManager.getUserByID(input.get())); | ||||
| 				group.getContacts().remove(persistenceManager.getUserByID(input.get().getID())); | ||||
| 				break; | ||||
| 		} | ||||
|  | ||||
| 		// Update the group in the database | ||||
| 		persistenceManager.updateContact(group); | ||||
| 		writeProxy.write(socketID, group); | ||||
|  | ||||
| 		// Send the updated group to all of its members | ||||
| 		var commonGroup = group.toCommon(); | ||||
| 		group.getContacts() | ||||
| 			.stream() | ||||
| 			.map(Contact::getID) | ||||
| @@ -42,7 +49,7 @@ public class GroupResizeProcessor implements ObjectProcessor<GroupResizeEvent> { | ||||
| 			.map(connectionManager::getSocketId) | ||||
| 			.forEach(memberSocketID -> { | ||||
| 				try { | ||||
| 					writeProxy.write(memberSocketID, group); | ||||
| 						writeProxy.write(memberSocketID, commonGroup); | ||||
| 				} catch (IOException e) { | ||||
| 					e.printStackTrace(); | ||||
| 				} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user