Author: ningjiang
Date: Wed Mar  6 02:01:32 2013
New Revision: 1453132

URL: http://svn.apache.org/r1453132
Log:
CAMEL-5960 Add routeId as function to simple language with thanks to Matthew

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java?rev=1453132&r1=1453131&r2=1453132&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
 Wed Mar  6 02:01:32 2013
@@ -1394,6 +1394,22 @@ public final class ExpressionBuilder {
         };
     }
 
+    /**
+     * Returns an Expression for the route id
+     */
+    public static Expression routeIdExpression() {
+        return new ExpressionAdapter() {
+            public Object evaluate(Exchange exchange) {
+                return exchange.getFromRouteId();
+            }
+
+            @Override
+            public String toString() {
+                return "routeId";
+            }
+        };
+    }
+
     public static Expression dateExpression(final String command, final String 
pattern) {
         return new ExpressionAdapter() {
             public Object evaluate(Exchange exchange) {

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java?rev=1453132&r1=1453131&r2=1453132&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
 Wed Mar  6 02:01:32 2013
@@ -315,6 +315,8 @@ public class SimpleFunctionExpression ex
             return ExpressionBuilder.threadNameExpression();
         } else if (ObjectHelper.equal(expression, "camelId")) {
             return ExpressionBuilder.camelContextNameExpression();
+        } else if (ObjectHelper.equal(expression, "routeId")) {
+            return ExpressionBuilder.routeIdExpression();
         }
 
         return null;

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java?rev=1453132&r1=1453131&r2=1453132&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
 Wed Mar  6 02:01:32 2013
@@ -124,6 +124,9 @@ public class SimpleTest extends Language
         assertExpression("in.headers.foo", "abc");
         assertExpression("header.foo", "abc");
         assertExpression("headers.foo", "abc");
+        assertExpression("routeId", exchange.getFromRouteId());
+        exchange.setFromRouteId("myRouteId");
+        assertExpression("routeId", "myRouteId");
     }
     
     public void testTrimSimpleExpressions() throws Exception {


Reply via email to