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;
 
 /**
  *


Reply via email to