This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 3a5a5d88adb CAMEL-21982: camel-core - LW XML dumper should output 
inlined Java DSL expressions
3a5a5d88adb is described below

commit 3a5a5d88adb632df7dd514b50ff330427239c6ed
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Apr 16 17:22:33 2025 +0200

    CAMEL-21982: camel-core - LW XML dumper should output inlined Java DSL 
expressions
---
 .../src/main/java/org/apache/camel/builder/Builder.java     | 13 +++++++++++--
 .../org/apache/camel/builder/ExpressionClauseSupport.java   | 13 +++++++++++--
 .../camel/processor/NestedChoiceWithEndChoiceIssueTest.java |  4 ++--
 .../camel/processor/NestedChoiceWithEndChoiceIssueTest.xml  |  8 ++++----
 4 files changed, 28 insertions(+), 10 deletions(-)

diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
index 56962d3f727..9846d6807ec 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/Builder.java
@@ -17,6 +17,7 @@
 package org.apache.camel.builder;
 
 import org.apache.camel.Expression;
+import org.apache.camel.model.ExpressionNodeHelper;
 import org.apache.camel.model.language.CSimpleExpression;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.model.language.ExchangePropertyExpression;
@@ -100,7 +101,11 @@ public final class Builder {
         if (value instanceof String str) {
             exp = new ConstantExpression(str);
         } else {
-            exp = ExpressionBuilder.constantExpression(value);
+            ConstantExpression ce = new ConstantExpression();
+            var def = 
ExpressionNodeHelper.toExpressionDefinition(ExpressionBuilder.constantExpression(value));
+            ce.setExpressionType(def);
+            ce.setExpression(String.valueOf(value));
+            exp = ce;
         }
         return new ValueBuilder(exp);
     }
@@ -124,7 +129,11 @@ public final class Builder {
             ce.setTrim(trim ? "true" : "false");
             exp = ce;
         } else {
-            exp = ExpressionBuilder.constantExpression(value);
+            ConstantExpression ce = new ConstantExpression();
+            
ce.setExpressionType(ExpressionNodeHelper.toExpressionDefinition(ExpressionBuilder.constantExpression(value)));
+            ce.setExpression(String.valueOf(value));
+            ce.setTrim(trim ? "true" : "false");
+            exp = ce;
         }
         return new ValueBuilder(exp);
     }
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
index aa42b8bfd37..517ab16dd59 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
@@ -23,10 +23,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.ExpressionFactory;
 import org.apache.camel.PredicateFactory;
+import org.apache.camel.model.ExpressionNodeHelper;
 import org.apache.camel.model.language.CSimpleExpression;
 import org.apache.camel.model.language.ConstantExpression;
 import org.apache.camel.model.language.DatasonnetExpression;
 import org.apache.camel.model.language.ExchangePropertyExpression;
+import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.model.language.GroovyExpression;
 import org.apache.camel.model.language.HeaderExpression;
 import org.apache.camel.model.language.Hl7TerserExpression;
@@ -117,7 +119,10 @@ public class ExpressionClauseSupport<T> implements 
ExpressionFactoryAware, Predi
         if (value instanceof String str) {
             return expression(new ConstantExpression(str));
         } else {
-            return expression(ExpressionBuilder.constantExpression(value));
+            ConstantExpression ce = new ConstantExpression();
+            ce.setExpressionType(new 
ExpressionDefinition(ExpressionBuilder.constantExpression(value)));
+            ce.setExpression(String.valueOf(value));
+            return expression(ce);
         }
     }
 
@@ -141,7 +146,11 @@ public class ExpressionClauseSupport<T> implements 
ExpressionFactoryAware, Predi
             ce.setTrim(trim ? "true" : "false");
             return expression(ce);
         } else {
-            return expression(ExpressionBuilder.constantExpression(value));
+            ConstantExpression ce = new ConstantExpression();
+            
ce.setExpressionType(ExpressionNodeHelper.toExpressionDefinition(ExpressionBuilder.constantExpression(value)));
+            ce.setExpression(String.valueOf(value));
+            ce.setTrim(trim ? "true" : "false");
+            return expression(ce);
         }
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.java
index b7af477e1b6..0145a2090af 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.java
@@ -86,11 +86,11 @@ public class NestedChoiceWithEndChoiceIssueTest extends 
ContextTestSupport {
                             .to("direct:test")
                         .when(simple("${header.count} < 1000 && ${body} == 1"))
                             .setHeader("count", simple("${header.count}++"))
-                            .setBody(constant(2))
+                            .setBody().constant(2)
                             .log("Second when. Header is:${header.count} Body 
is:${body}")
                             .to("direct:test")
                         .when(simple("${header.count} < 1000 && ${body} == 2"))
-                            .setHeader("count", simple("${header.count}++"))
+                            .setHeader("count").simple("${header.count}++")
                             .setBody(constant(0))
                             .choice()
                                 .when(simple("${header.count} < 500"))
diff --git 
a/core/camel-core/src/test/resources/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.xml
 
b/core/camel-core/src/test/resources/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.xml
index ba9efbd6416..c5456a70b89 100644
--- 
a/core/camel-core/src/test/resources/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.xml
+++ 
b/core/camel-core/src/test/resources/org/apache/camel/processor/NestedChoiceWithEndChoiceIssueTest.xml
@@ -28,7 +28,7 @@
                 <simple>${header.count}++</simple>
             </setHeader>
             <setBody id="setBody">
-                <expressionDefinition>1</expressionDefinition>
+                <constant>1</constant>
             </setBody>
             <log id="log" message="First when. Header is:${header.count} Body 
is:${body}"/>
             <to id="to" uri="direct:test"/>
@@ -39,7 +39,7 @@
                 <simple>${header.count}++</simple>
             </setHeader>
             <setBody id="setBody">
-                <expressionDefinition>2</expressionDefinition>
+                <constant>2</constant>
             </setBody>
             <log id="log" message="Second when. Header is:${header.count} Body 
is:${body}"/>
             <to id="to" uri="direct:test"/>
@@ -50,7 +50,7 @@
                 <simple>${header.count}++</simple>
             </setHeader>
             <setBody id="setBody">
-                <expressionDefinition>0</expressionDefinition>
+                <constant>0</constant>
             </setBody>
             <choice id="choice">
                 <when id="when">
@@ -68,7 +68,7 @@
                             <simple>${header.count} == 996</simple>
                             <log id="log" message="Deep choice log. Header 
is:${header.count}"/>
                             <setHeader id="setHeader" name="count">
-                                
<expressionDefinition>998</expressionDefinition>
+                                <constant>998</constant>
                             </setHeader>
                         </when>
                     </choice>

Reply via email to