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 {