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 <[email protected]> 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; + } }
