Implemented a GroupCreationProcessor and revised/added Javadoc
This commit is contained in:
parent
732a2d49e6
commit
5685a3e661
@ -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