You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/06/06 03:07:21 UTC
[3/4] git commit: CAMEL-7478 Fixed the simple language OGNL
expression issue
CAMEL-7478 Fixed the simple language OGNL expression issue
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a6d8468b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a6d8468b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a6d8468b
Branch: refs/heads/master
Commit: a6d8468b5345bcc8ab151160a0f92a4b22ece0f1
Parents: 57b1cd7
Author: Willem Jiang <wi...@gmail.com>
Authored: Thu Jun 5 23:33:25 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Fri Jun 6 08:55:06 2014 +0800
----------------------------------------------------------------------
.../camel/language/bean/BeanExpression.java | 2 ++
.../camel/language/simple/SimpleTest.java | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/a6d8468b/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java b/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
index 3cbc2fa..1092f6e 100644
--- a/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/language/bean/BeanExpression.java
@@ -300,6 +300,8 @@ public class BeanExpression implements Expression, Predicate {
// prepare for next bean to invoke
beanToCall = result;
+ // we need to set the result to the exchange for further processing
+ resultExchange.getIn().setBody(result);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/a6d8468b/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 62b6172..d12efed 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
@@ -143,6 +143,20 @@ public class SimpleTest extends LanguageTestSupport {
assertIsInstanceOf(Integer.class, val);
assertEquals(123, val);
}
+
+ public void testBodyExpressionWithArray() throws Exception {
+ exchange.getIn().setBody(new MyClass());
+ Expression exp = SimpleLanguage.simple("body.getMyArray");
+ assertNotNull(exp);
+ Object val = exp.evaluate(exchange, Object.class);
+ assertIsInstanceOf(Object[].class, val);
+
+ exp = SimpleLanguage.simple("body.getMyArray.length");
+ assertNotNull(exp);
+ val = exp.evaluate(exchange, Object.class);
+ assertIsInstanceOf(Integer.class, val);
+ assertEquals(3, val);
+ }
public void testSimpleExpressions() throws Exception {
assertExpression("exchangeId", exchange.getExchangeId());
@@ -1430,4 +1444,10 @@ public class SimpleTest extends LanguageTestSupport {
return name;
}
}
+
+ public static class MyClass {
+ public Object[] getMyArray() {
+ return new Object[]{"Hallo", "World", "!"};
+ }
+ }
}