@Override public GameStatusResponse getResponse(GameStatusMessage message, String gameId) { GameController gameController = getGameController(); GameStatusResponse gameResponse; try { gameResponse = makeMove(message, gameController); gameResponse.setActionStatus(OK); } catch (ActionNotAllowedException e) { gameResponse = new GameStatusResponse(gameController); gameResponse.setActionStatus(e.getMessage()); log.debug("Action not allowed " + e.getMessage() + " thrown to player " + message.userId); } gameResponse.setLastAction(message); return gameResponse; }
private GameStatusResponse makeMove(GameStatusMessage message, GameController gameController) throws ActionNotAllowedException { changeGameStateWithAction(gameController, message); log.debug( "Game " + message.gameId + " Player " + message.userId + " performs " + message.action + " (card " + message.cardId + ")"); GameStatusResponse gameStatusResponse = new GameStatusResponse(gameController); log.debug( "New game status: " + System.getProperty("line.separator") + gameStatusResponse.toString()); return gameStatusResponse; }