Refactoring: splitting and renaming listeners

-Splitting ProjectListener into multiple event handlers
-Renaming SessionListener to SessionEventHandler
-Bug fixes
This commit is contained in:
dcollin 2015-11-13 15:44:47 +01:00
parent 09d15b4a80
commit b5e56ca2bf
14 changed files with 132 additions and 115 deletions

View file

@ -9,14 +9,14 @@ import zutil.log.LogUtil;
import com.coder.client.session.ProjectMessageListener;
import com.coder.client.session.Session;
import com.coder.client.session.SessionListener;
import com.coder.client.session.SessionEventHandler;
import com.coder.server.message.CoderMessage;
public class SessionHandler{
public static final Logger logger = LogUtil.getLogger();
private Session session;
private HashSet<SessionListener> sessionListeners = new HashSet<SessionListener>();
private HashSet<SessionEventHandler> sessionEventHandlers = new HashSet<SessionEventHandler>();
private HashSet<ProjectMessageListener> messageListeners = new HashSet<ProjectMessageListener>();
public boolean setupConnection(String url, int port){
@ -28,13 +28,13 @@ public class SessionHandler{
for(ProjectMessageListener listener : messageListeners){
session.addMessageListener(listener);
}
for(SessionListener listener : sessionListeners){
listener.sessionConnectionSuccess();
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionConnectionSuccess();
}
return true;
}else{
for(SessionListener listener : sessionListeners){
listener.sessionConnectionFailure();
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionConnectionFailure();
}
return false;
}
@ -46,14 +46,14 @@ public class SessionHandler{
}else{
boolean success = session.authenticate(username, clearTextPassword);
if(success){
for(SessionListener listener : sessionListeners){
listener.sessionAuthenticationSuccess();
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionAuthenticationSuccess();
}
session.start();
return true;
}else{
for(SessionListener listener : sessionListeners){
listener.sessionAuthenticationFailure();
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionAuthenticationFailure();
}
return false;
}
@ -81,16 +81,16 @@ public class SessionHandler{
logger.info("closing session to server");
session.close();
session = null;
for(SessionListener listener : sessionListeners){
listener.sessionDisconnected(retry);
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionDisconnected(retry);
}
}else{
logger.fine("cannot close current session: session already terminated");
}
}
public void addSessionListener(SessionListener listener){
this.sessionListeners.add(listener);
public void addSessionEventHandler(SessionEventHandler eventHandler){
this.sessionEventHandlers.add(eventHandler);
}
public void addMessageListener(ProjectMessageListener listener) {
@ -103,8 +103,8 @@ public class SessionHandler{
public void triggerAuthenticationCancel() {
if(session.isConnected() && !session.isAuthenticated()){
closeCurrentSession(false);
for(SessionListener listener : sessionListeners){
listener.sessionAuthenticationCancel();
for(SessionEventHandler eventHandler : sessionEventHandlers){
eventHandler.sessionAuthenticationCancel();
}
}else{
logger.warning("Can only cancel a connected but not yet authenticated authentication. ignoring call");