fixed a problem with the client restarting the login interface for ever

when the wrong password was typed
This commit is contained in:
daniel 2015-10-27 21:03:04 +01:00
parent 5d9215c493
commit 78e4e108c3

View file

@ -64,7 +64,7 @@ public class CoderClient extends Application{
public void start(Stage mainStage) throws Exception {
//setup logging
LogUtil.setGlobalLevel(Level.INFO);
LogUtil.setGlobalLevel(Level.FINE);
LogUtil.setGlobalFormatter(new CompactLogFormatter());
//setup GUI elements
@ -148,28 +148,6 @@ public class CoderClient extends Application{
selectServerDialog.showOnStage(mainStage);
}else{
selectServerDialog.setErrorMessage("");
// create a guard for when the session is closed
new Thread(new Runnable(){
@Override
public void run() {
logger.fine("starting a session guard");
while(true){
if(session == null || !session.isConnected()){
logger.fine("session guard: no connection");
Platform.runLater(new Runnable() {
@Override
public void run() {
selectServerDialog.setErrorMessage("The current session was disconnected");
closeCurrentSession();
selectServerDialog.showOnStage(mainStage);
}
});
break;
}
Thread.yield();
}
logger.fine("terminating session guard");
}}).start();
loginDialog.showOnStage(mainStage);
}
}
@ -199,6 +177,29 @@ public class CoderClient extends Application{
selectServerDialog.showOnStage(mainStage);
return;
}else{
// create a guard for when the session is closed
new Thread(new Runnable(){
@Override
public void run() {
logger.fine("starting a session guard");
while(true){
if(session == null || !session.isConnected()){
logger.fine("session guard: no connection");
Platform.runLater(new Runnable() {
@Override
public void run() {
selectServerDialog.setErrorMessage("The current session was disconnected");
closeCurrentSession();
selectServerDialog.showOnStage(mainStage);
}
});
break;
}
Thread.yield();
}
logger.fine("terminating session guard");
}}).start();
loginDialog.setErrorMessage("");
setupSessionListener(); //resister a message listener to the session
session.start(); //start receiving traffic from the server