change config() return type to be concrete to facilitate Groovy subclasses
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ba3347cf Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ba3347cf Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ba3347cf Branch: refs/heads/master Commit: ba3347cfa3b4d8beba3c905fcecf80daac5de84d Parents: 51af7bd Author: Alex Heneveld <[email protected]> Authored: Fri Feb 27 14:05:53 2015 +0000 Committer: Alex Heneveld <[email protected]> Committed: Tue Mar 10 12:30:33 2015 +0000 ---------------------------------------------------------------------- .../src/main/java/brooklyn/basic/BrooklynObjectInternal.java | 5 +++-- core/src/main/java/brooklyn/entity/basic/AbstractEntity.java | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ba3347cf/core/src/main/java/brooklyn/basic/BrooklynObjectInternal.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/brooklyn/basic/BrooklynObjectInternal.java b/core/src/main/java/brooklyn/basic/BrooklynObjectInternal.java index 6115dd3..8271b35 100644 --- a/core/src/main/java/brooklyn/basic/BrooklynObjectInternal.java +++ b/core/src/main/java/brooklyn/basic/BrooklynObjectInternal.java @@ -18,12 +18,13 @@ */ package brooklyn.basic; -import brooklyn.entity.rebind.RebindSupport; import java.util.Map; import brooklyn.config.ConfigKey; import brooklyn.config.ConfigKey.HasConfigKey; +import brooklyn.entity.rebind.RebindSupport; import brooklyn.entity.rebind.Rebindable; +import brooklyn.entity.trait.Configurable; import brooklyn.util.config.ConfigBag; import brooklyn.util.guava.Maybe; @@ -39,7 +40,7 @@ public interface BrooklynObjectInternal extends BrooklynObject, Rebindable { ConfigurationSupportInternal config(); @Beta - public interface ConfigurationSupportInternal extends BrooklynObject.ConfigurationSupport { + public interface ConfigurationSupportInternal extends Configurable.ConfigurationSupport { /** * Returns a read-only view of all the config key/value pairs on this entity, backed by a string-based map, http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ba3347cf/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java index 2fa1bf1..8c90065 100644 --- a/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java +++ b/core/src/main/java/brooklyn/entity/basic/AbstractEntity.java @@ -961,8 +961,12 @@ public abstract class AbstractEntity extends AbstractBrooklynObject implements E // -------- CONFIGURATION -------------- - @Override - public ConfigurationSupportInternal config() { + @Override + @Beta + // the concrete type rather than an interface is returned because Groovy subclasses + // complain (incorrectly) if we return ConfigurationSupportInternal + // TODO revert to ConfigurationSupportInternal when groovy subclasses work without this (eg new groovy version) + public BasicConfigurationSupport config() { return config; }
