Implemented a GroupCreationProcessor and revised/added Javadoc

This commit is contained in:
DieGurke 2020-03-26 17:09:52 +01:00
parent 422d38f093
commit 1d4492b3d5
4 changed files with 47 additions and 4 deletions

View File

@ -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; }

View File

@ -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); }

View File

@ -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&auml;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; }
}

View File

@ -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);