Fixed simple language routeId function to return the id of the current route and not the originated route.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e80810fd Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e80810fd Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e80810fd Branch: refs/heads/master Commit: e80810fdb414b9d51de407ff19e33147d8c0e8a3 Parents: 462f00e Author: Claus Ibsen <davscl...@apache.org> Authored: Tue May 21 06:34:10 2013 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue May 21 07:43:39 2013 +0200 ---------------------------------------------------------------------- .../apache/camel/builder/ExpressionBuilder.java | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/e80810fd/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 c4fbce2..3527140 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 @@ -1402,12 +1402,17 @@ public final class ExpressionBuilder { public static Expression routeIdExpression() { return new ExpressionAdapter() { public Object evaluate(Exchange exchange) { + String answer = null; UnitOfWork uow = exchange.getUnitOfWork(); RouteContext rc = uow != null ? uow.getRouteContext() : null; if (rc != null) { - return rc.getRoute().getId(); + answer = rc.getRoute().getId(); } - return null; + if (answer == null) { + // fallback and get from route id on the exchange + answer = exchange.getFromRouteId(); + } + return answer; } @Override