You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by gr...@apache.org on 2014/10/12 02:11:14 UTC
[4/8] git commit: Move renderer hint initialisation where its more
likely to be executed
Move renderer hint initialisation where its more likely to be executed
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/2b9063ba
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/2b9063ba
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/2b9063ba
Branch: refs/heads/master
Commit: 2b9063ba9df32a6d72e5d77f9b735046b380d01b
Parents: ae336ce
Author: Andrew Kennedy <gr...@apache.org>
Authored: Wed Oct 8 02:27:35 2014 +0100
Committer: Andrew Kennedy <gr...@apache.org>
Committed: Fri Oct 10 14:04:01 2014 +0100
----------------------------------------------------------------------
.../brooklyn/basic/BasicConfigurableObject.java | 5 +--
.../api/HasBrooklynManagementContext.java | 2 +-
.../brooklyn/config/render/RendererHints.java | 34 +++++++++-----------
.../java/brooklyn/entity/basic/Attributes.java | 4 +--
.../java/brooklyn/entity/basic/Lifecycle.java | 2 --
.../main/java/brooklyn/event/basic/Sensors.java | 26 +++++++++++++--
6 files changed, 44 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java b/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
index 49766c6..f4910f1 100644
--- a/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
+++ b/core/src/main/java/brooklyn/basic/BasicConfigurableObject.java
@@ -18,6 +18,7 @@
*/
package brooklyn.basic;
+import brooklyn.camp.brooklyn.api.HasBrooklynManagementContext;
import brooklyn.config.ConfigKey;
import brooklyn.entity.trait.Configurable;
import brooklyn.entity.trait.Identifiable;
@@ -37,7 +38,7 @@ import brooklyn.util.text.Identifiers;
* deferred operations are assumed to have occurred prior to calling {@link #setConfig(ConfigKey, Object)} i.e. at
* object construction.
*/
-public class BasicConfigurableObject implements Configurable, Identifiable, ManagementContextInjectable {
+public class BasicConfigurableObject implements Configurable, Identifiable, ManagementContextInjectable, HasBrooklynManagementContext {
@SetFromFlag("id")
private String id = Identifiers.makeRandomId(8);
@@ -54,7 +55,7 @@ public class BasicConfigurableObject implements Configurable, Identifiable, Mana
this.managementContext = managementContext;
}
- public ManagementContext getManagementContext() {
+ public ManagementContext getBrooklynManagementContext() {
return managementContext;
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java b/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
index 8acfe2d..b8c1280 100644
--- a/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
+++ b/core/src/main/java/brooklyn/camp/brooklyn/api/HasBrooklynManagementContext.java
@@ -1,4 +1,3 @@
-package brooklyn.camp.brooklyn.api;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -17,6 +16,7 @@ package brooklyn.camp.brooklyn.api;
* specific language governing permissions and limitations
* under the License.
*/
+package brooklyn.camp.brooklyn.api;
import brooklyn.management.ManagementContext;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/config/render/RendererHints.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/config/render/RendererHints.java b/core/src/main/java/brooklyn/config/render/RendererHints.java
index ea84b02..c630fce 100644
--- a/core/src/main/java/brooklyn/config/render/RendererHints.java
+++ b/core/src/main/java/brooklyn/config/render/RendererHints.java
@@ -20,6 +20,7 @@ package brooklyn.config.render;
import groovy.lang.Closure;
+import java.net.URI;
import java.net.URL;
import java.util.Set;
@@ -239,33 +240,38 @@ public class RendererHints {
}
@Beta
- public static <T> DisplayValue<T> displayValue(Function<T, String> transform) {
+ public static <T> DisplayValue<T> displayValue(Function<T,String> transform) {
return new DisplayValue<T>(transform);
}
@Beta
- public static <T> NamedActionWithUrl<T> namedActionWithUrl(String actionName, Function<T, String> transform) {
- return new RendererHints.NamedActionWithUrl<T>(actionName, transform);
+ public static <T> NamedActionWithUrl<T> namedActionWithUrl(String actionName, Function<T,String> transform) {
+ return new NamedActionWithUrl<T>(actionName, transform);
}
@Beta
public static <T> NamedActionWithUrl<T> namedActionWithUrl(String actionName) {
- return new RendererHints.NamedActionWithUrl<T>(actionName);
+ return new NamedActionWithUrl<T>(actionName);
}
@Beta
- public static <T> NamedActionWithUrl<T> namedActionWithUrl(Function<T, String> transform) {
- return namedActionWithUrl("Open", transform);
+ public static <T> NamedActionWithUrl<T> namedActionWithUrl(Function<T,String> transform) {
+ return openWithUrl(transform);
}
@Beta
public static <T> NamedActionWithUrl<T> namedActionWithUrl() {
- return namedActionWithUrl((Function<T,String>)null);
+ return openWithUrl();
}
@Beta
- public static <T> NamedActionWithUrl<T> openWithUrl(Function<T, String> transform) {
- return new RendererHints.NamedActionWithUrl<T>("Open", transform);
+ public static <T> NamedActionWithUrl<T> openWithUrl() {
+ return openWithUrl((Function<T,String>) null);
+ }
+
+ @Beta
+ public static <T> NamedActionWithUrl<T> openWithUrl(Function<T,String> transform) {
+ return new NamedActionWithUrl<T>("Open", transform);
}
/** use with care as this makes REST access difficult */
@@ -274,14 +280,4 @@ public class RendererHints {
return new DisplayValue<T>(Functions.constant("********"));
}
- static {
- // apply display hints for common utility objects
- register(Duration.class, displayValue(Time.fromDurationToTimeStringRounded()));
- register(HostAndPort.class, displayValue(StringFunctions.toStringFunction()));
- register(UserAndHostAndPort.class, displayValue(StringFunctions.toStringFunction()));
-
- register(URL.class, displayValue(StringFunctions.toStringFunction()));
- register(URL.class, openWithUrl(StringFunctions.toStringFunction()));
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/entity/basic/Attributes.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/Attributes.java b/core/src/main/java/brooklyn/entity/basic/Attributes.java
index f4f8a69..e26617e 100644
--- a/core/src/main/java/brooklyn/entity/basic/Attributes.java
+++ b/core/src/main/java/brooklyn/entity/basic/Attributes.java
@@ -49,7 +49,6 @@ public interface Attributes {
BasicAttributeSensorAndConfigKey<Map<String,String>> DOWNLOAD_ADDON_URLS = new BasicAttributeSensorAndConfigKey(
Map.class, "download.addon.urls", "URL patterns for downloading named add-ons (will substitute things like ${version} automatically)");
-
/*
* Port number attributes.
*/
@@ -122,6 +121,5 @@ public interface Attributes {
AttributeSensor<Integer> PID = Sensors.newIntegerSensor("pid", "Process ID for the previously launched instance");
- AttributeSensor<String> LOG_FILE_LOCATION = new BasicAttributeSensor<String>(
- String.class, "log.location", "Log file location");
+ AttributeSensor<String> LOG_FILE_LOCATION = Sensors.newStringSensor("log.location", "Log file location");
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/Lifecycle.java b/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
index 89e469f..2c8c237 100644
--- a/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
+++ b/core/src/main/java/brooklyn/entity/basic/Lifecycle.java
@@ -26,8 +26,6 @@ import java.util.regex.Pattern;
import brooklyn.config.render.RendererHints;
import brooklyn.util.flags.TypeCoercions;
import brooklyn.util.text.StringFunctions;
-import brooklyn.util.time.Duration;
-import brooklyn.util.time.Time;
import com.google.common.base.CaseFormat;
import com.google.common.base.Function;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2b9063ba/core/src/main/java/brooklyn/event/basic/Sensors.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/event/basic/Sensors.java b/core/src/main/java/brooklyn/event/basic/Sensors.java
index 26dd964..f21dfbd 100644
--- a/core/src/main/java/brooklyn/event/basic/Sensors.java
+++ b/core/src/main/java/brooklyn/event/basic/Sensors.java
@@ -18,8 +18,17 @@
*/
package brooklyn.event.basic;
+import java.net.URI;
+import java.net.URL;
+
+import brooklyn.config.render.RendererHints;
import brooklyn.event.AttributeSensor;
+import brooklyn.util.net.UserAndHostAndPort;
+import brooklyn.util.text.StringFunctions;
+import brooklyn.util.time.Duration;
+import brooklyn.util.time.Time;
+import com.google.common.net.HostAndPort;
import com.google.common.reflect.TypeToken;
public class Sensors {
@@ -76,8 +85,8 @@ public class Sensors {
return newSensor(Boolean.class, name, description);
}
- // ---- extensions to sensors
-
+ // Extensions to sensors
+
public static <T> AttributeSensor<T> newSensorRenamed(String newName, AttributeSensor<T> sensor) {
return new BasicAttributeSensor<T>(sensor.getTypeToken(), newName, sensor.getDescription());
}
@@ -86,4 +95,17 @@ public class Sensors {
return newSensorRenamed(prefix+sensor.getName(), sensor);
}
+ // Display hints for common utility objects
+
+ static {
+ RendererHints.register(Duration.class, RendererHints.displayValue(Time.fromDurationToTimeStringRounded()));
+ RendererHints.register(HostAndPort.class, RendererHints.displayValue(StringFunctions.toStringFunction()));
+ RendererHints.register(UserAndHostAndPort.class, RendererHints.displayValue(StringFunctions.toStringFunction()));
+
+ RendererHints.register(URL.class, RendererHints.displayValue(StringFunctions.toStringFunction()));
+ RendererHints.register(URL.class, RendererHints.openWithUrl(StringFunctions.toStringFunction()));
+ RendererHints.register(URI.class, RendererHints.displayValue(StringFunctions.toStringFunction()));
+ RendererHints.register(URI.class, RendererHints.openWithUrl(StringFunctions.toStringFunction()));
+ }
+
}