Refactored IsWriting to IsTyping

This commit is contained in:
delvh
2020-07-25 17:12:24 +02:00
parent e382a86623
commit 5a5e6e2086
6 changed files with 27 additions and 36 deletions

View File

@ -70,7 +70,7 @@ public class Startup {
new IDGeneratorRequestProcessor(),
new UserSearchProcessor(),
new ContactOperationProcessor(),
new IsWritingProcessor())));
new IsTypingProcessor())));
// Initialize the current message ID
final PersistenceManager persistenceManager = PersistenceManager.getInstance();

View File

@ -2,36 +2,36 @@ package envoy.server.processors;
import java.io.IOException;
import envoy.event.IsWriting;
import envoy.event.IsTyping;
import envoy.server.data.PersistenceManager;
import envoy.server.data.User;
import envoy.server.net.ConnectionManager;
import envoy.server.net.ObjectWriteProxy;
/**
* This processor handles incoming {@link IsWriting}s.
* This processor handles incoming {@link IsTyping} events.
* <p>
* Project: <strong>envoy-server-standalone</strong><br>
* File: <strong>IsWritingProcessor.java</strong><br>
* File: <strong>IsTypingProcessor.java</strong><br>
* Created: <strong>24.07.2020</strong><br>
*
* @author Leon Hofmeister
* @since Envoy Server v0.2-beta
*/
public class IsWritingProcessor implements ObjectProcessor<IsWriting> {
public class IsTypingProcessor implements ObjectProcessor<IsTyping> {
private static final ConnectionManager connectionManager = ConnectionManager.getInstance();
private static final PersistenceManager persistenceManager = PersistenceManager.getInstance();
@Override
public Class<IsWriting> getInputClass() { return IsWriting.class; }
public Class<IsTyping> getInputClass() { return IsTyping.class; }
@Override
public void process(IsWriting input, long socketID, ObjectWriteProxy writeProxy) throws IOException {
final var contact = persistenceManager.getContactByID(input.get());
public void process(IsTyping event, long socketID, ObjectWriteProxy writeProxy) throws IOException {
final var contact = persistenceManager.getContactByID(event.get());
if (contact instanceof User) {
final var destinationID = input.getDestinationID();
if (connectionManager.isOnline(destinationID)) writeProxy.write(connectionManager.getSocketID(destinationID), input);
} else writeProxy.writeToOnlineContacts(contact.getContacts(), input);
final var destinationID = event.getDestinationID();
if (connectionManager.isOnline(destinationID)) writeProxy.write(connectionManager.getSocketID(destinationID), event);
} else writeProxy.writeToOnlineContacts(contact.getContacts(), event);
}
}