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()));
+    }
+
 }