You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2014/07/18 18:37:44 UTC

[5/6] git commit: Target type made optional, default to String Support for convenience type names.

Target type made optional, default to String
Support for convenience type names.


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

Branch: refs/heads/master
Commit: 61c4e993da5d796935045aeddb95f8daf2d76c9b
Parents: de5991c
Author: Miguel Barrientos <mb...@lcc.uma.es>
Authored: Thu Jul 17 17:03:32 2014 +0200
Committer: Miguel Barrientos <mb...@lcc.uma.es>
Committed: Thu Jul 17 17:06:33 2014 +0200

----------------------------------------------------------------------
 .../brooklyn/entity/effector/AddSensor.java     | 26 +++++++++++++++++---
 1 file changed, 22 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/61c4e993/core/src/main/java/brooklyn/entity/effector/AddSensor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/effector/AddSensor.java b/core/src/main/java/brooklyn/entity/effector/AddSensor.java
index 4c2f1ed..8043c64 100644
--- a/core/src/main/java/brooklyn/entity/effector/AddSensor.java
+++ b/core/src/main/java/brooklyn/entity/effector/AddSensor.java
@@ -43,9 +43,7 @@ public class AddSensor<RT,T extends Sensor<RT>> implements EntityInitializer {
     protected final T sensor;
     public static final ConfigKey<String> SENSOR_NAME = ConfigKeys.newStringConfigKey("name");
     public static final ConfigKey<Duration> SENSOR_PERIOD = ConfigKeys.newConfigKey(Duration.class, "period", "Period, including units e.g. 1m or 5s or 200ms");
-    
-    // TODO
-    public static final ConfigKey<String> SENSOR_TYPE = ConfigKeys.newStringConfigKey("targetType");
+    public static final ConfigKey<String> SENSOR_TYPE = ConfigKeys.newStringConfigKey("targetType", "Target type for the value", "string");
 
     public AddSensor(T sensor) {
         this.sensor = Preconditions.checkNotNull(sensor, "sensor");
@@ -63,7 +61,7 @@ public class AddSensor<RT,T extends Sensor<RT>> implements EntityInitializer {
 
     public static <T> AttributeSensor<T> newSensor(ConfigBag params) {
         String name = Preconditions.checkNotNull(params.get(SENSOR_NAME), "name must be supplied when defining a sensor");
-        String className = Preconditions.checkNotNull(params.get(SENSOR_TYPE), "target class must be supplied when defining a sensor");
+        String className = getFullClassName(params.get(SENSOR_TYPE));
         Class<T> type = null;
 
         try {
@@ -74,4 +72,24 @@ public class AddSensor<RT,T extends Sensor<RT>> implements EntityInitializer {
         return Sensors.newSensor(type, name);
     }
 
+    private static String getFullClassName(String className) {
+        if(className.equalsIgnoreCase("string")){
+            return "java.lang.String";
+        }else if(className.equalsIgnoreCase("int") || className.equalsIgnoreCase("integer")){
+            return "java.lang.Integer";
+        }else if(className.equalsIgnoreCase("long")){
+            return "java.lang.Long";
+        }else if(className.equalsIgnoreCase("float")){
+            return "java.lang.Float";
+        }else if(className.equalsIgnoreCase("double")){
+            return "java.lang.Double";
+        }else if(className.equalsIgnoreCase("bool") || className.equalsIgnoreCase("boolean")){
+            return "java.lang.Boolean";
+        }else if(className.equalsIgnoreCase("object")){
+            return "java.lang.Object";
+        }else{
+            return className;
+        }
+    }
+
 }