You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/02/18 12:32:08 UTC

[3/9] incubator-brooklyn git commit: Deprecate *Config methods in Location/Enricher/Policy

Deprecate *Config methods in Location/Enricher/Policy


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/972ab83b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/972ab83b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/972ab83b

Branch: refs/heads/master
Commit: 972ab83babe298cd5866025748e918e583c8df66
Parents: 4c233de
Author: Aled Sage <al...@gmail.com>
Authored: Tue Nov 11 16:50:17 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Feb 18 11:02:35 2015 +0000

----------------------------------------------------------------------
 .../main/java/brooklyn/location/Location.java   | 27 +++++++++++++++++---
 api/src/main/java/brooklyn/policy/Enricher.java | 13 +++++++++-
 api/src/main/java/brooklyn/policy/Policy.java   | 11 ++++++++
 .../location/basic/AbstractLocation.java        | 23 ++++++++++++-----
 .../location/basic/LocationInternal.java        | 13 +++++++---
 .../policy/basic/AbstractEntityAdjunct.java     |  6 +++++
 6 files changed, 78 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/api/src/main/java/brooklyn/location/Location.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/location/Location.java b/api/src/main/java/brooklyn/location/Location.java
index fe9bf51..5707dbd 100644
--- a/api/src/main/java/brooklyn/location/Location.java
+++ b/api/src/main/java/brooklyn/location/Location.java
@@ -93,15 +93,34 @@ public interface Location extends Serializable, BrooklynObject {
      */
     boolean containsLocation(Location potentialDescendent);
 
-    /** Returns configuration set at this location or inherited or default */
+    /** 
+     * Returns configuration set at this location or inherited or default.
+     * 
+     * Convenience method for {@code config().get(key)}
+     */
     <T> T getConfig(ConfigKey<T> key);
-    
+
+    /**
+     * Convenience method for {@code config().get(key)}
+     * 
+     * @see {@link #getConfig(ConfigKey)}
+     */
     <T> T getConfig(HasConfigKey<T> key);
 
-    /** True iff the indication config key is set, either inherited (second argument true) or locally-only (second argument false) */
+    /** 
+     * True iff the indication config key is set, either inherited (second argument true) or locally-only (second argument false).
+     * 
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code ((LocationInternal)location).config().getRaw(key).isPresent()}
+     */
+    @Deprecated
     boolean hasConfig(ConfigKey<?> key, boolean includeInherited);
 
-    /** Returns all config set, either inherited (argument true) or locally-only (argument false) */
+    /** 
+     * Returns all config set, either inherited (argument true) or locally-only (argument false).
+     * 
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().getBag()}
+     */
+    @Deprecated
     public Map<String,Object> getAllConfig(boolean includeInherited);
     
     /**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/api/src/main/java/brooklyn/policy/Enricher.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/policy/Enricher.java b/api/src/main/java/brooklyn/policy/Enricher.java
index 0d6e87a..244af79 100644
--- a/api/src/main/java/brooklyn/policy/Enricher.java
+++ b/api/src/main/java/brooklyn/policy/Enricher.java
@@ -56,10 +56,21 @@ public interface Enricher extends EntityAdjunct, Rebindable, Configurable {
     @Beta
     EnricherType getEnricherType();
 
+    /**
+     * Convenience method for {@code config().get(key)}
+     */
     <T> T getConfig(ConfigKey<T> key);
-
+    
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
+     */
+    @Deprecated
     <T> T setConfig(ConfigKey<T> key, T val);
 
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().getBag()}
+     */
+    @Deprecated
     Map<ConfigKey<?>, Object> getAllConfig();
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/api/src/main/java/brooklyn/policy/Policy.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/policy/Policy.java b/api/src/main/java/brooklyn/policy/Policy.java
index cc1bfa9..0713042 100644
--- a/api/src/main/java/brooklyn/policy/Policy.java
+++ b/api/src/main/java/brooklyn/policy/Policy.java
@@ -71,10 +71,21 @@ public interface Policy extends EntityAdjunct, Rebindable, Configurable {
      */
     boolean isSuspended();
     
+    /**
+     * Convenience method for {@code config().get(key)}
+     */
     <T> T getConfig(ConfigKey<T> key);
     
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().setConfig(key, val)}
+     */
+    @Deprecated
     <T> T setConfig(ConfigKey<T> key, T val);
     
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code policy.config().getBag()}
+     */
+    @Deprecated
     Map<ConfigKey<?>, Object> getAllConfig();
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/AbstractLocation.java b/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
index fe592db..c6dde27 100644
--- a/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
+++ b/core/src/main/java/brooklyn/location/basic/AbstractLocation.java
@@ -102,7 +102,7 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
 
     private Reference<HostGeoInfo> hostGeoInfo = new BasicReference<HostGeoInfo>();
 
