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);