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