Implemented a GroupCreationProcessor and revised/added Javadoc
This commit is contained in:
		@@ -46,7 +46,7 @@ public class Group extends Contact {
 | 
				
			|||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Sets the members of this group.
 | 
						 * Sets the members of this group.
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
	 * @param Members a list of all users, that should be assigned to this group.
 | 
						 * @param members a list of all users, that should be assigned to this group.
 | 
				
			||||||
	 * @since Envoy Server Standalone v0.1-beta
 | 
						 * @since Envoy Server Standalone v0.1-beta
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void setMembers(List<User> members) { this.members = members; }
 | 
						public void setMembers(List<User> members) { this.members = members; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,7 +52,7 @@ public class PersistenceManager {
 | 
				
			|||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Adds a {@link Contact} to the database.
 | 
						 * Adds a {@link Contact} to the database.
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
	 * @param user the {@link Contact} to add to the database
 | 
						 * @param contact the {@link Contact} to add to the database
 | 
				
			||||||
	 * @since Envoy Server Standalone v0.1-alpha
 | 
						 * @since Envoy Server Standalone v0.1-alpha
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void addContact(Contact contact) { persist(contact); }
 | 
						public void addContact(Contact contact) { persist(contact); }
 | 
				
			||||||
@@ -76,7 +76,7 @@ public class PersistenceManager {
 | 
				
			|||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Updates a {@link Contact} in the database
 | 
						 * Updates a {@link Contact} in the database
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
	 * @param user the {@link Contact} to add to the database
 | 
						 * @param contact the {@link Contact} to add to the database
 | 
				
			||||||
	 * @since Envoy Server Standalone v0.1-alpha
 | 
						 * @since Envoy Server Standalone v0.1-alpha
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void updateContact(Contact contact) { merge(contact); }
 | 
						public void updateContact(Contact contact) { merge(contact); }
 | 
				
			||||||
@@ -100,7 +100,7 @@ public class PersistenceManager {
 | 
				
			|||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Deletes a {@link Contact} in the database.
 | 
						 * Deletes a {@link Contact} in the database.
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
	 * @param user the {@link Contact} to delete
 | 
						 * @param contact the {@link Contact} to delete
 | 
				
			||||||
	 * @since Envoy Server Standalone v0.1-alpha
 | 
						 * @since Envoy Server Standalone v0.1-alpha
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public void deleteContact(Contact contact) { remove(contact); }
 | 
						public void deleteContact(Contact contact) { remove(contact); }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					package envoy.server.processors;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import envoy.event.GroupCreationEvent;
 | 
				
			||||||
 | 
					import envoy.server.data.PersistenceManager;
 | 
				
			||||||
 | 
					import envoy.server.net.ObjectWriteProxy;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Project: <strong>envoy-server-standalone</strong><br>
 | 
				
			||||||
 | 
					 * File: <strong>GroupCreationProcessor.java</strong><br>
 | 
				
			||||||
 | 
					 * Created: <strong>26.03.2020</strong><br>
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @author Maximilian Käfer
 | 
				
			||||||
 | 
					 * @since Envoy Server Standalone v0.1-beta
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class GroupCreationProcessor implements ObjectProcessor<GroupCreationEvent> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private final PersistenceManager	persistenceManager	= PersistenceManager.getInstance();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public void process(GroupCreationEvent input, long socketId, ObjectWriteProxy writeProxy) throws IOException {
 | 
				
			||||||
 | 
							envoy.server.data.Group group = new envoy.server.data.Group();
 | 
				
			||||||
 | 
							group.setName(input.get());
 | 
				
			||||||
 | 
							// TODO adjust event, so it sends a members list as well, which can be initially
 | 
				
			||||||
 | 
							// set here
 | 
				
			||||||
 | 
							persistenceManager.addContact(group);
 | 
				
			||||||
 | 
							writeProxy.write(socketId, group); // TODO Prepare the client to receive the group object after sending the
 | 
				
			||||||
 | 
																// groupCreationEvent to the server.
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public Class<GroupCreationEvent> getInputClass() { return GroupCreationEvent.class; }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -33,8 +33,17 @@ public class IDGeneratorRequestProcessor implements ObjectProcessor<IDGeneratorR
 | 
				
			|||||||
		writeProxy.write(socketId, generator);
 | 
							writeProxy.write(socketId, generator);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * @return a new IDGenerator
 | 
				
			||||||
 | 
						 * @since Envoy Server Standalone v0.1-beta
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
	public static IDGenerator createIDGenerator() { return createIDGenerator(ID_RANGE); }
 | 
						public static IDGenerator createIDGenerator() { return createIDGenerator(ID_RANGE); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * @param range of IDs used by the new IDGenerator
 | 
				
			||||||
 | 
						 * @return a new IDGenerator with a specific range of IDs
 | 
				
			||||||
 | 
						 * @since Envoy Server Standalone v0.1-beta
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
	public static IDGenerator createIDGenerator(long range) {
 | 
						public static IDGenerator createIDGenerator(long range) {
 | 
				
			||||||
		ConfigItem	currentId	= PersistenceManager.getInstance().getConfigItemById("currentMessageId");
 | 
							ConfigItem	currentId	= PersistenceManager.getInstance().getConfigItemById("currentMessageId");
 | 
				
			||||||
		IDGenerator	generator	= new IDGenerator(Integer.parseInt(currentId.getValue()), range);
 | 
							IDGenerator	generator	= new IDGenerator(Integer.parseInt(currentId.getValue()), range);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user