Some tests and minor changes.

This commit is contained in:
LevelX2 2016-01-31 09:51:23 +01:00
parent 37cbc50a58
commit 78ac6688ea
11 changed files with 226 additions and 152 deletions

View file

@ -141,7 +141,7 @@ public class MageServerImpl implements MageServer {
String authToken = generateAuthToken();
activeAuthTokens.put(email, authToken);
String subject = "XMage Password Reset Auth Token";
String text = "Use this auth token to reset your password: " + authToken + "\n"
String text = "Use this auth token to reset " + authorizedUser.name + "'s password: " + authToken + "\n"
+ "It's valid until the next server restart.";
boolean success;
if (!ConfigSettings.getInstance().getMailUser().isEmpty()) {
@ -500,11 +500,11 @@ public class MageServerImpl implements MageServer {
try {
callExecutor.execute(
new Runnable() {
@Override
public void run() {
ChatManager.getInstance().broadcast(chatId, userName, StringEscapeUtils.escapeHtml4(message), MessageColor.BLUE);
}
}
@Override
public void run() {
ChatManager.getInstance().broadcast(chatId, userName, StringEscapeUtils.escapeHtml4(message), MessageColor.BLUE);
}
}
);
} catch (Exception ex) {
handleException(ex);
@ -1139,19 +1139,19 @@ public class MageServerImpl implements MageServer {
try {
callExecutor.execute(
new Runnable() {
@Override
public void run() {
if (SessionManager.getInstance().isValidSession(sessionId)) {
try {
action.execute();
} catch (MageException me) {
throw new RuntimeException(me);
}
} else {
LogServiceImpl.instance.log(LogKeys.KEY_NOT_VALID_SESSION_INTERNAL, actionName, sessionId);
}
@Override
public void run() {
if (SessionManager.getInstance().isValidSession(sessionId)) {
try {
action.execute();
} catch (MageException me) {
throw new RuntimeException(me);
}
} else {
LogServiceImpl.instance.log(LogKeys.KEY_NOT_VALID_SESSION_INTERNAL, actionName, sessionId);
}
}
}
);
} catch (Exception ex) {
handleException(ex);

View file

@ -132,19 +132,19 @@ public class TableController {
private void init() {
match.addTableEventListener(
new Listener<TableEvent>() {
@Override
public void event(TableEvent event) {
try {
switch (event.getEventType()) {
case SIDEBOARD:
sideboard(event.getPlayerId(), event.getDeck());
break;
}
} catch (MageException ex) {
logger.fatal("Table event listener error", ex);
}
@Override
public void event(TableEvent event) {
try {
switch (event.getEventType()) {
case SIDEBOARD:
sideboard(event.getPlayerId(), event.getDeck());
break;
}
} catch (MageException ex) {
logger.fatal("Table event listener error", ex);
}
}
}
);
}
@ -333,17 +333,15 @@ public class TableController {
if (player == null || player.hasQuit()) {
return true; // so the construct panel closes after submit
}
} else {
if (table.getMatch() != null) {
MatchPlayer mPlayer = table.getMatch().getPlayer(playerId);
if (mPlayer == null || mPlayer.hasQuit()) {
return true; // so the construct panel closes after submit
}
if (table.isTournamentSubTable()) {
TournamentPlayer tournamentPlayer = table.getTournament().getPlayer(mPlayer.getPlayer().getId());
if (tournamentPlayer != null) {
tournamentPlayer.setStateInfo(""); // reset sideboarding state
}
} else if (table.getMatch() != null) {
MatchPlayer mPlayer = table.getMatch().getPlayer(playerId);
if (mPlayer == null || mPlayer.hasQuit()) {
return true; // so the construct panel closes after submit
}
if (table.isTournamentSubTable()) {
TournamentPlayer tournamentPlayer = table.getTournament().getPlayer(mPlayer.getPlayer().getId());
if (tournamentPlayer != null) {
tournamentPlayer.setStateInfo(""); // reset sideboarding state
}
}
}
@ -390,12 +388,10 @@ public class TableController {
} else {
logger.fatal("Tournament == null table: " + table.getId() + " userId: " + userId);
}
} else if (TableState.SIDEBOARDING.equals(table.getState())) {
match.updateDeck(playerId, deck);
} else {
if (TableState.SIDEBOARDING.equals(table.getState())) {
match.updateDeck(playerId, deck);
} else {
// deck was meanwhile submitted so the autoupdate can be ignored
}
// deck was meanwhile submitted so the autoupdate can be ignored
}
}
@ -591,7 +587,9 @@ public class TableController {
// log about game started
logger.info("GAME started " + match.getGame().getId() + " [" + match.getName() + "] " + creator + " - " + opponent.toString());
logger.debug("- matchId: " + match.getId() + " [" + match.getName() + "]");
logger.debug("- chatId: " + GameManager.getInstance().getChatId(match.getGame().getId()));
if (match.getGame() != null) {
logger.debug("- chatId: " + GameManager.getInstance().getChatId(match.getGame().getId()));
}
LogServiceImpl.instance.log(LogKeys.KEY_GAME_STARTED, String.valueOf(userPlayerMap.size()), creator, opponent.toString());
} catch (Exception ex) {
logger.fatal("Error starting game table: " + table.getId(), ex);
@ -791,11 +789,11 @@ public class TableController {
if (seconds > 0) {
futureTimeout = timeoutExecutor.schedule(
new Runnable() {
@Override
public void run() {
autoSideboard();
}
},
@Override
public void run() {
autoSideboard();
}
},
seconds, TimeUnit.SECONDS
);
}
@ -896,13 +894,11 @@ public class TableController {
logger.debug("- Match table with no match:");
logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]");
// return false;
} else {
if (match.isDoneSideboarding() && match.getGame() == null) {
// no sideboarding and not active game -> match seems to hang (maybe the Draw bug)
logger.debug("- Match with no active game and not in sideboard state:");
logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]");
// return false;
}
} else if (match.isDoneSideboarding() && match.getGame() == null) {
// no sideboarding and not active game -> match seems to hang (maybe the Draw bug)
logger.debug("- Match with no active game and not in sideboard state:");
logger.debug("-- matchId:" + match.getId() + " [" + match.getName() + "]");
// return false;
}
}
// check for active players
@ -964,7 +960,7 @@ public class TableController {
// tournament is not ready, can't start
return false;
}
if (!table.allSeatsAreOccupied()) {
if (!table.allSeatsAreOccupied()) {
logger.debug("Not alle Seats are occupied: stop start tableId:" + table.getId());
return false;
}

View file

@ -40,7 +40,7 @@ import org.apache.log4j.Logger;
*/
public class GameWorker<T> implements Callable {
private static final Logger logger = Logger.getLogger(GameWorker.class);
private static final Logger LOGGER = Logger.getLogger(GameWorker.class);
private final GameCallback gameController;
private final Game game;
@ -55,18 +55,26 @@ public class GameWorker<T> implements Callable {
@Override
public Object call() {
try {
logger.debug("GAME WORKER started gameId " + game.getId());
LOGGER.debug("GAME WORKER started gameId " + game.getId());
Thread.currentThread().setName("GAME " + game.getId());
game.start(choosingPlayerId);
game.fireUpdatePlayersEvent();
gameController.gameResult(game.getWinner());
game.cleanUp();
} catch (MageException ex) {
logger.fatal("GameWorker mage error [" + game.getId() + "]" + ex, ex);
LOGGER.fatal("GameWorker mage error [" + game.getId() + "] " + ex, ex);
} catch (Exception e) {
logger.fatal("GameWorker general exception [" + game.getId() + "]" + e.getMessage(), e);
LOGGER.fatal("GameWorker general exception [" + game.getId() + "] " + e.getMessage(), e);
if (e instanceof NullPointerException) {
if (e.getStackTrace() == null) {
LOGGER.info("Stack trace is null");
} else {
LOGGER.info("Null-Pointer-Exception: Stack trace");
LOGGER.info(e.getStackTrace());
}
}
} catch (Error err) {
logger.fatal("GameWorker general error [" + game.getId() + "]" + err, err);
LOGGER.fatal("GameWorker general error [" + game.getId() + "] " + err, err);
}
return null;
}