Introducing Optionals

This commit is contained in:
igoudt 2017-01-14 21:52:40 +01:00
parent 97261fdcca
commit f98afdf4ad
21 changed files with 407 additions and 483 deletions

View file

@ -30,7 +30,9 @@ package mage.server.game;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import mage.game.Game;
import mage.game.Table;
import mage.interfaces.callback.ClientCallback;
@ -44,7 +46,6 @@ import mage.view.SimpleCardsView;
import org.apache.log4j.Logger;
/**
*
* @author BetaSteward_at_googlemail.com
*/
public class GameSessionWatcher {
@ -64,9 +65,9 @@ public class GameSessionWatcher {
public boolean init() {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
Optional<User> user = UserManager.getInstance().getUser(userId);
if (user.isPresent()) {
user.get().fireCallback(new ClientCallback("gameInit", game.getId(), getGameView()));
return true;
}
}
@ -75,44 +76,36 @@ public class GameSessionWatcher {
public void update() {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameUpdate", game.getId(), getGameView()));
}
UserManager.getInstance().getUser(userId).ifPresent(user -> user.fireCallback(new ClientCallback("gameUpdate", game.getId(), getGameView())));
}
}
public void inform(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameInform", game.getId(), new GameClientMessage(getGameView(), message)));
}
UserManager.getInstance().getUser(userId).ifPresent(user -> user.fireCallback(new ClientCallback("gameInform", game.getId(), new GameClientMessage(getGameView(), message))));
}
}
public void informPersonal(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameInformPersonal", game.getId(), new GameClientMessage(getGameView(), message)));
}
UserManager.getInstance().getUser(userId).ifPresent(user -> user.fireCallback(new ClientCallback("gameInformPersonal", game.getId(), new GameClientMessage(getGameView(), message))));
}
}
public void gameOver(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
UserManager.getInstance().getUser(userId).ifPresent(user -> {
user.removeGameWatchInfo(game.getId());
user.fireCallback(new ClientCallback("gameOver", game.getId(), message));
}
});
}
}
/**
* Cleanup if Session ends
*
*/
public void cleanUp() {
@ -120,10 +113,8 @@ public class GameSessionWatcher {
public void gameError(final String message) {
if (!killed) {
User user = UserManager.getInstance().getUser(userId);
if (user != null) {
user.fireCallback(new ClientCallback("gameError", game.getId(), message));
}
UserManager.getInstance().getUser(userId).ifPresent(user -> user.fireCallback(new ClientCallback("gameError", game.getId(), message)));
}
}
@ -140,13 +131,14 @@ public class GameSessionWatcher {
protected void processWatchedHands(UUID userId, GameView gameView) {
Map<String, SimpleCardsView> handCards = new HashMap<>();
for (Player player: game.getPlayers().values()) {
for (Player player : game.getPlayers().values()) {
if (player.hasUserPermissionToSeeHand(userId)) {
handCards.put(player.getName(), new SimpleCardsView(player.getHand().getCards(game), true));
gameView.setWatchedHands(handCards);
}
}
}
public GameEndView getGameEndView(UUID playerId, Table table) {
return new GameEndView(game.getState(), game, playerId, table);
}
@ -154,5 +146,5 @@ public class GameSessionWatcher {
public boolean isPlayer() {
return isPlayer;
}
}