[BROOKLYN-183] Allow spring-like injection of management context Allow 3rd party libs to inject the managment context into various objects by renaming MagementContextInjectable.injectManagementContext() to setManagementContext().
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/cbb58baa Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/cbb58baa Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/cbb58baa Branch: refs/heads/master Commit: cbb58baab12556ac53458f7b539c0c8a761e2e69 Parents: d5e216f Author: Ciprian Ciubotariu <[email protected]> Authored: Thu Nov 19 12:52:08 2015 +0200 Committer: Ciprian Ciubotariu <[email protected]> Committed: Thu Nov 19 12:52:08 2015 +0200 ---------------------------------------------------------------------- .../brooklyn/core/catalog/internal/CatalogInitialization.java | 2 +- .../core/catalog/internal/JavaCatalogToSpecTransformer.java | 2 +- .../apache/brooklyn/core/mgmt/ManagementContextInjectable.java | 2 +- .../brooklyn/core/mgmt/internal/AbstractManagementContext.java | 4 ++-- .../apache/brooklyn/core/mgmt/internal/LocalUsageManager.java | 2 +- .../org/apache/brooklyn/core/objs/BasicConfigurableObject.java | 2 +- .../java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java | 2 +- .../brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java | 2 +- .../brooklyn/core/catalog/internal/TestToSpecTransformer.java | 2 +- .../org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java | 2 +- .../brooklyn/spi/creation/BrooklynComponentTemplateResolver.java | 2 +- .../camp/brooklyn/spi/creation/CampToSpecTransformer.java | 2 +- .../brooklyn/spi/creation/service/CampServiceSpecResolver.java | 2 +- .../brooklyn/spi/creation/service/UrlServiceSpecResolver.java | 2 +- .../java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java | 2 +- .../brooklyn/rest/resources/AbstractBrooklynRestResource.java | 3 ++- .../brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java | 2 +- .../org/apache/brooklyn/rest/resources/ScriptResourceTest.java | 2 +- .../org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java | 2 +- 19 files changed, 21 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java index 525e903..37783cd 100644 --- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java +++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java @@ -108,7 +108,7 @@ public class CatalogInitialization implements ManagementContextInjectable { } @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { Preconditions.checkNotNull(managementContext, "management context"); if (this.managementContext!=null && managementContext!=this.managementContext) throw new IllegalStateException("Cannot switch management context, from "+this.managementContext+" to "+managementContext); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java index 519bb23..4e15d24 100644 --- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java +++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/JavaCatalogToSpecTransformer.java @@ -50,7 +50,7 @@ public class JavaCatalogToSpecTransformer implements PlanToSpecTransformer { private ManagementContext mgmt; @Override - public void injectManagementContext(ManagementContext mgmt) { + public void setManagementContext(ManagementContext mgmt) { this.mgmt = mgmt; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/mgmt/ManagementContextInjectable.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ManagementContextInjectable.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ManagementContextInjectable.java index 15bafe0..8d0a6a5 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ManagementContextInjectable.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ManagementContextInjectable.java @@ -28,6 +28,6 @@ public interface ManagementContextInjectable { /** * Sets the {@link ManagementContext} reference. */ - public void injectManagementContext(ManagementContext managementContext); + public void setManagementContext(ManagementContext managementContext); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java index cba394c..b39dc15 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java @@ -383,7 +383,7 @@ public abstract class AbstractManagementContext implements ManagementContextInte if (!getCatalogInitialization().hasRunAnyInitialization()) { // catalog init is needed; normally this will be done from start sequence, // but if accessed early -- and in tests -- we will load it here - getCatalogInitialization().injectManagementContext(this); + getCatalogInitialization().setManagementContext(this); getCatalogInitialization().populateUnofficial(catalog); } return catalog; @@ -481,7 +481,7 @@ public abstract class AbstractManagementContext implements ManagementContextInte Preconditions.checkNotNull(catalogInitialization, "initialization must not be null"); if (this.catalogInitialization!=null && this.catalogInitialization != catalogInitialization) throw new IllegalStateException("Changing catalog init from "+this.catalogInitialization+" to "+catalogInitialization+"; changes not permitted"); - catalogInitialization.injectManagementContext(this); + catalogInitialization.setManagementContext(this); this.catalogInitialization = catalogInitialization; } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java index 6793bfc..363009e 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManager.java @@ -179,7 +179,7 @@ public class LocalUsageManager implements UsageManager { if (listeners != null) { for (Object listener : listeners) { if (listener instanceof ManagementContextInjectable) { - ((ManagementContextInjectable)listener).injectManagementContext(managementContext); + ((ManagementContextInjectable)listener).setManagementContext(managementContext); } if (listener instanceof UsageListener) { addUsageListener((UsageListener)listener); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java b/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java index 18b7d85..d199608 100644 --- a/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java +++ b/core/src/main/java/org/apache/brooklyn/core/objs/BasicConfigurableObject.java @@ -53,7 +53,7 @@ public class BasicConfigurableObject implements Configurable, Identifiable, Mana } @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { this.managementContext = managementContext; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java b/core/src/main/java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java index 1b49170..ec3f669 100644 --- a/core/src/main/java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java +++ b/core/src/main/java/org/apache/brooklyn/core/plan/PlanToSpecFactory.java @@ -69,7 +69,7 @@ public class PlanToSpecFactory { result.addAll(getAll()); } for(PlanToSpecTransformer t : result) { - t.injectManagementContext(mgmt); + t.setManagementContext(mgmt); } return result; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/main/java/org/apache/brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java b/core/src/main/java/org/apache/brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java index ae3ddb2..7270d11 100644 --- a/core/src/main/java/org/apache/brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java +++ b/core/src/main/java/org/apache/brooklyn/core/resolve/entity/AbstractEntitySpecResolver.java @@ -55,7 +55,7 @@ public abstract class AbstractEntitySpecResolver implements EntitySpecResolver { } @Override - public void injectManagementContext(ManagementContext mgmt) { + public void setManagementContext(ManagementContext mgmt) { this.mgmt = mgmt; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/test/java/org/apache/brooklyn/core/catalog/internal/TestToSpecTransformer.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/TestToSpecTransformer.java b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/TestToSpecTransformer.java index 0dfe291..86b0e0e 100644 --- a/core/src/test/java/org/apache/brooklyn/core/catalog/internal/TestToSpecTransformer.java +++ b/core/src/test/java/org/apache/brooklyn/core/catalog/internal/TestToSpecTransformer.java @@ -56,7 +56,7 @@ public class TestToSpecTransformer implements PlanToSpecTransformer { } @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { } @Override http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/core/src/test/java/org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java b/core/src/test/java/org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java index a4c3766..e4b3ddf 100644 --- a/core/src/test/java/org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java +++ b/core/src/test/java/org/apache/brooklyn/core/plan/XmlPlanToSpecTransformer.java @@ -46,7 +46,7 @@ public class XmlPlanToSpecTransformer implements PlanToSpecTransformer { private ManagementContext mgmt; @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { mgmt = managementContext; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java index 69c9109..ab20a40 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/BrooklynComponentTemplateResolver.java @@ -369,7 +369,7 @@ public class BrooklynComponentTemplateResolver { } if (flag instanceof ManagementContextInjectable) { log.debug("Injecting Brooklyn management context info object: {}", flag); - ((ManagementContextInjectable) flag).injectManagementContext(loader.getManagementContext()); + ((ManagementContextInjectable) flag).setManagementContext(loader.getManagementContext()); } return flag; http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampToSpecTransformer.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampToSpecTransformer.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampToSpecTransformer.java index 35feb65..d62cab3 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampToSpecTransformer.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/CampToSpecTransformer.java @@ -100,7 +100,7 @@ public class CampToSpecTransformer implements PlanToSpecTransformer { } @Override - public void injectManagementContext(ManagementContext mgmt) { + public void setManagementContext(ManagementContext mgmt) { this.mgmt = mgmt; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/CampServiceSpecResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/CampServiceSpecResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/CampServiceSpecResolver.java index a993083..091a4f4 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/CampServiceSpecResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/CampServiceSpecResolver.java @@ -39,7 +39,7 @@ public class CampServiceSpecResolver extends DelegatingEntitySpecResolver { .add(new UrlServiceSpecResolver()) .build(); for (EntitySpecResolver resolver : resolvers) { - resolver.injectManagementContext(mgmt); + resolver.setManagementContext(mgmt); } return resolvers; } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java index 387212c..6c61100 100644 --- a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java +++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/UrlServiceSpecResolver.java @@ -61,7 +61,7 @@ public class UrlServiceSpecResolver implements EntitySpecResolver { } @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java ---------------------------------------------------------------------- diff --git a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java index e16d825..1a74882 100644 --- a/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java +++ b/usage/camp/src/test/java/org/apache/brooklyn/camp/brooklyn/ObjectsYamlTest.java @@ -66,7 +66,7 @@ public class ObjectsYamlTest extends AbstractYamlTest { public void setObject(Object object) { this.object = object; } @Override - public void injectManagementContext(ManagementContext managementContext) { + public void setManagementContext(ManagementContext managementContext) { log.info("Detected injection of {}", managementContext); managementContextInjected.set(true); } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java index e4dacc9..1e058f8 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/resources/AbstractBrooklynRestResource.java @@ -59,7 +59,8 @@ public abstract class AbstractBrooklynRestResource implements ManagementContextI return Maybe.absent("ManagementContext not available for Brooklyn Jersey Resource "+this); } - public void injectManagementContext(ManagementContext managementContext) { + @Override + public void setManagementContext(ManagementContext managementContext) { if (this.managementContext!=null) { if (this.managementContext.equals(managementContext)) return; throw new IllegalStateException("ManagementContext cannot be changed: specified twice for Brooklyn Jersey Resource "+this); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java index a8e146b..f6f0e2d 100644 --- a/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java +++ b/usage/rest-server/src/main/java/org/apache/brooklyn/rest/util/json/BrooklynJacksonJsonProvider.java @@ -165,7 +165,7 @@ public class BrooklynJacksonJsonProvider extends JacksonJsonProvider implements } @Override - public void injectManagementContext(ManagementContext mgmt) { + public void setManagementContext(ManagementContext mgmt) { this.mgmt = mgmt; } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ScriptResourceTest.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ScriptResourceTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ScriptResourceTest.java index 23a3e5a..08b9aa4 100644 --- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ScriptResourceTest.java +++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/resources/ScriptResourceTest.java @@ -42,7 +42,7 @@ public class ScriptResourceTest { Entities.start(app, Collections.<Location>emptyList()); ScriptResource s = new ScriptResource(); - s.injectManagementContext(mgmt); + s.setManagementContext(mgmt); ScriptExecutionSummary result = s.groovy(null, "def apps = []; mgmt.applications.each { println 'app:'+it; apps << it.id }; apps"); Assert.assertEquals(Collections.singletonList(app.getId()).toString(), result.getResult()); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/cbb58baa/usage/rest-server/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java ---------------------------------------------------------------------- diff --git a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java index 20b945a..dea8bca 100644 --- a/usage/rest-server/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java +++ b/usage/rest-server/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java @@ -123,7 +123,7 @@ public abstract class BrooklynRestApiTest { config.getSingletons().add(resource); if (resource instanceof ManagementContextInjectable) { - ((ManagementContextInjectable)resource).injectManagementContext(getManagementContext()); + ((ManagementContextInjectable)resource).setManagementContext(getManagementContext()); } }
