Added EventProcessor and methods to handle MessageStatus changes

additionally cleaned up whole project, fixed some Javadoc errors and
added a few database and connection options.

Sorry for the huge commit, there was almost no time inbetween where a
commit would have been possible, as to solve every problem, a new
problem arose.
However, as of now, f/message_handling should be ready to be merged into
develop, besides that it could not be tested yet.
This commit is contained in:
delvh
2020-01-11 18:28:48 +01:00
parent 3fc7ee7f3f
commit dc6199806f
13 changed files with 255 additions and 72 deletions

View File

@ -41,17 +41,13 @@ public class ObjectMessageProcessor implements IMessageProcessor {
System.out.println("Read object: " + obj.toString());
// Process object
processors.stream()
.filter(p -> p.getInputClass().isInstance(obj))
.forEach((@SuppressWarnings(
"rawtypes"
) ObjectProcessor p) -> {
try {
p.process(p.getInputClass().cast(obj), message.socketId, new ObjectWriteProxy(writeProxy));
} catch (IOException e) {
e.printStackTrace();
}
});
processors.stream().filter(p -> p.getInputClass().isInstance(obj)).forEach((@SuppressWarnings("rawtypes") ObjectProcessor p) -> {
try {
p.process(p.getInputClass().cast(obj), message.socketId, new ObjectWriteProxy(writeProxy));
} catch (IOException e) {
e.printStackTrace();
}
});
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}

View File

@ -8,6 +8,8 @@ import com.jenkov.nioserver.WriteProxy;
import envoy.util.SerializationUtils;
/**
* This class defines methods to send an object to a client.<br>
* <br>
* Project: <strong>envoy-server-standalone</strong><br>
* File: <strong>ObjectWriteProxy.java</strong><br>
* Created: <strong>04.01.2020</strong><br>
@ -19,8 +21,20 @@ public class ObjectWriteProxy {
private final WriteProxy writeProxy;
/**
* Creates an instance of @link{ObjectWriteProxy}.
*
* @param writeProxy the {@link WriteProxy} to write objects to another client
* @since Envoy Server Standalone v0.1-alpha
*/
public ObjectWriteProxy(WriteProxy writeProxy) { this.writeProxy = writeProxy; }
/**
* @param recipientSocketId the socket id of the recipient
* @param obj the object to return to the client
* @throws IOException if the serialization of the object failed
* @since Envoy Server Standalone v0.1-alpha
*/
public void write(long recipientSocketId, Object obj) throws IOException {
// Create message targeted at the client
Message response = writeProxy.getMessage();