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" : {
