fixes #129 - contacts are now sent as a part of the user
(if they were not already)... Additionally renamed some methods named `...Id()` to `...ID()`
This commit is contained in:
parent
2fbff47752
commit
c6f0bff957
@ -43,7 +43,10 @@ public class Startup {
|
||||
processors.add(new ContactOperationProcessor());
|
||||
Server server = new Server(8080, () -> new ObjectMessageReader(), new ObjectMessageProcessor(processors));
|
||||
|
||||
initializeCurrentMessageId();
|
||||
// Initialize the current message ID
|
||||
PersistenceManager persistenceManager = PersistenceManager.getInstance();
|
||||
if (persistenceManager.getConfigItemByID("currentMessageId") == null)
|
||||
persistenceManager.addConfigItem(new ConfigItem("currentMessageId", "0"));
|
||||
|
||||
server.start();
|
||||
server.getSocketProcessor().registerSocketIdListener(ConnectionManager.getInstance());
|
||||
@ -53,9 +56,4 @@ public class Startup {
|
||||
System.out.println("Stopped");
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
private static void initializeCurrentMessageId() {
|
||||
PersistenceManager persMan = PersistenceManager.getInstance();
|
||||
if (persMan.getConfigItemById("currentMessageId") == null) persMan.addConfigItem(new ConfigItem("currentMessageId", "0"));
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,7 @@ package envoy.server.data;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Inheritance;
|
||||
import javax.persistence.InheritanceType;
|
||||
import javax.persistence.ManyToMany;
|
||||
import javax.persistence.*;
|
||||
|
||||
/**
|
||||
* This class acts as a superclass for all contacts, being {@link User}s and
|
||||
@ -32,7 +25,7 @@ public abstract class Contact {
|
||||
protected long id;
|
||||
protected String name;
|
||||
|
||||
@ManyToMany(targetEntity = Contact.class, cascade = CascadeType.ALL)
|
||||
@ManyToMany(targetEntity = Contact.class, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||
protected Set<Contact> contacts;
|
||||
|
||||
/**
|
||||
@ -81,4 +74,10 @@ public abstract class Contact {
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
public void setContacts(Set<Contact> contacts) { this.contacts = contacts; }
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public String toString() { return String.format("%s[id=%d,name=%s, contacts=%s]", getClass().getSimpleName(), id, name, contacts); }
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ import envoy.data.User;
|
||||
@Entity
|
||||
@Table(name = "groups")
|
||||
@NamedQuery(query = "SELECT g FROM Group g WHERE g.name = :name", name = "getGroupByName")
|
||||
public class Group extends Contact {
|
||||
public final class Group extends Contact {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
|
@ -74,15 +74,15 @@ public class Message {
|
||||
* @since Envoy Server Standalone v0.1-alpha
|
||||
*/
|
||||
public Message(envoy.data.Message message) {
|
||||
PersistenceManager persMan = PersistenceManager.getInstance();
|
||||
PersistenceManager persistenceManager = PersistenceManager.getInstance();
|
||||
id = message.getID();
|
||||
status = message.getStatus();
|
||||
text = message.getText();
|
||||
creationDate = message.getCreationDate();
|
||||
receivedDate = message.getReceivedDate();
|
||||
readDate = message.getReadDate();
|
||||
sender = persMan.getUserById(message.getSenderID());
|
||||
recipient = persMan.getUserById(message.getRecipientID());
|
||||
sender = persistenceManager.getUserByID(message.getSenderID());
|
||||
recipient = persistenceManager.getUserByID(message.getRecipientID());
|
||||
forwarded = message.isForwarded();
|
||||
// TODO: attachment = message.getAttachment().toByteArray();DOES NOT WORK YET
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ public class PersistenceManager {
|
||||
ConnectionManager.getInstance()
|
||||
.getOnlineUsers()
|
||||
.stream()
|
||||
.map(this::getUserById)
|
||||
.map(this::getUserByID)
|
||||
.forEach(user -> { user.setStatus(UserStatus.OFFLINE); user.setLastSeen(new Date()); entityManager.merge(user); });
|
||||
transaction.commit();
|
||||
}));
|
||||
@ -120,7 +120,7 @@ public class PersistenceManager {
|
||||
* @return the user with the specified id
|
||||
* @since Envoy Server Standalone v0.1-alpha
|
||||
*/
|
||||
public User getUserById(long id) { return entityManager.find(User.class, id); }
|
||||
public User getUserByID(long id) { return entityManager.find(User.class, id); }
|
||||
|
||||
/**
|
||||
* Searches for a {@link Group} with a specific ID.
|
||||
@ -129,7 +129,7 @@ public class PersistenceManager {
|
||||
* @return the group with the specific id
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
public Group getGroupById(long id) { return entityManager.find(Group.class, id); }
|
||||
public Group getGroupByID(long id) { return entityManager.find(Group.class, id); }
|
||||
|
||||
/**
|
||||
* Searches for a {@link Contact} with a specific ID.
|
||||
@ -138,7 +138,7 @@ public class PersistenceManager {
|
||||
* @return the contact with the specific id
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
public Contact getContactById(long id) { return entityManager.find(Contact.class, id); }
|
||||
public Contact getContactByID(long id) { return entityManager.find(Contact.class, id); }
|
||||
|
||||
/**
|
||||
* Searched for a {@link User} with a specific name.
|
||||
@ -180,14 +180,14 @@ public class PersistenceManager {
|
||||
* @return the message with the specified id
|
||||
* @since Envoy Server Standalone v0.1-alpha
|
||||
*/
|
||||
public Message getMessageById(long id) { return entityManager.find(Message.class, id); }
|
||||
public Message getMessageByID(long id) { return entityManager.find(Message.class, id); }
|
||||
|
||||
/**
|
||||
* @param key the name of this {@link ConfigItem}
|
||||
* @return the {@link ConfigItem} with the given name
|
||||
* @since Envoy Server Standalone v0.1-alpha
|
||||
*/
|
||||
public ConfigItem getConfigItemById(String key) { return entityManager.find(ConfigItem.class, key); }
|
||||
public ConfigItem getConfigItemByID(String key) { return entityManager.find(ConfigItem.class, key); }
|
||||
|
||||
/**
|
||||
* Returns all messages received while being offline or the ones that have
|
||||
@ -217,7 +217,7 @@ public class PersistenceManager {
|
||||
public List<User> searchUsers(String searchPhrase, long userId) {
|
||||
return entityManager.createNamedQuery("searchUsers")
|
||||
.setParameter("searchPhrase", searchPhrase + "%")
|
||||
.setParameter("context", getUserById(userId))
|
||||
.setParameter("context", getUserByID(userId))
|
||||
.getResultList();
|
||||
}
|
||||
|
||||
@ -231,8 +231,8 @@ public class PersistenceManager {
|
||||
public void addUserContact(long userId1, long userId2) {
|
||||
|
||||
// Get users by ID
|
||||
Contact u1 = getContactById(userId1);
|
||||
Contact u2 = getContactById(userId2);
|
||||
Contact u1 = getContactByID(userId1);
|
||||
Contact u2 = getContactByID(userId2);
|
||||
|
||||
// Add users to each others contact lists
|
||||
u1.getContacts().add(u2);
|
||||
|
@ -30,7 +30,7 @@ import javax.persistence.*;
|
||||
name = "searchUsers"
|
||||
) }
|
||||
)
|
||||
public class User extends Contact {
|
||||
public final class User extends Contact {
|
||||
|
||||
private byte[] passwordHash;
|
||||
|
||||
|
@ -49,7 +49,7 @@ public class ConnectionManager implements ISocketIdListener {
|
||||
public void socketCancelled(long socketID) {
|
||||
if (!pendingSockets.remove(socketID)) {
|
||||
// Notify contacts of this users offline-going
|
||||
envoy.server.data.User user = PersistenceManager.getInstance().getUserById(getUserIdBySocketId(socketID));
|
||||
envoy.server.data.User user = PersistenceManager.getInstance().getUserByID(getUserIdBySocketId(socketID));
|
||||
user.setStatus(UserStatus.OFFLINE);
|
||||
user.setLastSeen(new Date());
|
||||
UserStatusChangeProcessor.updateUserStatus(user);
|
||||
|
@ -32,7 +32,7 @@ public class ContactOperationProcessor implements ObjectProcessor<ContactOperati
|
||||
|
||||
// Notify the contact if online
|
||||
if (ConnectionManager.getInstance().isOnline(contactId)) writeProxy.write(connectionManager.getSocketId(contactId),
|
||||
Arrays.asList(PersistenceManager.getInstance().getUserById(userID).toCommon()));
|
||||
Arrays.asList(PersistenceManager.getInstance().getUserByID(userID).toCommon()));
|
||||
break;
|
||||
default:
|
||||
System.err.printf("Received %s with an unsupported operation.%n", evt);
|
||||
|
@ -1,48 +1,48 @@
|
||||
package envoy.server.processors;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import envoy.event.GroupCreationEvent;
|
||||
import envoy.server.data.Contact;
|
||||
import envoy.server.data.PersistenceManager;
|
||||
import envoy.server.net.ConnectionManager;
|
||||
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();
|
||||
private final ConnectionManager connectionManager = ConnectionManager.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());
|
||||
input.getInitialMemberIDs().stream().map(persistenceManager::getUserById).forEach(group.getContacts()::add);
|
||||
group.getContacts().add(persistenceManager.getUserById(connectionManager.getUserIdBySocketId(socketID)));
|
||||
persistenceManager.addContact(group);
|
||||
writeProxy.write(socketID, group);
|
||||
group.getContacts()
|
||||
.stream()
|
||||
.map(Contact::getID)
|
||||
.filter(connectionManager::isOnline)
|
||||
.map(connectionManager::getSocketId)
|
||||
.forEach(memberSocketID -> {
|
||||
try {
|
||||
writeProxy.write(memberSocketID, group);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<GroupCreationEvent> getInputClass() { return GroupCreationEvent.class; }
|
||||
}
|
||||
package envoy.server.processors;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import envoy.event.GroupCreationEvent;
|
||||
import envoy.server.data.Contact;
|
||||
import envoy.server.data.PersistenceManager;
|
||||
import envoy.server.net.ConnectionManager;
|
||||
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();
|
||||
private final ConnectionManager connectionManager = ConnectionManager.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());
|
||||
input.getInitialMemberIDs().stream().map(persistenceManager::getUserByID).forEach(group.getContacts()::add);
|
||||
group.getContacts().add(persistenceManager.getUserByID(connectionManager.getUserIdBySocketId(socketID)));
|
||||
persistenceManager.addContact(group);
|
||||
writeProxy.write(socketID, group);
|
||||
group.getContacts()
|
||||
.stream()
|
||||
.map(Contact::getID)
|
||||
.filter(connectionManager::isOnline)
|
||||
.map(connectionManager::getSocketId)
|
||||
.forEach(memberSocketID -> {
|
||||
try {
|
||||
writeProxy.write(memberSocketID, group);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<GroupCreationEvent> getInputClass() { return GroupCreationEvent.class; }
|
||||
}
|
||||
|
@ -1,54 +1,54 @@
|
||||
package envoy.server.processors;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import envoy.event.GroupResizeEvent;
|
||||
import envoy.server.data.Contact;
|
||||
import envoy.server.data.PersistenceManager;
|
||||
import envoy.server.net.ConnectionManager;
|
||||
import envoy.server.net.ObjectWriteProxy;
|
||||
|
||||
/**
|
||||
* Project: <strong>envoy-server-standalone</strong><br>
|
||||
* File: <strong>GroupResizeProcessor.java</strong><br>
|
||||
* Created: <strong>03.04.2020</strong><br>
|
||||
*
|
||||
* @author Maximilian Käfer
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
public class GroupResizeProcessor implements ObjectProcessor<GroupResizeEvent> {
|
||||
|
||||
PersistenceManager persistenceManager = PersistenceManager.getInstance();
|
||||
ConnectionManager connectionManager = ConnectionManager.getInstance();
|
||||
|
||||
@Override
|
||||
public void process(GroupResizeEvent input, long socketID, ObjectWriteProxy writeProxy) throws IOException {
|
||||
envoy.server.data.Group group = persistenceManager.getGroupById(input.getGroupID());
|
||||
switch (input.getOperation()) {
|
||||
case ADD:
|
||||
group.getContacts().add(persistenceManager.getUserById(input.get().getID()));
|
||||
break;
|
||||
|
||||
case REMOVE:
|
||||
group.getContacts().remove(persistenceManager.getUserById(input.get().getID()));
|
||||
break;
|
||||
}
|
||||
persistenceManager.updateContact(group);
|
||||
writeProxy.write(socketID, group);
|
||||
group.getContacts()
|
||||
.stream()
|
||||
.map(Contact::getID)
|
||||
.filter(connectionManager::isOnline)
|
||||
.map(connectionManager::getSocketId)
|
||||
.forEach(memberSocketID -> {
|
||||
try {
|
||||
writeProxy.write(memberSocketID, group);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<GroupResizeEvent> getInputClass() { return GroupResizeEvent.class; }
|
||||
}
|
||||
package envoy.server.processors;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import envoy.event.GroupResizeEvent;
|
||||
import envoy.server.data.Contact;
|
||||
import envoy.server.data.PersistenceManager;
|
||||
import envoy.server.net.ConnectionManager;
|
||||
import envoy.server.net.ObjectWriteProxy;
|
||||
|
||||
/**
|
||||
* Project: <strong>envoy-server-standalone</strong><br>
|
||||
* File: <strong>GroupResizeProcessor.java</strong><br>
|
||||
* Created: <strong>03.04.2020</strong><br>
|
||||
*
|
||||
* @author Maximilian Käfer
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
public class GroupResizeProcessor implements ObjectProcessor<GroupResizeEvent> {
|
||||
|
||||
PersistenceManager persistenceManager = PersistenceManager.getInstance();
|
||||
ConnectionManager connectionManager = ConnectionManager.getInstance();
|
||||
|
||||
@Override
|
||||
public void process(GroupResizeEvent input, long socketID, ObjectWriteProxy writeProxy) throws IOException {
|
||||
envoy.server.data.Group group = persistenceManager.getGroupByID(input.getGroupID());
|
||||
switch (input.getOperation()) {
|
||||
case ADD:
|
||||
group.getContacts().add(persistenceManager.getUserByID(input.get()));
|
||||
break;
|
||||
|
||||
case REMOVE:
|
||||
group.getContacts().remove(persistenceManager.getUserByID(input.get()));
|
||||
break;
|
||||
}
|
||||
persistenceManager.updateContact(group);
|
||||
writeProxy.write(socketID, group);
|
||||
group.getContacts()
|
||||
.stream()
|
||||
.map(Contact::getID)
|
||||
.filter(connectionManager::isOnline)
|
||||
.map(connectionManager::getSocketId)
|
||||
.forEach(memberSocketID -> {
|
||||
try {
|
||||
writeProxy.write(memberSocketID, group);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<GroupResizeEvent> getInputClass() { return GroupResizeEvent.class; }
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class IDGeneratorRequestProcessor implements ObjectProcessor<IDGeneratorR
|
||||
* @since Envoy Server Standalone v0.1-beta
|
||||
*/
|
||||
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);
|
||||
currentID.setValue(String.valueOf(Integer.parseInt(currentID.getValue()) + range));
|
||||
PersistenceManager.getInstance().updateConfigItem(currentID);
|
||||
|
@ -1,12 +1,7 @@
|
||||
package envoy.server.processors;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.InputMismatchException;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.*;
|
||||
|
||||
import javax.persistence.NoResultException;
|
||||
|
||||
@ -56,18 +51,12 @@ public class LoginCredentialProcessor implements ObjectProcessor<LoginCredential
|
||||
user.setStatus(UserStatus.ONLINE);
|
||||
UserStatusChangeProcessor.updateUserStatus(user);
|
||||
|
||||
// Create contacts
|
||||
var contacts = user.getContacts().stream().map(envoy.server.data.Contact::toCommon).collect(Collectors.toList());
|
||||
contacts.add(user.toCommon());
|
||||
|
||||
// Complete handshake
|
||||
System.out.println("Sending user...");
|
||||
writeProxy.write(socketID, user.toCommon());
|
||||
System.out.println("Sending contacts...");
|
||||
writeProxy.write(socketID, contacts);
|
||||
System.out.println("Acquiring pending messages for the client...");
|
||||
List<Message> pendingMessages = PersistenceManager.getInstance().getPendingMessages(user);
|
||||
for (Message msg : pendingMessages) {
|
||||
for (Message msg : pendingMessages)
|
||||
if (msg.getStatus() == MessageStatus.SENT) {
|
||||
System.out.println("Sending message " + msg.toCommonMessage());
|
||||
writeProxy.write(socketID, msg.toCommonMessage());
|
||||
@ -79,7 +68,6 @@ public class LoginCredentialProcessor implements ObjectProcessor<LoginCredential
|
||||
System.out.println("Sending messageStatusChangeEvent " + evt);
|
||||
writeProxy.write(socketID, evt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -29,7 +29,7 @@ public class MessageProcessor implements ObjectProcessor<Message> {
|
||||
public void process(Message message, long socketID, ObjectWriteProxy writeProxy) {
|
||||
message.nextStatus();
|
||||
ConnectionManager connectionManager = ConnectionManager.getInstance();
|
||||
Contact recipient = PersistenceManager.getInstance().getContactById(message.getID());
|
||||
Contact recipient = PersistenceManager.getInstance().getContactByID(message.getID());
|
||||
|
||||
if (recipient instanceof envoy.server.data.User) {
|
||||
System.out.println("The received message is a direct message.");
|
||||
@ -43,7 +43,7 @@ public class MessageProcessor implements ObjectProcessor<Message> {
|
||||
}
|
||||
} else {
|
||||
System.out.println("The received message is a group message.");
|
||||
final var members = PersistenceManager.getInstance().getGroupById(message.getRecipientID()).getContacts();
|
||||
final var members = PersistenceManager.getInstance().getGroupByID(message.getRecipientID()).getContacts();
|
||||
final var generator = IDGeneratorRequestProcessor.createIDGenerator(members.size());
|
||||
members.forEach(user -> {
|
||||
envoy.data.Message returnMessage = new MessageBuilder(message.getRecipientID(), user.getID(), generator)
|
||||
|
@ -27,7 +27,7 @@ public class MessageStatusChangeProcessor implements ObjectProcessor<MessageStat
|
||||
// Any other status than READ is not supposed to be sent to the server
|
||||
if (input.get() != MessageStatus.READ) throw new IOException(new EnvoyException("Message " + input + " has an invalid status"));
|
||||
|
||||
envoy.server.data.Message msg = persistenceManager.getMessageById(input.getID());
|
||||
envoy.server.data.Message msg = persistenceManager.getMessageByID(input.getID());
|
||||
msg.setStatus(input.get());
|
||||
msg.setReadDate(input.getDate());
|
||||
persistenceManager.updateMessage(msg);
|
||||
|
@ -23,7 +23,7 @@ public class NameChangeProcessor implements ObjectProcessor<NameChangeEvent> {
|
||||
public void process(NameChangeEvent input, long socketID, ObjectWriteProxy writeProxy) throws IOException {
|
||||
PersistenceManager persistenceManager = PersistenceManager.getInstance();
|
||||
ConnectionManager connectionManager = ConnectionManager.getInstance();
|
||||
Contact toUpdate = persistenceManager.getContactById(input.getID());
|
||||
Contact toUpdate = persistenceManager.getContactByID(input.getID());
|
||||
toUpdate.setName(input.get());
|
||||
persistenceManager.updateContact(toUpdate);
|
||||
|
||||
|
@ -30,7 +30,7 @@ public class UserStatusChangeProcessor implements ObjectProcessor<UserStatusChan
|
||||
@Override
|
||||
public void process(UserStatusChangeEvent input, long socketID, ObjectWriteProxy writeProxy) throws IOException {
|
||||
// new status should not equal old status
|
||||
if (input.get().equals(persistenceManager.getUserById(input.getID()).getStatus())) {
|
||||
if (input.get().equals(persistenceManager.getUserByID(input.getID()).getStatus())) {
|
||||
System.out.println("Received an unnecessary UserStatusChangeEvent");
|
||||
return;
|
||||
}
|
||||
@ -58,7 +58,7 @@ public class UserStatusChangeProcessor implements ObjectProcessor<UserStatusChan
|
||||
* @param evt the {@link UserStatusChangeEvent}
|
||||
* @since Envoy Server Standalone v0.1-alpha
|
||||
*/
|
||||
public static void updateUserStatus(UserStatusChangeEvent evt) { updateUserStatus(persistenceManager.getUserById(evt.getID())); }
|
||||
public static void updateUserStatus(UserStatusChangeEvent evt) { updateUserStatus(persistenceManager.getUserByID(evt.getID())); }
|
||||
|
||||
/**
|
||||
* notifies active contacts of this {@link User} that his {@link UserStatus} has
|
||||
|
Reference in New Issue
Block a user