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 d25e31d574d CAMEL-19330: Dump model for Choice should have otherwise 
last
d25e31d574d is described below

commit d25e31d574d637e0d3dd18fc7c577bb84e46b0c2
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jun 27 09:51:43 2023 +0200

    CAMEL-19330: Dump model for Choice should have otherwise last
---
 .../src/main/java/org/apache/camel/model/ChoiceDefinition.java        | 2 +-
 .../src/generated/java/org/apache/camel/xml/out/ModelWriter.java      | 2 +-
 .../src/generated/java/org/apache/camel/yaml/out/ModelWriter.java     | 2 +-
 .../org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java    | 4 +++-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
index fbb16e7a5b1..44c6df0b270 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/ChoiceDefinition.java
@@ -89,7 +89,7 @@ public class ChoiceDefinition extends 
ProcessorDefinition<ChoiceDefinition> impl
                 }
                 throw new IllegalArgumentException(
                         "Expected either a WhenDefinition or 
OtherwiseDefinition but was "
-                                + ObjectHelper.classCanonicalName(def));
+                                                   + 
ObjectHelper.classCanonicalName(def));
             }
 
             public int size() {
diff --git 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
index a54d8d00148..2104066297c 100644
--- 
a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
+++ 
b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/out/ModelWriter.java
@@ -1102,8 +1102,8 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteElement("otherwise", def.getOtherwise(), 
this::doWriteOtherwiseDefinition);
         doWriteList(null, null, def.getWhenClauses(), 
this::doWriteWhenDefinitionRef);
+        doWriteElement("otherwise", def.getOtherwise(), 
this::doWriteOtherwiseDefinition);
         endElement(name);
     }
     protected void doWriteCircuitBreakerDefinition(
diff --git 
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
 
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
index feaca8f21d9..9b00f8064dc 100644
--- 
a/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
+++ 
b/core/camel-yaml-io/src/generated/java/org/apache/camel/yaml/out/ModelWriter.java
@@ -1102,8 +1102,8 @@ public class ModelWriter extends BaseWriter {
         startElement(name);
         doWriteProcessorDefinitionAttributes(def);
         doWriteAttribute("precondition", def.getPrecondition());
-        doWriteElement("otherwise", def.getOtherwise(), 
this::doWriteOtherwiseDefinition);
         doWriteList(null, null, def.getWhenClauses(), 
this::doWriteWhenDefinitionRef);
+        doWriteElement("otherwise", def.getOtherwise(), 
this::doWriteOtherwiseDefinition);
         endElement(name);
     }
     protected void doWriteCircuitBreakerDefinition(
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java
index 976d63120fd..9bc82744eb4 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelWriterGeneratorMojo.java
@@ -689,8 +689,10 @@ public abstract class ModelWriterGeneratorMojo extends 
AbstractGeneratorMojo {
         if (xmlType != null) {
             String[] propOrder = xmlType.propOrder();
             if (propOrder != null && propOrder.length > 0) {
+                // special for choice where whenClauses should use when in 
xml-io parser
+                final List<String> list = Arrays.stream(propOrder).map(o -> 
o.equals("whenClauses") ? "when" : o).toList();
                 properties = properties
-                        .sorted(Comparator.comparing(p -> 
Arrays.binarySearch(propOrder, p.getName())));
+                        .sorted(Comparator.comparing(p -> 
Arrays.binarySearch(list.toArray(), p.getName())));
             }
         }
         return properties.toList();

Reply via email to