-    private ConfigurationSupportInternal config = new BasicConfigurationSupport();
+    private BasicConfigurationSupport config = new BasicConfigurationSupport();
     
     private ConfigBag configBag = new ConfigBag();
 
@@ -401,7 +401,7 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
         public ConfigBag getBag() {
             ConfigBag result = ConfigBag.newInstanceExtending(configBag, ImmutableMap.of());
             Location p = getParent();
-            if (p!=null) result.putIfAbsent(((LocationInternal)p).getAllConfigBag().getAllConfig());
+            if (p!=null) result.putIfAbsent(((LocationInternal)p).config().getBag().getAllConfig());
             return result;
         }
 
@@ -447,6 +447,14 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
         public void refreshInheritedConfigOfChildren() {
             // no-op for location
         }
+        
+        private boolean hasConfig(ConfigKey<?> key, boolean includeInherited) {
+            if (includeInherited && isInherited(key)) {
+                return getBag().containsKey(key);
+            } else {
+                return getLocalBag().containsKey(key);
+            }
+        }
     }
     
     @Override
@@ -460,12 +468,9 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
     }
 
     @Override
+    @Deprecated
     public boolean hasConfig(ConfigKey<?> key, boolean includeInherited) {
-        boolean locally = config().getLocalBag().containsKey(key);
-        if (locally) return true;
-        if (!includeInherited || !isInherited(key)) return false;
-        if (getParent()!=null) return getParent().hasConfig(key, true);
-        return false;
+        return config.hasConfig(key, includeInherited);
     }
 
     private boolean isInherited(ConfigKey<?> key) {
@@ -479,12 +484,14 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
     }
 
     @Override
+    @Deprecated
     public Map<String,Object> getAllConfig(boolean includeInherited) {
         ConfigBag bag = (includeInherited ? config().getBag() : config().getLocalBag());
         return bag.getAllConfig();
     }
     
     @Override
+    @Deprecated
     public ConfigBag getAllConfigBag() {
         // TODO see comments in EntityConfigMap and on interface methods. 
         // here ConfigBag is used exclusively so
@@ -502,11 +509,13 @@ public abstract class AbstractLocation extends AbstractBrooklynObject implements
      * @deprecated since 0.7; use {@link #getLocalConfigBag()}
      * @since 0.6
      */
+    @Deprecated
     public ConfigBag getRawLocalConfigBag() {
         return config().getLocalBag();
     }
     
     @Override
+    @Deprecated
     public <T> T setConfig(ConfigKey<T> key, T value) {
         return config().set(key, value);
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/core/src/main/java/brooklyn/location/basic/LocationInternal.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/location/basic/LocationInternal.java b/core/src/main/java/brooklyn/location/basic/LocationInternal.java
index 153bf93..f54d0f1 100644
--- a/core/src/main/java/brooklyn/location/basic/LocationInternal.java
+++ b/core/src/main/java/brooklyn/location/basic/LocationInternal.java
@@ -64,12 +64,19 @@ public interface LocationInternal extends BrooklynObjectInternal, Location {
      */
     public Map<String, String> toMetadataRecord();
 
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code ((LocationInternal)location).config().getLocalBag()}
+     */
+    @Deprecated
     ConfigBag getLocalConfigBag();
 
-    /** Returns all config, including that inherited from parents.
-     * TODO this method does not respect {@link ConfigInheritance} and so usage is discouraged.  
+    /**
+     * Returns all config, including that inherited from parents.
+     * TODO this method does not respect {@link ConfigInheritance} and so usage is discouraged.
+     * 
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code ((LocationInternal)location).config().getBag()}
      */
-    @Beta  // made beta in 0.7.0 due to inheritance problems
+    @Deprecated
     ConfigBag getAllConfigBag();
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/972ab83b/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java b/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
index ba5ecd0..4488560 100644
--- a/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
+++ b/core/src/main/java/brooklyn/policy/basic/AbstractEntityAdjunct.java
@@ -273,6 +273,10 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
         return config().get(key);
     }
     
+    /**
+     * @deprecated since 0.7.0; use {@link #config()}, such as {@code entity.config().getBag()}
+     */
+    @Deprecated
     public Map<ConfigKey<?>, Object> getAllConfig() {
         return configsInternal.getAllConfig();
     }
@@ -282,6 +286,7 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
     }
 
     @Override
+    @Deprecated
     public <T> T setConfig(ConfigKey<T> key, T val) {
         return config().set(key, val);
     }
@@ -289,6 +294,7 @@ public abstract class AbstractEntityAdjunct extends AbstractBrooklynObject imple
     // TODO make immutable
     /** for inspection only */
     @Beta
+    @Deprecated
     public ConfigMap getConfigMap() {
         return configsInternal;
     }