mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
Changes to logging and NPE checks.
This commit is contained in:
parent
babbd9ff19
commit
80346d44da
3 changed files with 61 additions and 27 deletions
|
|
@ -636,8 +636,13 @@ public class MageServerImpl implements MageServer {
|
|||
return executeWithResult("sendCardPick", sessionId, new ActionWithNullNegativeResult<DraftPickView>() {
|
||||
@Override
|
||||
public DraftPickView execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
return DraftManager.getInstance().sendCardPick(draftId, userId, cardPick);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session != null) {
|
||||
return DraftManager.getInstance().sendCardPick(draftId, session.getUserId(), cardPick);
|
||||
} else{
|
||||
logger.error("Session not found sessionId: "+ sessionId + " draftId:" + draftId);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -658,8 +663,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("concedeGame", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().concedeGame(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session != null) {
|
||||
GameManager.getInstance().concedeGame(gameId, session.getUserId());
|
||||
} else{
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" +gameId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -669,8 +678,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("quitMatch", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().quitMatch(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session != null) {
|
||||
GameManager.getInstance().quitMatch(gameId, session.getUserId());
|
||||
} else{
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" +gameId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -680,8 +693,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("quitTournament", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
TournamentManager.getInstance().quit(tournamentId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session != null) {
|
||||
TournamentManager.getInstance().quit(tournamentId, session.getUserId());
|
||||
}else{
|
||||
logger.error("Session not found sessionId: "+ sessionId + " tournamentId:" + tournamentId);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -691,12 +708,16 @@ public class MageServerImpl implements MageServer {
|
|||
execute("quitDraft", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session == null) {
|
||||
logger.error("Session not found sessionId: "+ sessionId + " draftId:" + draftId);
|
||||
return;
|
||||
}
|
||||
UUID tableId = DraftManager.getInstance().getControllerByDraftId(draftId).getTableId();
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
Table table = TableManager.getInstance().getTable(tableId);
|
||||
if (table.isTournament()) {
|
||||
UUID tournamentId = table.getTournament().getId();
|
||||
TournamentManager.getInstance().quit(tournamentId, userId);
|
||||
TournamentManager.getInstance().quit(tournamentId, session.getUserId());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -707,8 +728,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("undo", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().undo(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session == null) {
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" + gameId);
|
||||
return;
|
||||
}
|
||||
GameManager.getInstance().undo(gameId, session.getUserId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -718,8 +743,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("passPriorityUntilNextYourTurn", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().passPriorityUntilNextYourTurn(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session == null) {
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" + gameId);
|
||||
return;
|
||||
}
|
||||
GameManager.getInstance().passPriorityUntilNextYourTurn(gameId, session.getUserId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -729,8 +758,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("passTurnPriority", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().passTurnPriority(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session == null) {
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" + gameId);
|
||||
return;
|
||||
}
|
||||
GameManager.getInstance().passTurnPriority(gameId, session.getUserId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -740,8 +773,12 @@ public class MageServerImpl implements MageServer {
|
|||
execute("restorePriority", sessionId, new Action() {
|
||||
@Override
|
||||
public void execute() {
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
GameManager.getInstance().restorePriority(gameId, userId);
|
||||
Session session = SessionManager.getInstance().getSession(sessionId);
|
||||
if (session == null) {
|
||||
logger.error("Session not found sessionId: "+ sessionId + " gameId:" + gameId);
|
||||
return;
|
||||
}
|
||||
GameManager.getInstance().restorePriority(gameId, session.getUserId());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -195,20 +195,16 @@ public class Session {
|
|||
public void userLostConnection() {
|
||||
User user = UserManager.getInstance().getUser(userId);
|
||||
if (user == null) {
|
||||
logger.error("Session.userLostConnection user for session not found sessionId: " + sessionId + " userId: " +userId);
|
||||
logger.error("User for session not found sessionId: " + sessionId + " userId: " +userId);
|
||||
// can happen if user from same host sign in multiple time with multiple clients, after he disconnects with one client
|
||||
return;
|
||||
}
|
||||
if (user.getSessionId().isEmpty()) {
|
||||
logger.debug("Session.userLostConnection user was already disconnected sessionId: " + sessionId + " userId: " +userId);
|
||||
logger.debug("User was already disconnected sessionId: " + sessionId + " userId: " +userId);
|
||||
return;
|
||||
}
|
||||
if (logger.isInfoEnabled()) {
|
||||
StringBuilder sb = new StringBuilder("user ");
|
||||
if (user == null) {
|
||||
sb.append("[user not found]");
|
||||
} else {
|
||||
sb.append(user.getName());
|
||||
}
|
||||
StringBuilder sb = new StringBuilder(user.getName());
|
||||
sb.append(" lost connection - userId: ").append(userId);
|
||||
sb.append(" sessionId: ").append(sessionId);
|
||||
logger.info(sb);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,8 @@ public class SessionManager {
|
|||
}
|
||||
Session session = sessions.get(sessionId);
|
||||
if (session != null && session.getUserId() != null && UserManager.getInstance().getUser(session.getUserId()) == null) {
|
||||
logger.error("User for session " + sessionId + " with userId " + session.getUserId() + " is missing. Session removed. Cause for this still unclear.");
|
||||
logger.error("User for session " + sessionId + " with userId " + session.getUserId() + " is missing. Session removed.");
|
||||
// can happen if user from same host signs in multiple time with multiple clients, after he disconnects with one client
|
||||
disconnect(sessionId, DisconnectReason.LostConnection);
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue