From fe9bc890f69b2cdffdfa7d535369b0285e0d56db Mon Sep 17 00:00:00 2001 From: "marcin.sciesinski" Date: Wed, 17 Mar 2021 05:16:17 -0700 Subject: [PATCH] Cleaned up decisions --- .../lotro/game/state/EventSerializer.java | 13 +++--------- .../decisions/AbstractAwaitingDecision.java | 6 +++--- .../logic/decisions/AwaitingDecision.java | 2 +- .../lotro/at/IndividualCardAtTest.java | 2 +- .../com/gempukku/lotro/at/NewCardsAtTest.java | 2 +- .../com/gempukku/lotro/at/ToilAtTest.java | 20 +++++++++---------- .../at/effects/PlayCardFromDiscardAtTest.java | 4 ++-- .../lotro/cards/GenericCardTestHelper.java | 6 +++--- 8 files changed, 24 insertions(+), 31 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/EventSerializer.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/EventSerializer.java index f2a587628..893711c44 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/EventSerializer.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/EventSerializer.java @@ -116,19 +116,12 @@ public class EventSerializer { eventElem.setAttribute("decisionType", decision.getDecisionType().name()); if (decision.getText() != null) eventElem.setAttribute("text", decision.getText()); - for (Map.Entry paramEntry : decision.getDecisionParameters().entrySet()) { - if (paramEntry.getValue() instanceof String) { + for (Map.Entry paramEntry : decision.getDecisionParameters().entrySet()) { + for (String value : paramEntry.getValue()) { Element decisionParam = doc.createElement("parameter"); decisionParam.setAttribute("name", paramEntry.getKey()); - decisionParam.setAttribute("value", (String) paramEntry.getValue()); + decisionParam.setAttribute("value", value); eventElem.appendChild(decisionParam); - } else if (paramEntry.getValue() instanceof String[]) { - for (String value : (String[]) paramEntry.getValue()) { - Element decisionParam = doc.createElement("parameter"); - decisionParam.setAttribute("name", paramEntry.getKey()); - decisionParam.setAttribute("value", value); - eventElem.appendChild(decisionParam); - } } } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AbstractAwaitingDecision.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AbstractAwaitingDecision.java index 0819d5f06..ca78bf4a4 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AbstractAwaitingDecision.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AbstractAwaitingDecision.java @@ -7,7 +7,7 @@ public abstract class AbstractAwaitingDecision implements AwaitingDecision { private int _id; private String _text; private AwaitingDecisionType _decisionType; - private Map _params = new HashMap(); + private Map _params = new HashMap(); public AbstractAwaitingDecision(int id, String text, AwaitingDecisionType decisionType) { _id = id; @@ -16,7 +16,7 @@ public abstract class AbstractAwaitingDecision implements AwaitingDecision { } protected void setParam(String name, String value) { - _params.put(name, value); + setParam(name, new String[] {value}); } protected void setParam(String name, String[] value) { @@ -39,7 +39,7 @@ public abstract class AbstractAwaitingDecision implements AwaitingDecision { } @Override - public Map getDecisionParameters() { + public Map getDecisionParameters() { return _params; } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AwaitingDecision.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AwaitingDecision.java index 5621eaa6c..519087a03 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AwaitingDecision.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/decisions/AwaitingDecision.java @@ -9,7 +9,7 @@ public interface AwaitingDecision { public AwaitingDecisionType getDecisionType(); - public Map getDecisionParameters(); + public Map getDecisionParameters(); public void decisionMade(String result) throws DecisionResultInvalidException; } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java index 728656315..dcd267ea3 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/IndividualCardAtTest.java @@ -952,7 +952,7 @@ public class IndividualCardAtTest extends AbstractAtTest { playerDecided(P2, getCardActionId(playShadowAction, "Play Cave")); final AwaitingDecision discardGoblins = _userFeedback.getAwaitingDecision(P2); - assertEquals("3", discardGoblins.getDecisionParameters().get("min")); + assertEquals("3", discardGoblins.getDecisionParameters().get("min")[0]); } @Test diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java index 69ff80c3d..bbbd8d6fc 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java @@ -586,7 +586,7 @@ public class NewCardsAtTest extends AbstractAtTest { playerDecided(P1, "" + merry.getCardId()); playerDecided(P1, getCardActionId(P1, "Use Bilbo's Pipe")); - assertEquals("2", _userFeedback.getAwaitingDecision(P1).getDecisionParameters().get("max")); + assertEquals("2", _userFeedback.getAwaitingDecision(P1).getDecisionParameters().get("max")[0]); } @Test diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/ToilAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/ToilAtTest.java index 57d1019ef..876a94537 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/ToilAtTest.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/ToilAtTest.java @@ -147,8 +147,8 @@ public class ToilAtTest extends AbstractAtTest { AwaitingDecision toilExertion = _userFeedback.getAwaitingDecision(P2); assertEquals(AwaitingDecisionType.CARD_SELECTION, toilExertion.getDecisionType()); - assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")); - assertEquals("1", (String) toilExertion.getDecisionParameters().get("max")); + assertEquals("0", toilExertion.getDecisionParameters().get("min")[0]); + assertEquals("1", toilExertion.getDecisionParameters().get("max")[0]); validateContents(new String[]{"" + corpsOfHarad.getCardId()}, (String[]) toilExertion.getDecisionParameters().get("cardId")); playerDecided(P2, "" + corpsOfHarad.getCardId()); @@ -186,8 +186,8 @@ public class ToilAtTest extends AbstractAtTest { AwaitingDecision toilExertion = _userFeedback.getAwaitingDecision(P2); assertEquals(AwaitingDecisionType.CARD_SELECTION, toilExertion.getDecisionType()); - assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")); - assertEquals("1", (String) toilExertion.getDecisionParameters().get("max")); + assertEquals("0", toilExertion.getDecisionParameters().get("min")[0]); + assertEquals("1", (String) toilExertion.getDecisionParameters().get("max")[0]); validateContents(new String[]{"" + corpsOfHarad.getCardId()}, (String[]) toilExertion.getDecisionParameters().get("cardId")); playerDecided(P2, ""); @@ -227,8 +227,8 @@ public class ToilAtTest extends AbstractAtTest { AwaitingDecision toilExertion = _userFeedback.getAwaitingDecision(P2); assertEquals(AwaitingDecisionType.CARD_SELECTION, toilExertion.getDecisionType()); - assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")); - assertEquals("2", (String) toilExertion.getDecisionParameters().get("max")); + assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")[0]); + assertEquals("2", (String) toilExertion.getDecisionParameters().get("max")[0]); validateContents(new String[]{"" + corpsOfHarad1.getCardId(), "" + corpsOfHarad2.getCardId()}, (String[]) toilExertion.getDecisionParameters().get("cardId")); playerDecided(P2, corpsOfHarad1.getCardId() + "," + corpsOfHarad2.getCardId()); @@ -269,8 +269,8 @@ public class ToilAtTest extends AbstractAtTest { AwaitingDecision toilExertion = _userFeedback.getAwaitingDecision(P2); assertEquals(AwaitingDecisionType.CARD_SELECTION, toilExertion.getDecisionType()); - assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")); - assertEquals("2", (String) toilExertion.getDecisionParameters().get("max")); + assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")[0]); + assertEquals("2", (String) toilExertion.getDecisionParameters().get("max")[0]); validateContents(new String[]{"" + corpsOfHarad1.getCardId(), "" + corpsOfHarad2.getCardId()}, (String[]) toilExertion.getDecisionParameters().get("cardId")); playerDecided(P2, "" + corpsOfHarad1.getCardId()); @@ -317,8 +317,8 @@ public class ToilAtTest extends AbstractAtTest { AwaitingDecision toilExertion = _userFeedback.getAwaitingDecision(P2); assertEquals(AwaitingDecisionType.CARD_SELECTION, toilExertion.getDecisionType()); - assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")); - assertEquals("5", (String) toilExertion.getDecisionParameters().get("max")); + assertEquals("0", (String) toilExertion.getDecisionParameters().get("min")[0]); + assertEquals("5", (String) toilExertion.getDecisionParameters().get("max")[0]); validateContents(new String[]{"" + corpsOfHarad1.getCardId(), "" + corpsOfHarad2.getCardId(), "" + corpsOfHarad3.getCardId(), "" + corpsOfHarad4.getCardId(), "" + corpsOfHarad5.getCardId()}, (String[]) toilExertion.getDecisionParameters().get("cardId")); playerDecided(P2, corpsOfHarad1.getCardId() + "," + corpsOfHarad2.getCardId() + "," + corpsOfHarad3.getCardId() + "," + corpsOfHarad4.getCardId() + "," + corpsOfHarad5.getCardId()); diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/effects/PlayCardFromDiscardAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/effects/PlayCardFromDiscardAtTest.java index 6698a3926..3ec1a1da6 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/effects/PlayCardFromDiscardAtTest.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/effects/PlayCardFromDiscardAtTest.java @@ -38,8 +38,8 @@ public class PlayCardFromDiscardAtTest extends AbstractAtTest { playerDecided(P2, getCardActionId(P2, "Use They Are Coming")); - Map decisionParameters = _userFeedback.getAwaitingDecision(P2).getDecisionParameters(); - String[] cardId = (String[]) decisionParameters.get("cardId"); + Map decisionParameters = _userFeedback.getAwaitingDecision(P2).getDecisionParameters(); + String[] cardId = decisionParameters.get("cardId"); assertEquals(1, cardId.length); assertEquals(String.valueOf(goblinSneakInDiscard.getCardId()), cardId[0]); } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java index 2cef73d10..2131b58ac 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/cards/GenericCardTestHelper.java @@ -167,15 +167,15 @@ public class GenericCardTestHelper extends AbstractAtTest { public List ShadowGetMultipleChoices() { return GetADParamAsList(P2, "results"); } public List FreepsGetADParamAsList(String paramName) { return GetADParamAsList(P1, paramName); } public List ShadowGetADParamAsList(String paramName) { return GetADParamAsList(P2, paramName); } - public List GetADParamAsList(String playerID, String paramName) { return Arrays.asList((String[])GetAwaitingDecisionParam(playerID, paramName)); } + public List GetADParamAsList(String playerID, String paramName) { return Arrays.asList(GetAwaitingDecisionParam(playerID, paramName)); } public Object FreepsGetADParam(String paramName) { return GetAwaitingDecisionParam(P1, paramName); } public Object ShadowGetADParam(String paramName) { return GetAwaitingDecisionParam(P2, paramName); } - public Object GetAwaitingDecisionParam(String playerID, String paramName) { + public String[] GetAwaitingDecisionParam(String playerID, String paramName) { AwaitingDecision decision = _userFeedback.getAwaitingDecision(playerID); return decision.getDecisionParameters().get(paramName); } - public Map GetAwaitingDecisionParams(String playerID) { + public Map GetAwaitingDecisionParams(String playerID) { AwaitingDecision decision = _userFeedback.getAwaitingDecision(playerID); return decision.getDecisionParameters(); }