Added ContactOperationProcessor for the ADD operation
This commit is contained in:
		| @@ -180,6 +180,15 @@ public class PersistenceManager { | ||||
| 		return entityManager.createNamedQuery("searchUsers").setParameter("searchPhrase", searchPhrase + "%").getResultList(); | ||||
| 	} | ||||
|  | ||||
| 	public void addContact(long userId, long contactId) { | ||||
| 		User	c1	= getUserById(userId); | ||||
| 		User	c2	= getUserById(contactId); | ||||
| 		c1.getContacts().add(c2); | ||||
| 		c2.getContacts().add(c1); | ||||
| 		updateUser(c1); | ||||
| 		updateUser(c2); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param user the User whose contacts should be retrieved | ||||
| 	 * @return the contacts of this User - currently everyone using Envoy | ||||
|   | ||||
| @@ -0,0 +1,33 @@ | ||||
| package envoy.server.processors; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| import envoy.event.ContactOperation; | ||||
| import envoy.event.ContactOperation.Operation; | ||||
| import envoy.server.ConnectionManager; | ||||
| import envoy.server.ObjectProcessor; | ||||
| import envoy.server.database.PersistenceManager; | ||||
| import envoy.server.net.ObjectWriteProxy; | ||||
|  | ||||
| /** | ||||
|  * Project: <strong>envoy-server-standalone</strong><br> | ||||
|  * File: <strong>ContactOperationProcessor.java</strong><br> | ||||
|  * Created: <strong>08.02.2020</strong><br> | ||||
|  *  | ||||
|  * @author Kai S. K. Engelbart | ||||
|  * @since Envoy Server Standalone v0.1-alpha | ||||
|  */ | ||||
| public class ContactOperationProcessor implements ObjectProcessor<ContactOperation> { | ||||
|  | ||||
| 	@Override | ||||
| 	public void process(ContactOperation operation, long socketId, ObjectWriteProxy writeProxy) throws IOException { | ||||
| 		if (operation.getOperationType() == Operation.ADD) { | ||||
| 			long userId = ConnectionManager.getInstance().getUserIdBySocketId(socketId); | ||||
| 			System.out.printf("Adding user %s to the contact list of user %d", operation.get(), userId); | ||||
| 			PersistenceManager.getPersistenceManager().addContact(userId, operation.get().getId()); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public Class<ContactOperation> getInputClass() { return ContactOperation.class; } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user