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 b21a7f3994099bb4c85cd772b28e4cd8b23e923e
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Apr 7 13:21:13 2022 +0200

    CAMEL-16834: error handler in model DSL. WIP
---
 .../org/apache/camel/builder/BuilderSupport.java   |   6 +-
 .../errorhandler/DeadLetterChannelDefinition.java  |  18 ++--
 .../DefaultErrorHandlerDefinition.java             |   6 +-
 .../dsl/yaml/deserializers/ModelDeserializers.java |   6 --
 .../src/generated/resources/camel-yaml-dsl.json    | 100 ++++++++++-----------
 .../src/generated/resources/camelYamlDsl.json      | 100 ++++++++++-----------
 6 files changed, 111 insertions(+), 125 deletions(-)

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 c9adbb0f75a..f60e83a5937 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
@@ -445,7 +445,9 @@ public abstract class BuilderSupport implements 
CamelContextAware {
      * @return               the builder
      */
     public DeadLetterChannelDefinition deadLetterChannel(String deadLetterUri) 
{
-        return new DeadLetterChannelDefinition(deadLetterUri);
+        DeadLetterChannelDefinition answer = new DeadLetterChannelDefinition();
+        answer.setDeadLetterUri(deadLetterUri);
+        return answer;
     }
 
     /**
@@ -456,7 +458,7 @@ public abstract class BuilderSupport implements 
CamelContextAware {
      * @return                    the builder
      */
     public DeadLetterChannelDefinition deadLetterChannel(Endpoint 
deadLetterEndpoint) {
-        return new DeadLetterChannelDefinition(deadLetterEndpoint);
+        return deadLetterChannel(deadLetterEndpoint.getEndpointUri());
     }
 
     /**
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 446c9082e2f..0271bc00751 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
@@ -21,8 +21,8 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.camel.Endpoint;
 import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.model.RedeliveryPolicyDefinition;
 import org.apache.camel.spi.Metadata;
 
 /**
@@ -40,20 +40,14 @@ public class DeadLetterChannelDefinition extends 
DefaultErrorHandlerDefinition {
     private String deadLetterHandleNewException;
 
     public DeadLetterChannelDefinition() {
-        // DLC do not log exhausted by default
-        getRedeliveryPolicy().setLogExhausted("false");
-    }
-
-    public DeadLetterChannelDefinition(Endpoint deadLetter) {
-        setDeadLetterUri(deadLetter.getEndpointUri());
-        // DLC do not log exhausted by default
-        getRedeliveryPolicy().setLogExhausted("false");
     }
 
-    public DeadLetterChannelDefinition(String uri) {
-        setDeadLetterUri(uri);
+    @Override
+    protected RedeliveryPolicyDefinition createRedeliveryPolicy() {
+        RedeliveryPolicyDefinition answer = super.createRedeliveryPolicy();
         // DLC do not log exhausted by default
-        getRedeliveryPolicy().setLogExhausted("false");
+        answer.setLogExhausted("false");
+        return answer;
     }
 
     public String getDeadLetterUri() {
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 e2a9ba9a063..5b6e590f62b 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
@@ -130,6 +130,10 @@ public class DefaultErrorHandlerDefinition extends 
BaseErrorHandlerDefinition {
         }
     }
 
+    protected RedeliveryPolicyDefinition createRedeliveryPolicy() {
+        return new RedeliveryPolicyDefinition();
+    }
+
     public String getLoggerRef() {
         return loggerRef;
     }
@@ -385,7 +389,7 @@ public class DefaultErrorHandlerDefinition extends 
BaseErrorHandlerDefinition {
 
     public RedeliveryPolicyDefinition getRedeliveryPolicy() {
         if (redeliveryPolicy == null) {
-            redeliveryPolicy = new RedeliveryPolicyDefinition();
+            redeliveryPolicy = createRedeliveryPolicy();
         }
         return redeliveryPolicy;
     }
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
index 1d72cbbbe41..fd12501d357 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java
@@ -3828,7 +3828,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
     }
 
     @YamlType(
-            inline = true,
             types = 
org.apache.camel.model.errorhandler.DeadLetterChannelDefinition.class,
             order = 
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
             nodes = {
@@ -3863,11 +3862,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             return new DeadLetterChannelDefinition();
         }
 
-        @Override
-        protected DeadLetterChannelDefinition newInstance(String value) {
-            return new DeadLetterChannelDefinition(value);
-        }
-
         @Override
         protected boolean setProperty(DeadLetterChannelDefinition target, 
String propertyKey,
                 String propertyName, Node node) {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
index 3d65021207c..211ed2ccadd 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
@@ -5663,59 +5663,55 @@
         }
       },
       "org.apache.camel.model.errorhandler.DeadLetterChannelDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "dead-letter-handle-new-exception" : {
-              "type" : "boolean"
-            },
-            "dead-letter-uri" : {
-              "type" : "string"
-            },
-            "executor-service-ref" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "level" : {
-              "type" : "string",
-              "enum" : [ "DEBUG", "ERROR", "INFO", "OFF", "TRACE", "WARN" ]
-            },
-            "log-name" : {
-              "type" : "string"
-            },
-            "logger-ref" : {
-              "type" : "string"
-            },
-            "on-exception-occurred-ref" : {
-              "type" : "string"
-            },
-            "on-prepare-failure-ref" : {
-              "type" : "string"
-            },
-            "on-redelivery-ref" : {
-              "type" : "string"
-            },
-            "redelivery-policy" : {
-              "$ref" : 
"#/items/definitions/org.apache.camel.model.RedeliveryPolicyDefinition"
-            },
-            "redelivery-policy-ref" : {
-              "type" : "string"
-            },
-            "retry-while-ref" : {
-              "type" : "string"
-            },
-            "use-original-body" : {
-              "type" : "boolean"
-            },
-            "use-original-message" : {
-              "type" : "boolean"
-            }
+        "type" : "object",
+        "properties" : {
+          "dead-letter-handle-new-exception" : {
+            "type" : "boolean"
+          },
+          "dead-letter-uri" : {
+            "type" : "string"
+          },
+          "executor-service-ref" : {
+            "type" : "string"
+          },
+          "id" : {
+            "type" : "string"
+          },
+          "level" : {
+            "type" : "string",
+            "enum" : [ "DEBUG", "ERROR", "INFO", "OFF", "TRACE", "WARN" ]
+          },
+          "log-name" : {
+            "type" : "string"
+          },
+          "logger-ref" : {
+            "type" : "string"
+          },
+          "on-exception-occurred-ref" : {
+            "type" : "string"
+          },
+          "on-prepare-failure-ref" : {
+            "type" : "string"
+          },
+          "on-redelivery-ref" : {
+            "type" : "string"
+          },
+          "redelivery-policy" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.RedeliveryPolicyDefinition"
+          },
+          "redelivery-policy-ref" : {
+            "type" : "string"
+          },
+          "retry-while-ref" : {
+            "type" : "string"
+          },
+          "use-original-body" : {
+            "type" : "boolean"
+          },
+          "use-original-message" : {
+            "type" : "boolean"
           }
-        } ],
+        },
         "required" : [ "dead-letter-uri" ]
       },
       "org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" : {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
index 9aaa857d365..406b7d74de0 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
@@ -5567,59 +5567,55 @@
         }
       },
       "org.apache.camel.model.errorhandler.DeadLetterChannelDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "deadLetterHandleNewException" : {
-              "type" : "boolean"
-            },
-            "deadLetterUri" : {
-              "type" : "string"
-            },
-            "executorServiceRef" : {
-              "type" : "string"
-            },
-            "id" : {
-              "type" : "string"
-            },
-            "level" : {
-              "type" : "string",
-              "enum" : [ "DEBUG", "ERROR", "INFO", "OFF", "TRACE", "WARN" ]
-            },
-            "logName" : {
-              "type" : "string"
-            },
-            "loggerRef" : {
-              "type" : "string"
-            },
-            "onExceptionOccurredRef" : {
-              "type" : "string"
-            },
-            "onPrepareFailureRef" : {
-              "type" : "string"
-            },
-            "onRedeliveryRef" : {
-              "type" : "string"
-            },
-            "redeliveryPolicy" : {
-              "$ref" : 
"#/items/definitions/org.apache.camel.model.RedeliveryPolicyDefinition"
-            },
-            "redeliveryPolicyRef" : {
-              "type" : "string"
-            },
-            "retryWhileRef" : {
-              "type" : "string"
-            },
-            "useOriginalBody" : {
-              "type" : "boolean"
-            },
-            "useOriginalMessage" : {
-              "type" : "boolean"
-            }
+        "type" : "object",
+        "properties" : {
+          "deadLetterHandleNewException" : {
+            "type" : "boolean"
+          },
+          "deadLetterUri" : {
+            "type" : "string"
+          },
+          "executorServiceRef" : {
+            "type" : "string"
+          },
+          "id" : {
+            "type" : "string"
+          },
+          "level" : {
+            "type" : "string",
+            "enum" : [ "DEBUG", "ERROR", "INFO", "OFF", "TRACE", "WARN" ]
+          },
+          "logName" : {
+            "type" : "string"
+          },
+          "loggerRef" : {
+            "type" : "string"
+          },
+          "onExceptionOccurredRef" : {
+            "type" : "string"
+          },
+          "onPrepareFailureRef" : {
+            "type" : "string"
+          },
+          "onRedeliveryRef" : {
+            "type" : "string"
+          },
+          "redeliveryPolicy" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.RedeliveryPolicyDefinition"
+          },
+          "redeliveryPolicyRef" : {
+            "type" : "string"
+          },
+          "retryWhileRef" : {
+            "type" : "string"
+          },
+          "useOriginalBody" : {
+            "type" : "boolean"
+          },
+          "useOriginalMessage" : {
+            "type" : "boolean"
           }
-        } ],
+        },
         "required" : [ "deadLetterUri" ]
       },
       "org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" : {

Reply via email to