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 13:40:46 UTC

[camel] branch errorhandler-in-dsl updated (545f80fc394 -> 26e589ce3ed)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch errorhandler-in-dsl
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 545f80fc394 CAMEL-16834: error handler in model DSL. WIP
     new 5bd40315f55 CAMEL-16834: error handler in model DSL. WIP
     new 26e589ce3ed CAMEL-16834: error handler in model DSL. WIP

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../camel/model/RedeliveryPolicyDefinition.java    | 10 +++++-
 .../errorhandler/DeadLetterChannelDefinition.java  | 20 ++---------
 .../DefaultErrorHandlerDefinition.java             | 39 +++++++++++++++++++++-
 .../TransactionErrorHandlerDefinition.java         | 19 +++++++++++
 4 files changed, 68 insertions(+), 20 deletions(-)


[camel] 02/02: CAMEL-16834: error handler in model DSL. WIP

Posted by da...@apache.org.
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 26e589ce3edbb5a799b0f5654bf1ce552dd08e03
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Apr 5 15:40:24 2022 +0200

    CAMEL-16834: error handler in model DSL. WIP
---
 .../main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java   | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
index db5fcdebd05..afdace5c24b 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
@@ -22,11 +22,8 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.camel.LoggingLevel;
-import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
 import org.apache.camel.spi.Metadata;
 
-import java.io.Serializable;
-
 /**
  * To configure re-delivery for error handling
  */


[camel] 01/02: CAMEL-16834: error handler in model DSL. WIP

Posted by da...@apache.org.
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 5bd40315f550354012b98b505abf7dd1c6bdb2ec
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Apr 5 14:26:17 2022 +0200

    CAMEL-16834: error handler in model DSL. WIP
---
 .../camel/model/RedeliveryPolicyDefinition.java    | 13 +++++++-
 .../errorhandler/DeadLetterChannelDefinition.java  | 20 ++---------
 .../DefaultErrorHandlerDefinition.java             | 39 +++++++++++++++++++++-
 .../TransactionErrorHandlerDefinition.java         | 19 +++++++++++
 4 files changed, 71 insertions(+), 20 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
index 896739f3e5d..db5fcdebd05 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
@@ -22,15 +22,18 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.camel.LoggingLevel;
+import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
 import org.apache.camel.spi.Metadata;
 
