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