From 3df01532d8c7e0e96305f5b77e374cfdc1289b7b Mon Sep 17 00:00:00 2001 From: kske Date: Sat, 18 Jan 2020 09:55:12 +0100 Subject: [PATCH] Fixed EventProcessor and LoginCredentialProcessor --- src/main/java/envoy/server/Startup.java | 6 +++++- .../envoy/server/processors/EventProcessor.java | 17 ++++++----------- .../processors/LoginCredentialProcessor.java | 9 +++++---- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/envoy/server/Startup.java b/src/main/java/envoy/server/Startup.java index e2edb6a..a31c094 100644 --- a/src/main/java/envoy/server/Startup.java +++ b/src/main/java/envoy/server/Startup.java @@ -6,6 +6,7 @@ import java.util.Set; import com.jenkov.nioserver.Server; +import envoy.server.database.PersistenceManager; import envoy.server.net.ObjectMessageProcessor; import envoy.server.net.ObjectMessageReader; import envoy.server.processors.EventProcessor; @@ -36,8 +37,11 @@ public class Startup { processors.add(new LoginCredentialProcessor()); processors.add(new MessageProcessor()); processors.add(new EventProcessor()); - // new PersistenceManager(); Server server = new Server(8080, () -> new ObjectMessageReader(), new ObjectMessageProcessor(processors)); + + // TODO: Prevent lazy DB initialization + PersistenceManager.getPersistenceManager(); + server.start(); server.getSocketProcessor().registerSocketIdListener(ConnectionManager.getInstance()); } diff --git a/src/main/java/envoy/server/processors/EventProcessor.java b/src/main/java/envoy/server/processors/EventProcessor.java index 58c769f..8c75278 100644 --- a/src/main/java/envoy/server/processors/EventProcessor.java +++ b/src/main/java/envoy/server/processors/EventProcessor.java @@ -20,9 +20,8 @@ import envoy.server.net.ObjectWriteProxy; * @author Leon Hofmeister * @since Envoy Server Standalone v0.1-alpha */ -public class EventProcessor implements ObjectProcessor> { - - private Event event; +@SuppressWarnings("rawtypes") +public class EventProcessor implements ObjectProcessor { /** * Creates an instance of @link{EventProcessor}. @@ -31,15 +30,13 @@ public class EventProcessor implements ObjectProcessor> { */ public EventProcessor() {} - @SuppressWarnings("unchecked") @Override - public Class> getInputClass() { return (Class>) event.getClass(); } + public Class getInputClass() { return Event.class; } @Override - public void process(Event input, long socketId, ObjectWriteProxy writeProxy) throws IOException { - event = input; - if (event instanceof MessageStatusChangeEvent) try { - applyMessageStatusChange((MessageStatusChangeEvent) event, writeProxy); + public void process(Event input, long socketId, ObjectWriteProxy writeProxy) throws IOException { + if (input instanceof MessageStatusChangeEvent) try { + applyMessageStatusChange((MessageStatusChangeEvent) input, writeProxy); } catch (EnvoyException e) { e.printStackTrace(); } @@ -71,7 +68,5 @@ public class EventProcessor implements ObjectProcessor> { e.printStackTrace(); } perMan.updateMessage(msg); - } - } diff --git a/src/main/java/envoy/server/processors/LoginCredentialProcessor.java b/src/main/java/envoy/server/processors/LoginCredentialProcessor.java index e94ce91..3196382 100644 --- a/src/main/java/envoy/server/processors/LoginCredentialProcessor.java +++ b/src/main/java/envoy/server/processors/LoginCredentialProcessor.java @@ -49,13 +49,14 @@ public class LoginCredentialProcessor implements ObjectProcessor pendingMessages = PersistenceManager.getPersistenceManager().getUnreadMessages(new envoy.server.data.User(user)); - pendingMessages.forEach((msg) -> { + for (Message msg : pendingMessages) { + System.out.println("Sending message " + msg.toString()); + writeProxy.write(socketId, msg); msg.setReceivedDate(new Date()); msg.setStatus(MessageStatus.RECEIVED); PersistenceManager.getPersistenceManager().updateMessage(msg); - }); - writeProxy.write(socketId, pendingMessages); + } } }