Refactoring #55
@ -173,26 +173,6 @@ public final class LocalDB implements EventListener {
|
|||||||
}, 2000, ClientConfig.getInstance().getLocalDBSaveInterval() * 60000);
|
}, 2000, ClientConfig.getInstance().getLocalDBSaveInterval() * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Performs a contact name change if the corresponding contact is present.
|
|
||||||
*
|
|
||||||
* @param event the {@link NameChange} to process
|
|
||||||
* @since Envoy Client v0.1-beta
|
|
||||||
*/
|
|
||||||
public void replaceContactName(NameChange event) {
|
|
||||||
chats.stream().map(Chat::getRecipient).filter(c -> c.getID() == event.getID()).findAny().ifPresent(c -> c.setName(event.get()));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Performs a group resize operation if the corresponding group is present.
|
|
||||||
*
|
|
||||||
* @param event the {@link GroupResize} to process
|
|
||||||
* @since Envoy Client v0.1-beta
|
|
||||||
*/
|
|
||||||
public void updateGroup(GroupResize event) {
|
|
||||||
getChat(event.getGroupID()).map(Chat::getRecipient).map(Group.class::cast).ifPresent(event::apply);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores all users. If the client user is specified, their chats will be stored
|
* Stores all users. If the client user is specified, their chats will be stored
|
||||||
* as well. The message id generator will also be saved if present.
|
* as well. The message id generator will also be saved if present.
|
||||||
@ -238,6 +218,14 @@ public final class LocalDB implements EventListener {
|
|||||||
if (evt.get().ordinal() < MessageStatus.RECEIVED.ordinal()) logger.warning("Received invalid " + evt);
|
if (evt.get().ordinal() < MessageStatus.RECEIVED.ordinal()) logger.warning("Received invalid " + evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Event(priority = 150)
|
||||||
|
private void onGroupResize(GroupResize evt) { getChat(evt.getGroupID()).map(Chat::getRecipient).map(Group.class::cast).ifPresent(evt::apply); }
|
||||||
|
|
||||||
|
@Event(priority = 150)
|
||||||
|
private void onNameChange(NameChange evt) {
|
||||||
|
chats.stream().map(Chat::getRecipient).filter(c -> c.getID() == evt.getID()).findAny().ifPresent(c -> c.setName(evt.get()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores a new authentication token.
|
* Stores a new authentication token.
|
||||||
*
|
*
|
||||||
@ -308,6 +296,7 @@ public final class LocalDB implements EventListener {
|
|||||||
* @param idGenerator the message ID generator to set
|
* @param idGenerator the message ID generator to set
|
||||||
* @since Envoy Client v0.3-alpha
|
* @since Envoy Client v0.3-alpha
|
||||||
*/
|
*/
|
||||||
|
@Event(priority = 150)
|
||||||
public void setIDGenerator(IDGenerator idGenerator) { this.idGenerator = idGenerator; }
|
public void setIDGenerator(IDGenerator idGenerator) { this.idGenerator = idGenerator; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -75,7 +75,7 @@ public final class Client implements EventListener, Closeable {
|
|||||||
// authentication token
|
// authentication token
|
||||||
receiver.registerProcessor(User.class, sender -> this.sender = sender);
|
receiver.registerProcessor(User.class, sender -> this.sender = sender);
|
||||||
receiver.registerProcessors(cacheMap.getMap());
|
receiver.registerProcessors(cacheMap.getMap());
|
||||||
receiver.registerProcessor(HandshakeRejection.class, evt -> { rejected = true; eventBus.dispatch(evt); });
|
receiver.registerProcessor(HandshakeRejection.class, eventBus::dispatch);
|
||||||
receiver.registerProcessor(NewAuthToken.class, eventBus::dispatch);
|
receiver.registerProcessor(NewAuthToken.class, eventBus::dispatch);
|
||||||
|
|
||||||
rejected = false;
|
rejected = false;
|
||||||
@ -140,10 +140,10 @@ public final class Client implements EventListener, Closeable {
|
|||||||
receiver.registerProcessor(UserStatusChange.class, eventBus::dispatch);
|
receiver.registerProcessor(UserStatusChange.class, eventBus::dispatch);
|
||||||
|
|
||||||
// Process message ID generation
|
// Process message ID generation
|
||||||
receiver.registerProcessor(IDGenerator.class, localDB::setIDGenerator);
|
receiver.registerProcessor(IDGenerator.class, eventBus::dispatch);
|
||||||
|
|
||||||
// Process name changes
|
// Process name changes
|
||||||
receiver.registerProcessor(NameChange.class, evt -> { localDB.replaceContactName(evt); eventBus.dispatch(evt); });
|
receiver.registerProcessor(NameChange.class, eventBus::dispatch);
|
||||||
|
|
||||||
// Process contact searches
|
// Process contact searches
|
||||||
receiver.registerProcessor(UserSearchResult.class, eventBus::dispatch);
|
receiver.registerProcessor(UserSearchResult.class, eventBus::dispatch);
|
||||||
@ -152,7 +152,7 @@ public final class Client implements EventListener, Closeable {
|
|||||||
receiver.registerProcessor(ContactOperation.class, eventBus::dispatch);
|
receiver.registerProcessor(ContactOperation.class, eventBus::dispatch);
|
||||||
|
|
||||||
// Process group size changes
|
// Process group size changes
|
||||||
receiver.registerProcessor(GroupResize.class, evt -> { localDB.updateGroup(evt); eventBus.dispatch(evt); });
|
receiver.registerProcessor(GroupResize.class, eventBus::dispatch);
|
||||||
|
|
||||||
// Process IsTyping events
|
// Process IsTyping events
|
||||||
receiver.registerProcessor(IsTyping.class, eventBus::dispatch);
|
receiver.registerProcessor(IsTyping.class, eventBus::dispatch);
|
||||||
@ -217,6 +217,9 @@ public final class Client implements EventListener, Closeable {
|
|||||||
send(new IDGeneratorRequest());
|
send(new IDGeneratorRequest());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Event(eventType = HandshakeRejection.class, priority = 1000)
|
||||||
|
private void onHandshakeRejection() { rejected = true; }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Event(eventType = EnvoyCloseEvent.class, priority = 800)
|
@Event(eventType = EnvoyCloseEvent.class, priority = 800)
|
||||||
public void close() {
|
public void close() {
|
||||||
|
@ -2,13 +2,15 @@ package envoy.data;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import dev.kske.eventbus.IEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates increasing IDs between two numbers.
|
* Generates increasing IDs between two numbers.
|
||||||
*
|
*
|
||||||
* @author Kai S. K. Engelbart
|
* @author Kai S. K. Engelbart
|
||||||
* @since Envoy Common v0.2-alpha
|
* @since Envoy Common v0.2-alpha
|
||||||
*/
|
*/
|
||||||
public final class IDGenerator implements Serializable {
|
public final class IDGenerator implements IEvent, Serializable {
|
||||||
|
|
||||||
private final long end;
|
private final long end;
|
||||||
private long current;
|
private long current;
|
||||||
|
Reference in New Issue
Block a user