diff --git a/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java b/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java index 75fab491c..66f52a464 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/GroupedParameterizedElement.java @@ -88,7 +88,7 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement * * @return the found {@link Parameter} or null if it was not found */ - public > T getParameter(String bagKey, String paramKey) { + public > T getParameter(String bagKey, String paramKey) { return getParameter(bagKey, paramKey, false); } @@ -108,7 +108,7 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement * @throws StrolchModelException * if the element does not exist and assertExists is true */ - public > T getParameter(String bagKey, String paramKey, boolean assertExists) + public > T getParameter(String bagKey, String paramKey, boolean assertExists) throws StrolchModelException { if (this.parameterBagMap == null) { if (assertExists) { diff --git a/li.strolch.model/src/main/java/li/strolch/model/ParameterBagContainer.java b/li.strolch.model/src/main/java/li/strolch/model/ParameterBagContainer.java index 5de7cbde1..a44575832 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/ParameterBagContainer.java +++ b/li.strolch.model/src/main/java/li/strolch/model/ParameterBagContainer.java @@ -25,7 +25,7 @@ public interface ParameterBagContainer extends StrolchElement { * * @return the found {@link Parameter} or null if it was not found */ - public > T getParameter(String bagKey, String paramKey); + public > T getParameter(String bagKey, String paramKey); /** * Returns the {@link Parameter} with the given key from the {@link ParameterBag} with the given bagKey, or null if @@ -40,7 +40,7 @@ public interface ParameterBagContainer extends StrolchElement { * * @return the found {@link Parameter} or null if it was not found */ - public > T getParameter(String bagKey, String paramKey, boolean assertExists); + public > T getParameter(String bagKey, String paramKey, boolean assertExists); /** * Adds a new {@link Parameter} to the {@link ParameterBag} with the given key diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java index 512c7f44f..27ae039b5 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Action.java @@ -271,7 +271,7 @@ public class Action extends GroupedParameterizedElement implements IActivityElem } @Override - public > T findParameter(String bagKey, String paramKey) { + public > T findParameter(String bagKey, String paramKey) { T parameter = getParameter(bagKey, paramKey); if (parameter != null) @@ -281,7 +281,7 @@ public class Action extends GroupedParameterizedElement implements IActivityElem } @Override - public > T findParameter(String bagKey, String paramKey, boolean assertExists) + public > T findParameter(String bagKey, String paramKey, boolean assertExists) throws StrolchModelException { T parameter = getParameter(bagKey, paramKey); diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java index a8d32b2bc..75f49562d 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java @@ -370,7 +370,7 @@ public class Activity extends AbstractStrolchRootElement } @Override - public > T findParameter(String bagKey, String paramKey) { + public > T findParameter(String bagKey, String paramKey) { T parameter = getParameter(bagKey, paramKey); if (parameter != null) @@ -383,7 +383,7 @@ public class Activity extends AbstractStrolchRootElement } @Override - public > T findParameter(String bagKey, String paramKey, boolean assertExists) + public > T findParameter(String bagKey, String paramKey, boolean assertExists) throws StrolchModelException { T parameter = getParameter(bagKey, paramKey); diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/IActivityElement.java b/li.strolch.model/src/main/java/li/strolch/model/activity/IActivityElement.java index 5ba89e104..7b6553c90 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/IActivityElement.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/IActivityElement.java @@ -63,7 +63,7 @@ public interface IActivityElement extends StrolchElement { * * @see GroupedParameterizedElement#getParameter(String, String) */ - public > T findParameter(String bagKey, String paramKey); + public > T findParameter(String bagKey, String paramKey); /** *

@@ -77,7 +77,7 @@ public interface IActivityElement extends StrolchElement { * * @see GroupedParameterizedElement#getParameter(String, String, boolean) */ - public > T findParameter(String bagKey, String paramKey, boolean assertExists) + public > T findParameter(String bagKey, String paramKey, boolean assertExists) throws StrolchModelException; @Override diff --git a/li.strolch.model/src/test/java/li/strolch/model/ModelTest.java b/li.strolch.model/src/test/java/li/strolch/model/ModelTest.java index 8aa8facce..5a03ec042 100644 --- a/li.strolch.model/src/test/java/li/strolch/model/ModelTest.java +++ b/li.strolch.model/src/test/java/li/strolch/model/ModelTest.java @@ -113,6 +113,8 @@ public class ModelTest { assertEquals("Test resource", resource.getName()); assertEquals("MyType", resource.getType()); + assertParams(resource); + ParameterBag bag = resource.getParameterBag(BAG_ID); validateBag(bag); @@ -130,6 +132,7 @@ public class ModelTest { assertEquals(date, order.getDate()); assertEquals(State.CLOSED, order.getState()); + assertParams(order); ParameterBag bag = order.getParameterBag(BAG_ID); validateBag(bag); } @@ -155,6 +158,8 @@ public class ModelTest { assertEquals(actName, activity.getName()); assertEquals(actType, activity.getType()); + assertParams(activity); + ParameterBag bag = activity.getParameterBag(BAG_ID); validateBag(bag); @@ -167,6 +172,10 @@ public class ModelTest { assertEquals(ACTION_RES_TYPE, action.getResourceType()); assertEquals(changes, action.getChanges()); + assertParams(action); + bag = action.getParameterBag(BAG_ID); + validateBag(bag); + activity = activity.getElement("sub_" + actId); assertEquals("sub_" + actId, activity.getId()); assertEquals("sub_" + actName, activity.getName()); @@ -389,6 +398,53 @@ public class ModelTest { validateParams(bag); } + private void assertParams(ParameterBagContainer bagContainer) { + Boolean bool = bagContainer.getParameter(BAG_ID, PARAM_BOOLEAN_ID).getValue(); + assertEquals(true, bool.booleanValue()); + + String string = bagContainer.getParameter(BAG_ID, PARAM_STRING_ID).getValue(); + assertEquals("Strolch", string); + + Integer integer = bagContainer.getParameter(BAG_ID, PARAM_INTEGER_ID).getValue(); + assertEquals(77, integer.intValue()); + + Date date = bagContainer.getParameter(BAG_ID, PARAM_DATE_ID).getValue(); + assertEquals(1354295525628L, date.getTime()); + + Double doubl = bagContainer.getParameter(BAG_ID, PARAM_FLOAT_ID).getValue(); + assertEquals(44.3, doubl.doubleValue(), 0.0001); + + Long lon = bagContainer.getParameter(BAG_ID, PARAM_LONG_ID).getValue(); + assertEquals(4453234566L, lon.longValue()); + + List doubles = bagContainer.getParameter(BAG_ID, PARAM_LIST_FLOAT_ID).getValue(); + ArrayList floatList = new ArrayList<>(); + floatList.add(6.0); + floatList.add(11.0); + floatList.add(16.0); + assertEquals(floatList, doubles); + + List integers = bagContainer.getParameter(BAG_ID, PARAM_LIST_INTEGER_ID).getValue(); + ArrayList intList = new ArrayList<>(); + intList.add(5); + intList.add(10); + intList.add(15); + assertEquals(intList, integers); + + List longs = bagContainer.getParameter(BAG_ID, PARAM_LIST_LONG_ID).getValue(); + ArrayList longList = new ArrayList<>(); + longList.add(7L); + longList.add(12L); + longList.add(17L); + assertEquals(longList, longs); + + List strings = bagContainer.getParameter(BAG_ID, PARAM_LIST_STRING_ID).getValue(); + ArrayList stringList = new ArrayList<>(); + stringList.add("Hello"); + stringList.add("World"); + assertEquals(stringList, strings); + } + public static void validateParams(ParameterBag bag) { BooleanParameter boolParam = bag.getParameter(PARAM_BOOLEAN_ID);