fix transformation of values which are Sets fixing test failure introduced, and expand test coverage; the problem was not introduced here, but i think it was hidden because we weren't transforming values in some cases. presumably now we are transforming better+more, and with this we're also transforming Set instances correctly.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/50b3c22c Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/50b3c22c Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/50b3c22c Branch: refs/heads/master Commit: 50b3c22c00f0741b01ec720961308105df89d337 Parents: a8644cd Author: Alex Heneveld <[email protected]> Authored: Thu Jan 14 22:00:09 2016 +0000 Committer: Alex Heneveld <[email protected]> Committed: Thu Jan 14 22:20:14 2016 +0000 ---------------------------------------------------------------------- .../BrooklynComponentTemplateResolver.java | 2 +- .../camp/brooklyn/EntitiesYamlTest.java | 27 +++++++++++++------- .../core/mgmt/EntityManagementUtils.java | 2 +- 3 files changed, 20 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50b3c22c/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java ---------------------------------------------------------------------- diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java index 06c2b86..fdc2559 100644 --- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java +++ b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java @@ -333,7 +333,7 @@ public class BrooklynComponentTemplateResolver { if (input instanceof Map) return transformSpecialFlags((Map<?, ?>)input); else if (input instanceof Set<?>) - return MutableSet.of(transformSpecialFlags((Iterable<?>)input)); + return MutableSet.copyOf(transformSpecialFlags((Iterable<?>)input)); else if (input instanceof List<?>) return MutableList.copyOf(transformSpecialFlags((Iterable<?>)input)); else if (input instanceof Iterable<?>) http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50b3c22c/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/EntitiesYamlTest.java ---------------------------------------------------------------------- diff --git a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/EntitiesYamlTest.java b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/EntitiesYamlTest.java index 5872995..af2faf9 100644 --- a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/EntitiesYamlTest.java +++ b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/EntitiesYamlTest.java @@ -102,7 +102,6 @@ public class EntitiesYamlTest extends AbstractYamlTest { setupAndCheckTestEntityInBasicYamlWith(); } - @SuppressWarnings("unchecked") @Test public void testBrooklynConfig() throws Exception { Entity testEntity = setupAndCheckTestEntityInBasicYamlWith( @@ -115,6 +114,17 @@ public class EntitiesYamlTest extends AbstractYamlTest { " - dogs", " - cats", " - badgers", + " test.confSetPlain: !!set", + " ? square", + " ? circle", + " ? triangle", + " test.confMapThing:", + " foo: bar", + " baz: qux", + " test.confListThing:", + " - dogs", + " - cats", + " - badgers", " test.confSetThing: !!set", " ? square", " ? circle", @@ -122,14 +132,13 @@ public class EntitiesYamlTest extends AbstractYamlTest { " test.confObject: 5"); Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_NAME), "Test Entity Name"); - List<String> list = testEntity.getConfig(TestEntity.CONF_LIST_PLAIN); - Assert.assertEquals(list, ImmutableList.of("dogs", "cats", "badgers")); - Map<String, String> map = testEntity.getConfig(TestEntity.CONF_MAP_PLAIN); - Assert.assertEquals(map, ImmutableMap.of("foo", "bar", "baz", "qux")); - Set<String> set = (Set<String>)testEntity.getConfig(TestEntity.CONF_SET_THING); - Assert.assertEquals(set, ImmutableSet.of("square", "circle", "triangle")); - Object object = testEntity.getConfig(TestEntity.CONF_OBJECT); - Assert.assertEquals(object, 5); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_OBJECT), 5); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_LIST_PLAIN), ImmutableList.of("dogs", "cats", "badgers")); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_MAP_PLAIN), ImmutableMap.of("foo", "bar", "baz", "qux")); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_SET_PLAIN), ImmutableSet.of("square", "circle", "triangle")); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_LIST_THING), ImmutableList.of("dogs", "cats", "badgers")); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_MAP_THING), ImmutableMap.of("foo", "bar", "baz", "qux")); + Assert.assertEquals(testEntity.getConfig(TestEntity.CONF_SET_THING), ImmutableSet.of("square", "circle", "triangle")); } @Test http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/50b3c22c/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java ---------------------------------------------------------------------- diff --git a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java index c0868ef..e75e2de 100644 --- a/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java +++ b/brooklyn-server/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java @@ -258,7 +258,7 @@ public class EntityManagementUtils { wrappedChild.catalogItemId(wrapperParent.getCatalogItemId()); } - // NB: this clobber's child config; might prefer to deeply merge maps etc + // NB: this clobber's child config wherever they conflict; might prefer to deeply merge maps etc // (or maybe even prevent the merge in these cases; // not sure there is a compelling reason to have config on a pure-wrapper parent) Map<ConfigKey<?>, Object> configWithoutWrapperMarker = Maps.filterKeys(wrapperParent.getConfig(), Predicates.not(Predicates.<ConfigKey<?>>equalTo(EntityManagementUtils.WRAPPER_APP_MARKER)));
