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 2021/09/27 07:11:36 UTC
[camel] branch main updated: CAMEL-17005: xml dsl - Avoid having
in the XSD
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 24bd92e CAMEL-17005: xml dsl - Avoid having <whenSkipSendToEndpoint> in the XSD
24bd92e is described below
commit 24bd92e994941152412592f38613e6b394142ce3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Sep 27 08:47:11 2021 +0200
CAMEL-17005: xml dsl - Avoid having <whenSkipSendToEndpoint> in the XSD
---
.../src/generated/resources/org/apache/camel/model/jaxb.index | 1 -
.../apache/camel/model/WhenSkipSendToEndpointDefinition.java | 2 ++
.../generated/java/org/apache/camel/xml/in/ModelParser.java | 10 ++--------
.../camel/maven/packaging/ModelXmlParserGeneratorMojo.java | 5 ++++-
.../java/org/apache/camel/maven/packaging/PackageJaxbMojo.java | 9 +++++++--
5 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
index 45b5e93..c9a58d7 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/jaxb.index
@@ -100,5 +100,4 @@ TryDefinition
UnmarshalDefinition
ValidateDefinition
WhenDefinition
-WhenSkipSendToEndpointDefinition
WireTapDefinition
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
index a2e612f..6e242e9 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/WhenSkipSendToEndpointDefinition.java
@@ -17,6 +17,7 @@
package org.apache.camel.model;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.spi.AsPredicate;
@@ -28,6 +29,7 @@ import org.apache.camel.spi.Metadata;
@Metadata(label = "configuration")
@AsPredicate
@XmlRootElement(name = "whenSkipSendToEndpoint")
+@XmlTransient // do not output in XSD as this is only used in a special "hack" for intercept
public class WhenSkipSendToEndpointDefinition extends WhenDefinition {
@Override
public String getShortName() {
diff --git a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
index dda2380..25e848a 100644
--- a/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
+++ b/core/camel-xml-io/src/generated/java/org/apache/camel/xml/in/ModelParser.java
@@ -204,15 +204,14 @@ public class ModelParser extends BaseParser {
}, noValueHandler());
}
protected WhenDefinition doParseWhenDefinition() throws IOException, XmlPullParserException {
- return doParse(new WhenDefinition(),
- processorDefinitionAttributeHandler(), outputExpressionNodeElementHandler(), noValueHandler());
+ return doParse(new WhenDefinition(),
+ processorDefinitionAttributeHandler(), outputExpressionNodeElementHandler(), noValueHandler());
}
protected ChoiceDefinition doParseChoiceDefinition() throws IOException, XmlPullParserException {
return doParse(new ChoiceDefinition(),
processorDefinitionAttributeHandler(), (def, key) -> {
switch (key) {
case "when": doAdd(doParseWhenDefinition(), def.getWhenClauses(), def::setWhenClauses); break;
- case "whenSkipSendToEndpoint": doAdd(doParseWhenSkipSendToEndpointDefinition(), def.getWhenClauses(), def::setWhenClauses); break;
case "otherwise": def.setOtherwise(doParseOtherwiseDefinition()); break;
default: return optionalIdentifiedDefinitionElementHandler().accept(def, key);
}
@@ -1452,10 +1451,6 @@ public class ModelParser extends BaseParser {
return doParse(new ValidateDefinition(),
processorDefinitionAttributeHandler(), expressionNodeElementHandler(), noValueHandler());
}
- protected WhenSkipSendToEndpointDefinition doParseWhenSkipSendToEndpointDefinition() throws IOException, XmlPullParserException {
- return doParse(new WhenSkipSendToEndpointDefinition(),
- processorDefinitionAttributeHandler(), outputExpressionNodeElementHandler(), noValueHandler());
- }
protected WireTapDefinition doParseWireTapDefinition() throws IOException, XmlPullParserException {
return doParse(new WireTapDefinition(), (def, key, val) -> {
switch (key) {
@@ -3206,7 +3201,6 @@ public class ModelParser extends BaseParser {
case "doTry": return doParseTryDefinition();
case "unmarshal": return doParseUnmarshalDefinition();
case "validate": return doParseValidateDefinition();
- case "whenSkipSendToEndpoint": return doParseWhenSkipSendToEndpointDefinition();
case "wireTap": return doParseWireTapDefinition();
case "serviceCall": return doParseServiceCallDefinition();
default: return null;
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
index 601dbf3..e593627 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ModelXmlParserGeneratorMojo.java
@@ -154,7 +154,10 @@ public class ModelXmlParserGeneratorMojo extends AbstractGeneratorMojo {
.map(DotName::createSimple).map(index::getAnnotations)
.flatMap(Collection::stream).map(AnnotationInstance::target).map(AnnotationTarget::asClass).map(ClassInfo::name)
.map(DotName::toString).sorted().distinct()
- .map(name -> loadClass(classLoader, name)).flatMap(this::references).flatMap(this::fieldReferences).distinct()
+ // we should skip this model as we do not want this in the JAXB model
+ .filter(n -> !n.equals("org.apache.camel.model.WhenSkipSendToEndpointDefinition"))
+ .map(name -> loadClass(classLoader, name))
+ .flatMap(this::references).flatMap(this::fieldReferences).distinct()
.collect(Collectors.toList());
JavaClass parser = generateParser(model, classLoader);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
index 83f3919..c3c749d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
@@ -99,14 +99,19 @@ public class PackageJaxbMojo extends AbstractGeneratorMojo {
private void processClasses(IndexView index) {
Map<String, Set<String>> byPackage = new HashMap<>();
- Stream.of(XmlRootElement.class, XmlEnum.class, XmlType.class).map(Class::getName).map(DotName::createSimple)
+ Stream.of(XmlRootElement.class, XmlEnum.class, XmlType.class)
+ .map(Class::getName).map(DotName::createSimple)
.map(index::getAnnotations).flatMap(Collection::stream)
.map(AnnotationInstance::target).map(AnnotationTarget::asClass).map(ClassInfo::name).map(DotName::toString)
.forEach(name -> {
int idx = name.lastIndexOf('.');
String p = name.substring(0, idx);
String c = name.substring(idx + 1);
- byPackage.computeIfAbsent(p, s -> new TreeSet<>()).add(c);
+ // we should skip this model as we do not want this in the JAXB model
+ boolean skip = "WhenSkipSendToEndpointDefinition".equals(c);
+ if (!skip) {
+ byPackage.computeIfAbsent(p, s -> new TreeSet<>()).add(c);
+ }
});
Path jaxbIndexDir = jaxbIndexOutDir.toPath();