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.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @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
 | 
			
		||||
	 */
 | 
			
		||||
	public void setMembers(List<User> members) { this.members = members; }
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,7 @@ public class PersistenceManager {
 | 
			
		||||
	/**
 | 
			
		||||
	 * 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
 | 
			
		||||
	 */
 | 
			
		||||
	public void addContact(Contact contact) { persist(contact); }
 | 
			
		||||
@@ -76,7 +76,7 @@ public class PersistenceManager {
 | 
			
		||||
	/**
 | 
			
		||||
	 * 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
 | 
			
		||||
	 */
 | 
			
		||||
	public void updateContact(Contact contact) { merge(contact); }
 | 
			
		||||
@@ -100,7 +100,7 @@ public class PersistenceManager {
 | 
			
		||||
	/**
 | 
			
		||||
	 * 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
 | 
			
		||||
	 */
 | 
			
		||||
	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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return a new IDGenerator
 | 
			
		||||
	 * @since Envoy Server Standalone v0.1-beta
 | 
			
		||||
	 */
 | 
			
		||||
	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) {
 | 
			
		||||
		ConfigItem	currentId	= PersistenceManager.getInstance().getConfigItemById("currentMessageId");
 | 
			
		||||
		IDGenerator	generator	= new IDGenerator(Integer.parseInt(currentId.getValue()), range);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user