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 2011/12/03 09:25:16 UTC

svn commit: r1209852 - in /camel/branches/camel-2.8.x: ./ camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/model/language/ camel-core/src/test/java/org/apache/...

Author: davsclaus
Date: Sat Dec  3 08:25:16 2011
New Revision: 1209852

URL: http://svn.apache.org/viewvc?rev=1209852&view=rev
Log:
CAMEL-4733: Fixed issue with Java DSL creating expression with expression clause, not ensuring the model is update with the expression definition being used. This would cause the JAXB model of the route to not contain the actual expression in use.

Added:
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNodeHelper.java
      - copied unchanged from r1209845, camel/trunk/camel-core/src/main/java/org/apache/camel/model/ExpressionNodeHelper.java
    camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java
      - copied, changed from r1209845, camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java
Modified:
    camel/branches/camel-2.8.x/   (props changed)
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/SimpleExpression.java
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/XPathExpression.java

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec  3 08:25:16 2011
@@ -1 +1 @@
-/camel/trunk:1202148,1202167,1202204-1202206,1202215,1202223,1202659,1202685,1203879,1203978,1204338,1205124,1205372,1205412,1205429,1205431,1205713,1206116,1206414,1207743,1207784,1208301,1208930,1208964-1208965,1209006-1209007,1209382,1209401,1209477
+/camel/trunk:1202148,1202167,1202204-1202206,1202215,1202223,1202659,1202685,1203879,1203978,1204338,1205124,1205372,1205412,1205429,1205431,1205713,1206116,1206414,1207743,1207784,1208301,1208930,1208964-1208965,1209006-1209007,1209382,1209401,1209477,1209845

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java Sat Dec  3 08:25:16 2011
@@ -26,6 +26,9 @@ import org.apache.camel.Expression;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.NoSuchEndpointException;
 import org.apache.camel.builder.xml.XPathBuilder;
+import org.apache.camel.model.language.HeaderExpression;
+import org.apache.camel.model.language.MethodCallExpression;
+import org.apache.camel.model.language.PropertyExpression;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,15 +54,17 @@ public abstract class BuilderSupport {
      * Returns a value builder for the given header
      */
     public ValueBuilder header(String name) {
-        return Builder.header(name);
+        HeaderExpression expression = new HeaderExpression(name);
+        return new ValueBuilder(expression);
     }
 
     /**
      * Returns a value builder for the given property
      */
     public ValueBuilder property(String name) {
-        return Builder.property(name);
-    }   
+        PropertyExpression expression = new PropertyExpression(name);
+        return new ValueBuilder(expression);
+    }
     
     /**
      * Returns a predicate and value builder for the inbound body on an exchange
@@ -174,7 +179,13 @@ public abstract class BuilderSupport {
      * @return the builder
      */
     public ValueBuilder bean(Object beanOrBeanRef, String method) {
-        return Builder.bean(beanOrBeanRef, method);
+        MethodCallExpression expression;
+        if (beanOrBeanRef instanceof String) {
+            expression = new MethodCallExpression((String) beanOrBeanRef, method);
+        } else {
+            expression = new MethodCallExpression((Object) beanOrBeanRef, method);
+        }
+        return new ValueBuilder(expression);
     }
 
     /**
@@ -185,7 +196,8 @@ public abstract class BuilderSupport {
      * @return the builder
      */
     public ValueBuilder bean(Class<?> beanType) {
-        return Builder.bean(beanType, null);
+        MethodCallExpression expression = new MethodCallExpression(beanType);
+        return new ValueBuilder(expression);
     }
     
     /**
@@ -197,7 +209,8 @@ public abstract class BuilderSupport {
      * @return the builder
      */
     public ValueBuilder bean(Class<?> beanType, String method) {
-        return Builder.bean(beanType, method);
+        MethodCallExpression expression = new MethodCallExpression(beanType, method);
+        return new ValueBuilder(expression);
     }
 
     /**

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/builder/SimpleBuilder.java Sat Dec  3 08:25:16 2011
@@ -51,6 +51,10 @@ public class SimpleBuilder implements Pr
         return answer;
     }
 
+    public String getText() {
+        return text;
+    }
+
     public Class<?> getResultType() {
         return resultType;
     }

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/ExpressionNode.java Sat Dec  3 08:25:16 2011
@@ -52,13 +52,13 @@ public class ExpressionNode extends Proc
 
     public ExpressionNode(Expression expression) {
         if (expression != null) {
-            setExpression(new ExpressionDefinition(expression));
+            setExpression(ExpressionNodeHelper.toExpressionDefinition(expression));
         }
     }
 
     public ExpressionNode(Predicate predicate) {
         if (predicate != null) {
-            setExpression(new ExpressionDefinition(predicate));
+            setExpression(ExpressionNodeHelper.toExpressionDefinition(predicate));
         }
     }
 

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java Sat Dec  3 08:25:16 2011
@@ -75,7 +75,7 @@ public class MethodCallExpression extend
     }
     
     public MethodCallExpression(Object instance, String method) {
-        super(instance.getClass().getName());
+        super(ObjectHelper.className(instance));
         this.instance = instance;
         this.method = method;
     }
@@ -85,7 +85,7 @@ public class MethodCallExpression extend
     }
     
     public MethodCallExpression(Class<?> type, String method) {
-        super(type.toString());
+        super(type.getName());
         this.beanType = type;
         this.method = method;
     }

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/SimpleExpression.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/SimpleExpression.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/SimpleExpression.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/SimpleExpression.java Sat Dec  3 08:25:16 2011
@@ -49,6 +49,10 @@ public class SimpleExpression extends Ex
         super(expression);
     }
 
+    public SimpleExpression(Expression expression) {
+        super(expression);
+    }
+
     public String getLanguage() {
         return "simple";
     }

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/XPathExpression.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/XPathExpression.java?rev=1209852&r1=1209851&r2=1209852&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/XPathExpression.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/language/XPathExpression.java Sat Dec  3 08:25:16 2011
@@ -47,6 +47,10 @@ public class XPathExpression extends Nam
         super(expression);
     }
 
+    public XPathExpression(Expression expression) {
+        setExpressionValue(expression);
+    }
+
     public String getLanguage() {
         return "xpath";
     }

Copied: camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java (from r1209845, camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java)
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java?p2=camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java&r1=1209845&r2=1209852&rev=1209852&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/util/DumpModelAsXmlRoutePredicateTest.java Sat Dec  3 08:25:16 2011
@@ -20,7 +20,6 @@ import org.apache.camel.ContextTestSuppo
 import org.apache.camel.MyBarSingleton;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.ModelHelper;
 
 /**
  *