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/06 07:17:54 UTC
[camel] 08/09: 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 88d1ef09bd7de3a380f17cc2a7ec272feea827ba
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Apr 6 08:57:55 2022 +0200
CAMEL-16834: error handler in model DSL. WIP
---
.../errorhandler/transactionErrorHandler.json | 2 +-
.../org/apache/camel/builder/BuilderSupport.java | 26 +++++++---------------
.../errorhandler/NoErrorHandlerDefinition.java | 13 ++++++++++-
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/transactionErrorHandler.json b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/transactionErrorHandler.json
index f9f7610902a..903c5119d04 100644
--- a/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/transactionErrorHandler.json
+++ b/core/camel-core-model/src/generated/resources/org/apache/camel/model/errorhandler/transactionErrorHandler.json
@@ -3,7 +3,7 @@
"kind": "model",
"name": "transactionErrorHandler",
"title": "Transaction Error Handler",
- "description": "Transactional error handler.",
+ "description": "Transactional error handler (requires either camel-spring or camel-jta using traditional JTA transactions).",
"deprecated": false,
"label": "configuration,error",
"javaType": "org.apache.camel.model.errorhandler.TransactionErrorHandlerDefinition",
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
index fd0d67e9b1c..b21929a1e47 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java
@@ -27,6 +27,8 @@ import org.apache.camel.Expression;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.RuntimeCamelException;
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.language.DatasonnetExpression;
import org.apache.camel.model.language.ExchangePropertyExpression;
import org.apache.camel.model.language.HeaderExpression;
@@ -417,8 +419,8 @@ public abstract class BuilderSupport implements CamelContextAware {
*
* @return the builder
*/
- public DefaultErrorHandlerBuilder defaultErrorHandler() {
- return new DefaultErrorHandlerBuilder();
+ public DefaultErrorHandlerDefinition defaultErrorHandler() {
+ return new DefaultErrorHandlerDefinition();
}
/**
@@ -427,8 +429,8 @@ public abstract class BuilderSupport implements CamelContextAware {
*
* @return the builder
*/
- public NoErrorHandlerBuilder noErrorHandler() {
- return new NoErrorHandlerBuilder();
+ public NoErrorHandlerDefinition noErrorHandler() {
+ return new NoErrorHandlerDefinition();
}
/**
@@ -442,18 +444,6 @@ public abstract class BuilderSupport implements CamelContextAware {
return new DeadLetterChannelDefinition(deadLetterUri);
}
- // /**
- // * <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel EIP:</a> is a error handler for
- // * handling messages that could not be delivered to it's intended destination.
- // *
- // * @param deadLetterUri uri to the dead letter endpoint storing dead messages
- // * @return the builder
- // */
- // @Deprecated
- // public DeadLetterChannelBuilder deadLetterChannel(String deadLetterUri) {
- // return new DeadLetterChannelBuilder(deadLetterUri);
- // }
- //
/**
* <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel EIP:</a> is a error handler for
* handling messages that could not be delivered to it's intended destination.
@@ -461,8 +451,8 @@ public abstract class BuilderSupport implements CamelContextAware {
* @param deadLetterEndpoint dead letter endpoint storing dead messages
* @return the builder
*/
- public DeadLetterChannelBuilder deadLetterChannel(Endpoint deadLetterEndpoint) {
- return new DeadLetterChannelBuilder(deadLetterEndpoint);
+ public DeadLetterChannelDefinition deadLetterChannel(Endpoint deadLetterEndpoint) {
+ return new DeadLetterChannelDefinition(deadLetterEndpoint);
}
// Properties
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/NoErrorHandlerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/NoErrorHandlerDefinition.java
index 31dfa7284ba..cf6c9d4efed 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/NoErrorHandlerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/NoErrorHandlerDefinition.java
@@ -20,6 +20,7 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.spi.Metadata;
/**
@@ -28,6 +29,16 @@ import org.apache.camel.spi.Metadata;
@Metadata(label = "configuration,error")
@XmlRootElement(name = "noErrorHandler")
@XmlAccessorType(XmlAccessType.FIELD)
-public class NoErrorHandlerDefinition extends BaseErrorHandlerDefinition {
+public class NoErrorHandlerDefinition extends BaseErrorHandlerDefinition implements ErrorHandlerBuilder {
+ @Override
+ public boolean supportTransacted() {
+ return false;
+ }
+
+ @Override
+ public ErrorHandlerBuilder cloneBuilder() {
+ // clone is not needed
+ return this;
+ }
}