Fix - don't unwrap if policies/initializers/enrichers set at top level
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/51ca8066 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/51ca8066 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/51ca8066 Branch: refs/heads/master Commit: 51ca806617510c1bf8fc76ecd20cc08fa277904a Parents: 94263c6 Author: Svetoslav Neykov <[email protected]> Authored: Mon Nov 9 12:50:53 2015 +0200 Committer: Svetoslav Neykov <[email protected]> Committed: Mon Nov 9 12:56:13 2015 +0200 ---------------------------------------------------------------------- .../core/mgmt/EntityManagementUtils.java | 4 ++- .../camp/brooklyn/ApplicationsYamlTest.java | 28 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/51ca8066/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java index 59bcc87..6047985 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/EntityManagementUtils.java @@ -287,8 +287,10 @@ public class EntityManagementUtils { return isWrapperApp(spec) && hasSingleChild(spec) && //equivalent to no keys starting with "brooklyn." spec.getEnrichers().isEmpty() && + spec.getEnricherSpecs().isEmpty() && spec.getInitializers().isEmpty() && - spec.getPolicies().isEmpty(); + spec.getPolicies().isEmpty() && + spec.getPolicySpecs().isEmpty(); } public static boolean isWrapperApp(EntitySpec<?> spec) { http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/51ca8066/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java index b58e5ca..374df13 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java @@ -67,6 +67,34 @@ public class ApplicationsYamlTest extends AbstractYamlTest { assertEquals(app.getChildren().size(), 2); } + @Test + public void testWrapsWhenEnrichers() throws Exception { + Entity app = createAndStartApplication( + "brooklyn.enrichers:", + "- type: " + TestEnricher.class.getName(), + "services:", + "- type: " + BasicApplication.class.getName()); + assertWrapped(app, BasicApplication.class); + } + + @Test + public void testWrapsWhenPolicy() throws Exception { + Entity app = createAndStartApplication( + "brooklyn.policies:", + "- type: " + TestPolicy.class.getName(), + "services:", + "- type: " + BasicApplication.class.getName()); + assertWrapped(app, BasicApplication.class); + } + + @Test + public void testWrapsWhenInitializer() throws Exception { + Entity app = createAndStartApplication( + "brooklyn.initializers:", + "- type: " + TestConfigurableInitializer.class.getName(), + "services:", + "- type: " + BasicApplication.class.getName()); + assertWrapped(app, BasicApplication.class); } @Test
