You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2015/11/06 21:52:02 UTC

[2/4] storm git commit: allow for boolean arguments;

allow for boolean arguments;


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/76d73e97
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/76d73e97
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/76d73e97

Branch: refs/heads/master
Commit: 76d73e977f4fddcbf415d51980c9f9bbcd26e0db
Parents: d59eaac
Author: Chuck Burgess <cb...@progressrail.com>
Authored: Thu Oct 29 16:44:28 2015 -0500
Committer: Chuck Burgess <cb...@progressrail.com>
Committed: Fri Nov 6 10:00:01 2015 -0600

----------------------------------------------------------------------
 .../main/java/org/apache/storm/flux/FluxBuilder.java   | 13 +++++++++++++
 .../test/java/org/apache/storm/flux/test/TestBolt.java |  4 ++++
 .../test/resources/configs/config-methods-test.yaml    |  1 +
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/76d73e97/external/flux/flux-core/src/main/java/org/apache/storm/flux/FluxBuilder.java
----------------------------------------------------------------------
diff --git a/external/flux/flux-core/src/main/java/org/apache/storm/flux/FluxBuilder.java b/external/flux/flux-core/src/main/java/org/apache/storm/flux/FluxBuilder.java
index 9f15e6b..f7c2575 100644
--- a/external/flux/flux-core/src/main/java/org/apache/storm/flux/FluxBuilder.java
+++ b/external/flux/flux-core/src/main/java/org/apache/storm/flux/FluxBuilder.java
@@ -492,6 +492,12 @@ public class FluxBuilder {
                 constructorParams[i] = args.get(i);
                 continue;
             }
+            if (isPrimitiveBoolean(paramType) && Boolean.class.isAssignableFrom(objectType)){
+                LOG.debug("Its a primitive boolean.");
+                Boolean bool = (Boolean)args.get(i);
+                constructorParams[i] = bool.booleanValue();
+                continue;
+            }
             if(isPrimitiveNumber(paramType) && Number.class.isAssignableFrom(objectType)){
                 LOG.debug("Its a primitive number.");
                 Number num = (Number)args.get(i);
@@ -569,6 +575,9 @@ public class FluxBuilder {
                 LOG.debug("Yes, assignment is possible.");
                 return true;
             }
+            if (isPrimitiveBoolean(paramType) && Boolean.class.isAssignableFrom(objectType)){
+                return true;
+            }
             if(isPrimitiveNumber(paramType) && Number.class.isAssignableFrom(objectType)){
                 return true;
             }
@@ -591,5 +600,9 @@ public class FluxBuilder {
     public static boolean isPrimitiveNumber(Class clazz){
         return clazz.isPrimitive() && !clazz.equals(boolean.class);
     }
+
+    public static boolean isPrimitiveBoolean(Class clazz){
+        return clazz.isPrimitive() && clazz.equals(boolean.class);
+    }
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/76d73e97/external/flux/flux-core/src/test/java/org/apache/storm/flux/test/TestBolt.java
----------------------------------------------------------------------
diff --git a/external/flux/flux-core/src/test/java/org/apache/storm/flux/test/TestBolt.java b/external/flux/flux-core/src/test/java/org/apache/storm/flux/test/TestBolt.java
index 7f11460..40fa841 100644
--- a/external/flux/flux-core/src/test/java/org/apache/storm/flux/test/TestBolt.java
+++ b/external/flux/flux-core/src/test/java/org/apache/storm/flux/test/TestBolt.java
@@ -45,6 +45,10 @@ public class TestBolt extends BaseBasicBolt {
 
     }
 
+    public TestBolt(TestEnum te, float f, boolean b){
+
+    }
+
     @Override
     public void execute(Tuple tuple, BasicOutputCollector basicOutputCollector) {
         LOG.info("{}", tuple);

http://git-wip-us.apache.org/repos/asf/storm/blob/76d73e97/external/flux/flux-core/src/test/resources/configs/config-methods-test.yaml
----------------------------------------------------------------------
diff --git a/external/flux/flux-core/src/test/resources/configs/config-methods-test.yaml b/external/flux/flux-core/src/test/resources/configs/config-methods-test.yaml
index 65211ff..5563193 100644
--- a/external/flux/flux-core/src/test/resources/configs/config-methods-test.yaml
+++ b/external/flux/flux-core/src/test/resources/configs/config-methods-test.yaml
@@ -36,6 +36,7 @@ bolts:
     constructorArgs:
       - FOO # enum class
       - 1.0
+      - true
     configMethods:
       - name: "withFoo"
         args: