From ad4b4e82c21345548c6f73775bc44037b422de70 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Mon, 12 Sep 2011 21:15:54 -0400 Subject: [PATCH] fixed various NPEs --- .../main/java/mage/server/TableController.java | 2 ++ .../java/mage/server/game/PlayerFactory.java | 16 +++++++++++----- .../effects/common/PutOnLibraryTargetEffect.java | 10 ++++++---- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/TableController.java b/Mage.Server/src/main/java/mage/server/TableController.java index fb549c212cb..dfdb9e15ecc 100644 --- a/Mage.Server/src/main/java/mage/server/TableController.java +++ b/Mage.Server/src/main/java/mage/server/TableController.java @@ -470,6 +470,8 @@ public class TableController { } public boolean isOwner(UUID userId) { + if (userId == null) + return false; return userId.equals(this.userId); } diff --git a/Mage.Server/src/main/java/mage/server/game/PlayerFactory.java b/Mage.Server/src/main/java/mage/server/game/PlayerFactory.java index 4420d80ba34..90f5a3d552f 100644 --- a/Mage.Server/src/main/java/mage/server/game/PlayerFactory.java +++ b/Mage.Server/src/main/java/mage/server/game/PlayerFactory.java @@ -57,14 +57,20 @@ public class PlayerFactory { Player player; Constructor con; try { - con = playerTypes.get(playerType).getConstructor(new Class[]{String.class, RangeOfInfluence.class, int.class}); - player = (Player)con.newInstance(new Object[] {name, range, skill}); + Class playerTypeClass = playerTypes.get(playerType); + if (playerTypeClass != null) { + con = playerTypeClass.getConstructor(new Class[]{String.class, RangeOfInfluence.class, int.class}); + player = (Player)con.newInstance(new Object[] {name, range, skill}); + logger.info("Player created: " + name + "-" + player.getId().toString()); + return player; + } + else { + logger.fatal("Unknown player type: " + playerType); + } } catch (Exception ex) { logger.fatal("PlayerFactory error ", ex); - return null; } - logger.info("Player created: " + name + "-" + player.getId().toString()); - return player; + return null; } public Set getPlayerTypes() { diff --git a/Mage/src/mage/abilities/effects/common/PutOnLibraryTargetEffect.java b/Mage/src/mage/abilities/effects/common/PutOnLibraryTargetEffect.java index fd88106e110..07aedce5fea 100644 --- a/Mage/src/mage/abilities/effects/common/PutOnLibraryTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/PutOnLibraryTargetEffect.java @@ -74,10 +74,12 @@ public class PutOnLibraryTargetEffect extends OneShotEffect