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;
     }
 

Reply via email to