@Override public M maskGameForPlayer(final U game, final Player<ID> player) { M playerMaskedGame = newMaskedGame(); copyUnmaskedData(game, playerMaskedGame); Map<ID, Player<ID>> idMap = createIDMap(game); copyMaskedData(game, player, playerMaskedGame, idMap); return playerMaskedGame; }
protected void copyMaskedData(final U game, final Player<ID> player, final M playerMaskedGame, final Map<ID, Player<ID>> idMap) { final Class<ID> idClass = getIDClass(); }
@Override protected void copyUnmaskedData(final U game, final M playerMaskedGame) { super.copyUnmaskedData(game, playerMaskedGame); }
@Override protected void copyMaskedData(final U game, final Player<ID> player, final M playerMaskedGame, final Map<ID, Player<ID>> idMap) { super.copyMaskedData(game, player, playerMaskedGame, idMap); playerMaskedGame.getPlayers().put(player.getMd5(), player.getDisplayName()); playerMaskedGame.getPlayerImages().put(player.getMd5(), player.getImageUrl()); playerMaskedGame.getPlayerProfiles().put(player.getMd5(), player.getProfileUrl()); }
protected void copyUnmaskedData(final U game, final M playerMaskedGame) { playerMaskedGame.setCompletedTimestamp(convertTime(game.getCompletedTimestamp())); playerMaskedGame.setCreated(convertTime(game.getCreated())); playerMaskedGame.setLastUpdate(convertTime(game.getLastUpdate())); playerMaskedGame.getFeatures().addAll(game.getFeatures()); playerMaskedGame.setId(game.getIdAsString()); playerMaskedGame.setGamePhase(game.getGamePhase()); playerMaskedGame.setRound(game.getRound()); playerMaskedGame.setPreviousId(game.getPreviousIdAsString()); }
@Override protected void copyUnmaskedData(final IMPL game, final M playerMaskedGame) { super.copyUnmaskedData(game, playerMaskedGame); playerMaskedGame.setDeclinedTimestamp(convertTime(game.getDeclinedTimestamp())); playerMaskedGame.setRematchTimestamp(convertTime(game.getRematchTimestamp())); } }
@Override protected void copyMaskedData(final IMPL game, final Player<ID> player, final M playerMaskedGame, final Map<ID, Player<ID>> idMap) { super.copyMaskedData(game, player, playerMaskedGame, idMap); playerMaskedGame.setMaskedForPlayerMD5(player.getMd5()); playerMaskedGame.setMaskedForPlayerID(player.getIdAsString()); game.getAllPlayers().forEach(p -> { playerMaskedGame.getPlayers().put(p.getMd5(), p.getDisplayName()); playerMaskedGame.getPlayerImages().put(p.getMd5(), p.getImageUrl()); playerMaskedGame.getPlayerProfiles().put(p.getMd5(), p.getProfileUrl()); playerMaskedGame.getPlayerStates().put(p.getMd5(), game.getPlayerStates().get(p.getId())); }); playerMaskedGame.setInitiatingPlayer(idMap.get(game.getInitiatingPlayer()).getMd5()); }