Updated Branches:
  refs/heads/master 2294508c1 -> cb2a3852f

CAMEL-6973: Add a simple expression for null


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

Branch: refs/heads/master
Commit: cb2a3852f5a31af18ee4211dee8894bb6148b99e
Parents: 2294508
Author: Akitoshi Yoshida <a...@apache.org>
Authored: Mon Nov 18 16:18:10 2013 +0100
Committer: Akitoshi Yoshida <a...@apache.org>
Committed: Tue Nov 19 10:44:11 2013 +0100

----------------------------------------------------------------------
 .../org/apache/camel/builder/ExpressionBuilder.java | 16 ++++++++++++++++
 .../simple/ast/SimpleFunctionExpression.java        |  2 ++
 .../apache/camel/language/simple/SimpleTest.java    |  4 ++++
 3 files changed, 22 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cb2a3852/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java 
b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
index 33bffd9..9c94889 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
@@ -900,6 +900,22 @@ public final class ExpressionBuilder {
     }
 
     /**
+     * Returns the expression for the current thread name
+     */
+    public static Expression nullExpression() {
+        return new ExpressionAdapter() {
+            public Object evaluate(Exchange exchange) {
+                return null;
+            }
+
+            @Override
+            public String toString() {
+                return "null";
+            }
+        };
+    }
+
+    /**
      * Returns the expression for the exchanges inbound message body converted
      * to the given type.
      * <p/>

http://git-wip-us.apache.org/repos/asf/camel/blob/cb2a3852/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
 
b/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
index 68da7b8..985857a 100644
--- 
a/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
+++ 
b/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
@@ -317,6 +317,8 @@ public class SimpleFunctionExpression extends 
LiteralExpression {
             return ExpressionBuilder.camelContextNameExpression();
         } else if (ObjectHelper.equal(expression, "routeId")) {
             return ExpressionBuilder.routeIdExpression();
+        } else if (ObjectHelper.equal(expression, "null")) {
+            return ExpressionBuilder.nullExpression();
         }
 
         return null;

http://git-wip-us.apache.org/repos/asf/camel/blob/cb2a3852/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java 
b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
index 983ccbe..05261c8 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
@@ -101,6 +101,10 @@ public class SimpleTest extends LanguageTestSupport {
         assertExpression("Hello World", "Hello World");
     }
 
+    public void testNull() throws Exception {
+        assertEquals(null, SimpleLanguage.simple("${null}").evaluate(exchange, 
Object.class));
+    }
+
     public void testEmptyExpression() throws Exception {
         assertExpression("", "");
         assertExpression(" ", " ");

Reply via email to