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 2022/04/05 11:14:56 UTC
[camel] 05/07: CAMEL-16834: error handler in model DSL. WIP
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch errorhandler-in-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 90354deaeea982e61d0a044e6317a4ed5de060b1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Apr 5 11:55:05 2022 +0200
CAMEL-16834: error handler in model DSL. WIP
---
.../resources/org/apache/camel/model/errorHandler.json | 1 +
.../org/apache/camel/model/errorhandler/jaxb.index | 1 +
.../java/org/apache/camel/model/ErrorHandlerDefinition.java | 13 +++++++++++--
.../model/errorhandler/BaseErrorHandlerDefinition.java | 12 +++++++++++-
.../generated/java/org/apache/camel/xml/in/ModelParser.java | 4 ++++
5 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorHandler.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorHandler.json
index dd03d720d46..a5a05e25162 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorHandler.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorHandler.json
@@ -12,6 +12,7 @@
"output": false
},
"properties": {
+ "errorHandlerType": { "kind": "element", "displayName": "Error Handler Type", "required": true, "type": "object", "javaType": "org.apache.camel.model.errorhandler.BaseErrorHandlerDefinition", "oneOf": [ "deadLetterChannel", "defaultErrorHandler", "noErrorHandler", "transactionErrorHandler" ], "deprecated": false, "autowired": false, "secret": false },
"id": { "kind": "attribute", "displayName": "Id", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "The id of this node" }
}
}
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/jaxb.index b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/jaxb.index
index f4fe4082b36..cc2c531fd69 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/jaxb.index
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/jaxb.index
@@ -1,4 +1,5 @@
# Generated by camel build tools - do NOT edit this file!
+BaseErrorHandlerDefinition
DeadLetterChannelDefinition
DefaultErrorHandlerDefinition
NoErrorHandlerDefinition
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ErrorHandlerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ErrorHandlerDefinition.java
index 4663878ee1a..5a9ca6bdc16 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/ErrorHandlerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ErrorHandlerDefinition.java
@@ -18,11 +18,16 @@ package org.apache.camel.model;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.model.errorhandler.BaseErrorHandlerDefinition;
+import org.apache.camel.model.errorhandler.DeadLetterChannelDefinition;
+import org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition;
+import org.apache.camel.model.errorhandler.NoErrorHandlerDefinition;
+import org.apache.camel.model.errorhandler.TransactionErrorHandlerDefinition;
import org.apache.camel.spi.Metadata;
/**
@@ -33,7 +38,11 @@ import org.apache.camel.spi.Metadata;
@XmlAccessorType(XmlAccessType.FIELD)
public class ErrorHandlerDefinition extends IdentifiedType implements ErrorHandlerFactory {
- @XmlElementRef
+ @XmlElements({
+ @XmlElement(name = "deadLetterChannel", type = DeadLetterChannelDefinition.class),
+ @XmlElement(name = "defaultErrorHandler", type = DefaultErrorHandlerDefinition.class),
+ @XmlElement(name = "noErrorHandler", type = NoErrorHandlerDefinition.class),
+ @XmlElement(name = "transactionErrorHandler", type = TransactionErrorHandlerDefinition.class) })
private BaseErrorHandlerDefinition errorHandlerType;
public BaseErrorHandlerDefinition getErrorHandlerType() {
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/BaseErrorHandlerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/BaseErrorHandlerDefinition.java
index 5e5343811bf..ac8921fc497 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/BaseErrorHandlerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/BaseErrorHandlerDefinition.java
@@ -16,9 +16,19 @@
*/
package org.apache.camel.model.errorhandler;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
+
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.model.IdentifiedType;
+import org.apache.camel.spi.Metadata;
-public abstract class BaseErrorHandlerDefinition extends IdentifiedType implements ErrorHandlerFactory {
+@Metadata(label = "configuration,error")
+@XmlRootElement(name = "baseErrorHandler")
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlTransient
+public class BaseErrorHandlerDefinition extends IdentifiedType implements ErrorHandlerFactory {
}
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 47dd3f00c76..55b516902e1 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
@@ -392,6 +392,10 @@ public class ModelParser extends BaseParser {
return true;
}, noValueHandler());
}
+ protected BaseErrorHandlerDefinition doParseBaseErrorHandlerDefinition() throws IOException, XmlPullParserException {
+ return doParse(new BaseErrorHandlerDefinition(),
+ identifiedTypeAttributeHandler(), noElementHandler(), noValueHandler());
+ }
protected <T extends FaultToleranceConfigurationCommon> AttributeHandler<T> faultToleranceConfigurationCommonAttributeHandler() {
return (def, key, val) -> {
switch (key) {