+import java.io.Serializable;
+
 /**
  * To configure re-delivery for error handling
  */
 @Metadata(label = "configuration")
 @XmlRootElement(name = "redeliveryPolicy")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class RedeliveryPolicyDefinition {
+public class RedeliveryPolicyDefinition implements Cloneable {
 
     @XmlAttribute
     @Metadata(javaType = "java.lang.Integer")
@@ -110,6 +113,14 @@ public class RedeliveryPolicyDefinition {
         return "RedeliveryPolicy[maximumRedeliveries: " + maximumRedeliveries + "]";
     }
 
+    public RedeliveryPolicyDefinition copy() {
+        try {
+            return (RedeliveryPolicyDefinition) clone();
+        } catch (CloneNotSupportedException e) {
+            throw new RuntimeException("Could not clone: " + e, e);
+        }
+    }
+
     // Fluent API
     // -------------------------------------------------------------------------
 
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DeadLetterChannelDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DeadLetterChannelDefinition.java
index 41fc490a18f..b541bfa511f 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DeadLetterChannelDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DeadLetterChannelDefinition.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "configuration,error")
 @XmlRootElement(name = "deadLetterChannel")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class DeadLetterChannelDefinition extends DefaultErrorHandlerDefinition implements ErrorHandlerBuilder {
+public class DeadLetterChannelDefinition extends DefaultErrorHandlerDefinition {
 
     // TODO: fluent builders
     // TODO: label, java type, ref
@@ -84,25 +84,9 @@ public class DeadLetterChannelDefinition extends DefaultErrorHandlerDefinition i
     }
 
     protected void cloneBuilder(DeadLetterChannelDefinition other) {
-        other.setLoggerBean(getLoggerBean());
-        if (getRedeliveryPolicy() != null) {
-            // TODO: copy
-            //            other.setRedeliveryPolicy(getRedeliveryPolicy().copy());
-        }
-        other.setOnRedeliveryProcessor(getOnRedeliveryProcessor());
-        other.setOnRedeliveryRef(getOnRedeliveryRef());
-        other.setRetryWhilePredicate(getRetryWhilePredicate());
-        other.setRetryWhileRef(getRetryWhileRef());
         other.setDeadLetterUri(getDeadLetterUri());
-        other.setOnPrepareFailureProcessor(getOnPrepareFailureProcessor());
-        other.setOnPrepareFailureRef(getOnPrepareFailureRef());
-        other.setOnExceptionOccurredProcessor(getOnExceptionOccurredProcessor());
-        other.setOnExceptionOccurredRef(getOnExceptionOccurredRef());
         other.setDeadLetterHandleNewException(getDeadLetterHandleNewException());
-        other.setUseOriginalMessage(getUseOriginalMessage());
-        other.setUseOriginalBody(getUseOriginalBody());
-        other.setExecutorServiceBean(getExecutorServiceBean());
-        other.setExecutorServiceRef(getExecutorServiceRef());
+        super.cloneBuilder(other);
     }
 
 }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
index d65bf96944f..68e2ce03d5f 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerDefinition.java
@@ -28,6 +28,7 @@ import javax.xml.bind.annotation.XmlTransient;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
+import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.model.RedeliveryPolicyDefinition;
 import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
 import org.apache.camel.spi.CamelLogger;
@@ -39,7 +40,7 @@ import org.apache.camel.spi.Metadata;
 @Metadata(label = "configuration,error")
 @XmlRootElement(name = "defaultErrorHandler")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class DefaultErrorHandlerDefinition extends BaseErrorHandlerDefinition {
+public class DefaultErrorHandlerDefinition extends BaseErrorHandlerDefinition implements ErrorHandlerBuilder {
 
     // TODO: fluent builders
     // TODO: label, java type, ref
@@ -88,6 +89,42 @@ public class DefaultErrorHandlerDefinition extends BaseErrorHandlerDefinition {
     @XmlElement
     private RedeliveryPolicyDefinition redeliveryPolicy;
 
+    @Override
+    public boolean supportTransacted() {
+        return false;
+    }
+
+    @Override
+    public ErrorHandlerBuilder cloneBuilder() {
+        DefaultErrorHandlerDefinition answer = new DefaultErrorHandlerDefinition();
+        cloneBuilder(answer);
+        return answer;
+    }
+
+    protected void cloneBuilder(DefaultErrorHandlerDefinition other) {
+        other.setExecutorServiceBean(getExecutorServiceBean());
+        other.setExecutorServiceRef(getExecutorServiceRef());
+        other.setLevel(getLevel());
+        other.setLogName(getLogName());
+        other.setLoggerBean(getLoggerBean());
+        other.setLoggerRef(getLoggerRef());
+        other.setOnExceptionOccurredProcessor(getOnExceptionOccurredProcessor());
+        other.setOnExceptionOccurredRef(getOnExceptionOccurredRef());
+        other.setOnPrepareFailureProcessor(getOnPrepareFailureProcessor());
+        other.setOnPrepareFailureRef(getOnPrepareFailureRef());
+        other.setOnRedeliveryProcessor(getOnRedeliveryProcessor());
+        other.setOnRedeliveryRef(getOnRedeliveryRef());
+        other.setRedeliveryPolicyRef(getRedeliveryPolicyRef());
+        other.setRetryWhilePredicate(getRetryWhilePredicate());
+        other.setRetryWhileRef(getRetryWhileRef());
+        other.setRollbackLoggingLevel(getRollbackLoggingLevel());
+        other.setUseOriginalBody(getUseOriginalBody());
+        other.setUseOriginalMessage(getUseOriginalMessage());
+        if (getRedeliveryPolicy() != null) {
+            other.setRedeliveryPolicy(getRedeliveryPolicy().copy());
+        }
+    }
+
     public String getLoggerRef() {
         return loggerRef;
     }
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/TransactionErrorHandlerDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/TransactionErrorHandlerDefinition.java
index cb5eef529bb..3c2525660c3 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/TransactionErrorHandlerDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/TransactionErrorHandlerDefinition.java
@@ -21,6 +21,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
+import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.spi.Metadata;
 
 /**
@@ -40,6 +41,24 @@ public class TransactionErrorHandlerDefinition extends DefaultErrorHandlerDefini
     @XmlAttribute
     private String transactionManagerRef;
 
+    @Override
+    public boolean supportTransacted() {
+        return true;
+    }
+
+    @Override
+    public ErrorHandlerBuilder cloneBuilder() {
+        TransactionErrorHandlerDefinition answer = new TransactionErrorHandlerDefinition();
+        cloneBuilder(answer);
+        return answer;
+    }
+
+    protected void cloneBuilder(TransactionErrorHandlerDefinition other) {
+        other.setTransactionManagerRef(getTransactionManagerRef());
+        other.setTransactionTemplateRef(getTransactionTemplateRef());
+        super.cloneBuilder(other);
+    }
+
     public String getTransactionTemplateRef() {
         return transactionTemplateRef;
     }