From 4beb1ccad385ee4c2455ccdc087281a817975a60 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 11 Aug 2014 13:57:34 +0200 Subject: [PATCH] Some changes to logging. --- .../main/java/mage/server/MageServerImpl.java | 2 +- .../main/java/mage/server/TableManager.java | 2 +- .../tournament/TournamentController.java | 10 ++++--- .../server/tournament/TournamentSession.java | 30 +++++++++++++------ 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/MageServerImpl.java b/Mage.Server/src/main/java/mage/server/MageServerImpl.java index b6ad41af964..181ed6cb00f 100644 --- a/Mage.Server/src/main/java/mage/server/MageServerImpl.java +++ b/Mage.Server/src/main/java/mage/server/MageServerImpl.java @@ -222,7 +222,7 @@ public class MageServerImpl implements MageServer { if (logger.isDebugEnabled()) { User user = UserManager.getInstance().getUser(userId); if (user != null) { - logger.debug("join tourn. tableId: " + tableId + " " + user.getName()); + logger.debug("join tourn. tableId: " + tableId + " " + name); } } if (userId == null) { diff --git a/Mage.Server/src/main/java/mage/server/TableManager.java b/Mage.Server/src/main/java/mage/server/TableManager.java index b92da02ca54..862b7f66fa6 100644 --- a/Mage.Server/src/main/java/mage/server/TableManager.java +++ b/Mage.Server/src/main/java/mage/server/TableManager.java @@ -230,7 +230,7 @@ public class TableManager { removeTable(tableId); } else { - logger.debug("TableManager.leaveTable leaveTable"); + logger.debug("TABLE leave - userId: " + userId + " tableId: " + tableId); tableController.leaveTable(userId); } } diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java index 7824513b71c..f3c045d0582 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentController.java @@ -203,9 +203,9 @@ public class TournamentController { } private synchronized void startTournament() { - for (final Entry entry: tournamentSessions.entrySet()) { - if (!entry.getValue().init()) { - logger.fatal("Unable to initialize client"); + for (final TournamentSession tournamentSession: tournamentSessions.values()) { + if (!tournamentSession.init()) { + logger.fatal("Unable to initialize client userId: " + tournamentSession.userId + " tournamentId " + tournament.getId()); //TODO: generate client error message return; } @@ -220,7 +220,6 @@ public class TournamentController { } for (final TournamentSession tournamentSession: tournamentSessions.values()) { tournamentSession.tournamentOver(); - tournamentSession.removeTournamentForUser(); } this.tournamentSessions.clear(); TableManager.getInstance().endTournament(tableId, tournament); @@ -344,6 +343,9 @@ public class TournamentController { } tPlayer.setQuit(info); tournament.quit(playerId); + if (tournamentSessions.containsKey(playerId)) { + tournamentSessions.get(tPlayer.getPlayer().getId()).quit(); + } } } else { tournament.leave(playerId); diff --git a/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java b/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java index 40f7239a41a..0ba9b1dd6d2 100644 --- a/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java +++ b/Mage.Server/src/main/java/mage/server/tournament/TournamentSession.java @@ -157,13 +157,6 @@ public class TournamentSession { } } - public void removeTournamentForUser() { - User user = UserManager.getInstance().getUser(userId); - if (user != null) { - user.removeTournament(playerId); - } - } - private TournamentView getTournamentView() { return new TournamentView(tournament); } @@ -172,8 +165,27 @@ public class TournamentSession { return tournament.getId(); } - void tournamentOver() { - + public void tournamentOver() { + cleanUp(); + removeTournamentForUser(); } + public void quit() { + cleanUp(); + removeTournamentForUser(); + } + + private void cleanUp() { + if (!futureTimeout.isDone()) { + futureTimeout.cancel(true); + } + } + + private void removeTournamentForUser() { + User user = UserManager.getInstance().getUser(userId); + if (user != null) { + user.removeTournament(playerId); + } + } + }