You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/04/15 09:08:08 UTC
svn commit: r1467872 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/component/bean/MethodInfo.java
test/java/org/apache/camel/language/simple/SimpleTest.java
Author: davsclaus
Date: Mon Apr 15 07:08:08 2013
New Revision: 1467872
URL: http://svn.apache.org/r1467872
Log:
CAMEL-6272: Bean - Improve choose method logic for no parameter methods
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.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/component/bean/MethodInfo.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java?rev=1467872&r1=1467871&r2=1467872&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java Mon Apr 15 07:08:08 2013
@@ -426,8 +426,8 @@ public class MethodInfo {
if (methodParameters != null) {
// split the parameters safely separated by comma, but beware that we can have
// quoted parameters which contains comma as well, so do a safe quote split
- String[] parameters = StringQuoteHelper.splitSafeQuote(methodParameters, ',');
- it = ObjectHelper.createIterator(parameters);
+ String[] parameters = StringQuoteHelper.splitSafeQuote(methodParameters, ',', false);
+ it = ObjectHelper.createIterator(parameters, ",", true);
}
// remove headers as they should not be propagated
@@ -490,8 +490,6 @@ public class MethodInfo {
// convert the parameter value to a String
String exp = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, parameterValue);
if (exp != null) {
- // must trim first as there may be spaces between parameters
- exp = exp.trim();
// check if its a valid parameter value
boolean valid = BeanHelper.isValidParameterValue(exp);
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=1467872&r1=1467871&r2=1467872&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 Mon Apr 15 07:08:08 2013
@@ -1124,6 +1124,16 @@ public class SimpleTest extends Language
assertExpression("${body.replace('\\', '\\\\')}", "foo\\\\bar\\\\baz");
}
+ public void testBodyOgnlReplaceFirst() throws Exception {
+ exchange.getIn().setBody("http:camel.apache.org");
+
+ assertExpression("${body.replaceFirst('http:', 'http4:')}", "http4:camel.apache.org");
+ assertExpression("${body.replaceFirst('http:', '')}", "camel.apache.org");
+ assertExpression("${body.replaceFirst('http:', ' ')}", " camel.apache.org");
+ assertExpression("${body.replaceFirst('http:', ' ')}", " camel.apache.org");
+ assertExpression("${body.replaceFirst('http:',' ')}", " camel.apache.org");
+ }
+
public void testClassSimpleName() throws Exception {
Animal tiger = new Animal("Tony the Tiger", 13);
exchange.getIn().setBody(tiger);