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 19a46f43ac9fb997a03c6d889a69f86f94df44fc Author: Claus Ibsen <[email protected]> AuthorDate: Thu Apr 7 12:11:54 2022 +0200 CAMEL-16834: error handler in model DSL. WIP --- .../dsl/yaml/deserializers/ModelDeserializers.java | 682 ++++++++++++++++++++- .../deserializers/ModelDeserializersResolver.java | 21 + .../src/generated/resources/camel-yaml-dsl.json | 253 ++++++++ .../src/generated/resources/camelYamlDsl.json | 253 ++++++++ .../camel/dsl/yaml/YamlRoutesBuilderLoader.java | 31 +- .../camel/dsl/yaml/KameletBindingLoaderTest.groovy | 34 +- 6 files changed, 1225 insertions(+), 49 deletions(-) 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 12a5b583a78..164793b45b9 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 @@ -26,6 +26,7 @@ import org.apache.camel.model.DelayDefinition; import org.apache.camel.model.DescriptionDefinition; import org.apache.camel.model.DynamicRouterDefinition; import org.apache.camel.model.EnrichDefinition; +import org.apache.camel.model.ErrorHandlerDefinition; import org.apache.camel.model.FaultToleranceConfigurationDefinition; import org.apache.camel.model.FilterDefinition; import org.apache.camel.model.FinallyDefinition; @@ -167,6 +168,12 @@ import org.apache.camel.model.dataformat.YAMLDataFormat; import org.apache.camel.model.dataformat.YAMLTypeFilterDefinition; import org.apache.camel.model.dataformat.ZipDeflaterDataFormat; import org.apache.camel.model.dataformat.ZipFileDataFormat; +import org.apache.camel.model.errorhandler.DeadLetterChannelDefinition; +import org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition; +import org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition; +import org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition; +import org.apache.camel.model.errorhandler.NoErrorHandlerDefinition; +import org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition; import org.apache.camel.model.language.CSimpleExpression; import org.apache.camel.model.language.ConstantExpression; import org.apache.camel.model.language.DatasonnetExpression; @@ -3918,6 +3925,133 @@ 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 = { + "dead-letter-channel", + "deadLetterChannel" + }, + properties = { + @YamlProperty(name = "dead-letter-handle-new-exception", type = "boolean"), + @YamlProperty(name = "dead-letter-uri", type = "string", required = true), + @YamlProperty(name = "executor-service-ref", type = "string"), + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "level", type = "enum:DEBUG,ERROR,INFO,OFF,TRACE,WARN"), + @YamlProperty(name = "log-name", type = "string"), + @YamlProperty(name = "logger-ref", type = "string"), + @YamlProperty(name = "on-exception-occurred-ref", type = "string"), + @YamlProperty(name = "on-prepare-failure-ref", type = "string"), + @YamlProperty(name = "on-redelivery-ref", type = "string"), + @YamlProperty(name = "redelivery-policy", type = "object:org.apache.camel.model.RedeliveryPolicyDefinition"), + @YamlProperty(name = "redelivery-policy-ref", type = "string"), + @YamlProperty(name = "retry-while-ref", type = "string"), + @YamlProperty(name = "use-original-body", type = "boolean"), + @YamlProperty(name = "use-original-message", type = "boolean") + } + ) + public static class DeadLetterChannelDefinitionDeserializer extends YamlDeserializerBase<DeadLetterChannelDefinition> { + public DeadLetterChannelDefinitionDeserializer() { + super(DeadLetterChannelDefinition.class); + } + + @Override + protected DeadLetterChannelDefinition newInstance() { + 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) { + switch(propertyKey) { + case "dead-letter-handle-new-exception": { + String val = asText(node); + target.setDeadLetterHandleNewException(val); + break; + } + case "dead-letter-uri": { + String val = asText(node); + target.setDeadLetterUri(val); + break; + } + case "executor-service-ref": { + String val = asText(node); + target.setExecutorServiceRef(val); + break; + } + case "id": { + String val = asText(node); + target.setId(val); + break; + } + case "level": { + target.setLevel(asEnum(node, org.apache.camel.LoggingLevel.class)); + break; + } + case "log-name": { + String val = asText(node); + target.setLogName(val); + break; + } + case "logger-ref": { + String val = asText(node); + target.setLoggerRef(val); + break; + } + case "on-exception-occurred-ref": { + String val = asText(node); + target.setOnExceptionOccurredRef(val); + break; + } + case "on-prepare-failure-ref": { + String val = asText(node); + target.setOnPrepareFailureRef(val); + break; + } + case "on-redelivery-ref": { + String val = asText(node); + target.setOnRedeliveryRef(val); + break; + } + case "redelivery-policy": { + org.apache.camel.model.RedeliveryPolicyDefinition val = asType(node, org.apache.camel.model.RedeliveryPolicyDefinition.class); + target.setRedeliveryPolicy(val); + break; + } + case "redelivery-policy-ref": { + String val = asText(node); + target.setRedeliveryPolicyRef(val); + break; + } + case "retry-while-ref": { + String val = asText(node); + target.setRetryWhileRef(val); + break; + } + case "use-original-body": { + String val = asText(node); + target.setUseOriginalBody(val); + break; + } + case "use-original-message": { + String val = asText(node); + target.setUseOriginalMessage(val); + break; + } + default: { + return false; + } + } + return true; + } + } + @YamlType( types = org.apache.camel.builder.DefaultErrorHandlerBuilder.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, @@ -3994,6 +4128,115 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } + @YamlType( + types = org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "default-error-handler", + "defaultErrorHandler" + }, + properties = { + @YamlProperty(name = "executor-service-ref", type = "string"), + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "level", type = "enum:DEBUG,ERROR,INFO,OFF,TRACE,WARN"), + @YamlProperty(name = "log-name", type = "string"), + @YamlProperty(name = "logger-ref", type = "string"), + @YamlProperty(name = "on-exception-occurred-ref", type = "string"), + @YamlProperty(name = "on-prepare-failure-ref", type = "string"), + @YamlProperty(name = "on-redelivery-ref", type = "string"), + @YamlProperty(name = "redelivery-policy", type = "object:org.apache.camel.model.RedeliveryPolicyDefinition"), + @YamlProperty(name = "redelivery-policy-ref", type = "string"), + @YamlProperty(name = "retry-while-ref", type = "string"), + @YamlProperty(name = "use-original-body", type = "boolean"), + @YamlProperty(name = "use-original-message", type = "boolean") + } + ) + public static class DefaultErrorHandlerDefinitionDeserializer extends YamlDeserializerBase<DefaultErrorHandlerDefinition> { + public DefaultErrorHandlerDefinitionDeserializer() { + super(DefaultErrorHandlerDefinition.class); + } + + @Override + protected DefaultErrorHandlerDefinition newInstance() { + return new DefaultErrorHandlerDefinition(); + } + + @Override + protected boolean setProperty(DefaultErrorHandlerDefinition target, String propertyKey, + String propertyName, Node node) { + switch(propertyKey) { + case "executor-service-ref": { + String val = asText(node); + target.setExecutorServiceRef(val); + break; + } + case "id": { + String val = asText(node); + target.setId(val); + break; + } + case "level": { + target.setLevel(asEnum(node, org.apache.camel.LoggingLevel.class)); + break; + } + case "log-name": { + String val = asText(node); + target.setLogName(val); + break; + } + case "logger-ref": { + String val = asText(node); + target.setLoggerRef(val); + break; + } + case "on-exception-occurred-ref": { + String val = asText(node); + target.setOnExceptionOccurredRef(val); + break; + } + case "on-prepare-failure-ref": { + String val = asText(node); + target.setOnPrepareFailureRef(val); + break; + } + case "on-redelivery-ref": { + String val = asText(node); + target.setOnRedeliveryRef(val); + break; + } + case "redelivery-policy": { + org.apache.camel.model.RedeliveryPolicyDefinition val = asType(node, org.apache.camel.model.RedeliveryPolicyDefinition.class); + target.setRedeliveryPolicy(val); + break; + } + case "redelivery-policy-ref": { + String val = asText(node); + target.setRedeliveryPolicyRef(val); + break; + } + case "retry-while-ref": { + String val = asText(node); + target.setRetryWhileRef(val); + break; + } + case "use-original-body": { + String val = asText(node); + target.setUseOriginalBody(val); + break; + } + case "use-original-message": { + String val = asText(node); + target.setUseOriginalMessage(val); + break; + } + default: { + return false; + } + } + return true; + } + } + @YamlType( types = org.apache.camel.model.cloud.DefaultServiceCallServiceLoadBalancerConfiguration.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, @@ -4654,40 +4897,163 @@ public final class ModelDeserializers extends YamlDeserializerSupport { @YamlType( inline = true, - types = org.apache.camel.builder.ErrorHandlerBuilderRef.class, + types = org.apache.camel.builder.ErrorHandlerBuilderRef.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + properties = { + @YamlProperty(name = "ref", type = "string"), + @YamlProperty(name = "support-transacted", type = "boolean") + } + ) + public static class ErrorHandlerBuilderRefDeserializer extends YamlDeserializerBase<ErrorHandlerBuilderRef> { + public ErrorHandlerBuilderRefDeserializer() { + super(ErrorHandlerBuilderRef.class); + } + + @Override + protected ErrorHandlerBuilderRef newInstance() { + return new ErrorHandlerBuilderRef(); + } + + @Override + protected ErrorHandlerBuilderRef newInstance(String value) { + return new ErrorHandlerBuilderRef(value); + } + + @Override + protected boolean setProperty(ErrorHandlerBuilderRef target, String propertyKey, + String propertyName, Node node) { + switch(propertyKey) { + case "ref": { + String val = asText(node); + target.setRef(val); + break; + } + case "support-transacted": { + boolean val = asBoolean(node); + target.setSupportTransacted(val); + break; + } + default: { + return false; + } + } + return true; + } + } + + @YamlType( + types = org.apache.camel.model.ErrorHandlerDefinition.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "error-handler", + "errorHandler" + }, + properties = { + @YamlProperty(name = "dead-letter-channel", type = "object:org.apache.camel.model.errorhandler.DeadLetterChannelDefinition"), + @YamlProperty(name = "default-error-handler", type = "object:org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition"), + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "jta-transaction-error-handler", type = "object:org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition"), + @YamlProperty(name = "no-error-handler", type = "object:org.apache.camel.model.errorhandler.NoErrorHandlerDefinition"), + @YamlProperty(name = "spring-transaction-error-handler", type = "object:org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition") + } + ) + public static class ErrorHandlerDefinitionDeserializer extends YamlDeserializerBase<ErrorHandlerDefinition> { + public ErrorHandlerDefinitionDeserializer() { + super(ErrorHandlerDefinition.class); + } + + @Override + protected ErrorHandlerDefinition newInstance() { + return new ErrorHandlerDefinition(); + } + + @Override + protected boolean setProperty(ErrorHandlerDefinition target, String propertyKey, + String propertyName, Node node) { + switch(propertyKey) { + case "error-handler-type": { + MappingNode val = asMappingNode(node); + setProperties(target, val); + break; + } + case "dead-letter-channel": { + org.apache.camel.model.errorhandler.DeadLetterChannelDefinition val = asType(node, org.apache.camel.model.errorhandler.DeadLetterChannelDefinition.class); + target.setErrorHandlerType(val); + break; + } + case "default-error-handler": { + org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition val = asType(node, org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.class); + target.setErrorHandlerType(val); + break; + } + case "no-error-handler": { + org.apache.camel.model.errorhandler.NoErrorHandlerDefinition val = asType(node, org.apache.camel.model.errorhandler.NoErrorHandlerDefinition.class); + target.setErrorHandlerType(val); + break; + } + case "jta-transaction-error-handler": { + org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition val = asType(node, org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition.class); + target.setErrorHandlerType(val); + break; + } + case "spring-transaction-error-handler": { + org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition val = asType(node, org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition.class); + target.setErrorHandlerType(val); + break; + } + case "id": { + String val = asText(node); + target.setId(val); + break; + } + default: { + return false; + } + } + return true; + } + } + + @YamlType( + inline = true, + types = org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "error-handler-ref", + "errorHandlerRef" + }, properties = { - @YamlProperty(name = "ref", type = "string"), - @YamlProperty(name = "support-transacted", type = "boolean") + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "ref", type = "string", required = true) } ) - public static class ErrorHandlerBuilderRefDeserializer extends YamlDeserializerBase<ErrorHandlerBuilderRef> { - public ErrorHandlerBuilderRefDeserializer() { - super(ErrorHandlerBuilderRef.class); + public static class ErrorHandlerRefDefinitionDeserializer extends YamlDeserializerBase<ErrorHandlerRefDefinition> { + public ErrorHandlerRefDefinitionDeserializer() { + super(ErrorHandlerRefDefinition.class); } @Override - protected ErrorHandlerBuilderRef newInstance() { - return new ErrorHandlerBuilderRef(); + protected ErrorHandlerRefDefinition newInstance() { + return new ErrorHandlerRefDefinition(); } @Override - protected ErrorHandlerBuilderRef newInstance(String value) { - return new ErrorHandlerBuilderRef(value); + protected ErrorHandlerRefDefinition newInstance(String value) { + return new ErrorHandlerRefDefinition(value); } @Override - protected boolean setProperty(ErrorHandlerBuilderRef target, String propertyKey, + protected boolean setProperty(ErrorHandlerRefDefinition target, String propertyKey, String propertyName, Node node) { switch(propertyKey) { - case "ref": { + case "id": { String val = asText(node); - target.setRef(val); + target.setId(val); break; } - case "support-transacted": { - boolean val = asBoolean(node); - target.setSupportTransacted(val); + case "ref": { + String val = asText(node); + target.setRef(val); break; } default: { @@ -7392,6 +7758,127 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } + @YamlType( + types = org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "jta-transaction-error-handler", + "jtaTransactionErrorHandler" + }, + properties = { + @YamlProperty(name = "executor-service-ref", type = "string"), + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "level", type = "enum:DEBUG,ERROR,INFO,OFF,TRACE,WARN"), + @YamlProperty(name = "log-name", type = "string"), + @YamlProperty(name = "logger-ref", type = "string"), + @YamlProperty(name = "on-exception-occurred-ref", type = "string"), + @YamlProperty(name = "on-prepare-failure-ref", type = "string"), + @YamlProperty(name = "on-redelivery-ref", type = "string"), + @YamlProperty(name = "redelivery-policy", type = "object:org.apache.camel.model.RedeliveryPolicyDefinition"), + @YamlProperty(name = "redelivery-policy-ref", type = "string"), + @YamlProperty(name = "retry-while-ref", type = "string"), + @YamlProperty(name = "rollback-logging-level", type = "string"), + @YamlProperty(name = "transacted-policy-ref", type = "string"), + @YamlProperty(name = "use-original-body", type = "boolean"), + @YamlProperty(name = "use-original-message", type = "boolean") + } + ) + public static class JtaTransactionErrorHandlerDefinitionDeserializer extends YamlDeserializerBase<JtaTransactionErrorHandlerDefinition> { + public JtaTransactionErrorHandlerDefinitionDeserializer() { + super(JtaTransactionErrorHandlerDefinition.class); + } + + @Override + protected JtaTransactionErrorHandlerDefinition newInstance() { + return new JtaTransactionErrorHandlerDefinition(); + } + + @Override + protected boolean setProperty(JtaTransactionErrorHandlerDefinition target, + String propertyKey, String propertyName, Node node) { + switch(propertyKey) { + case "executor-service-ref": { + String val = asText(node); + target.setExecutorServiceRef(val); + break; + } + case "id": { + String val = asText(node); + target.setId(val); + break; + } + case "level": { + target.setLevel(asEnum(node, org.apache.camel.LoggingLevel.class)); + break; + } + case "log-name": { + String val = asText(node); + target.setLogName(val); + break; + } + case "logger-ref": { + String val = asText(node); + target.setLoggerRef(val); + break; + } + case "on-exception-occurred-ref": { + String val = asText(node); + target.setOnExceptionOccurredRef(val); + break; + } + case "on-prepare-failure-ref": { + String val = asText(node); + target.setOnPrepareFailureRef(val); + break; + } + case "on-redelivery-ref": { + String val = asText(node); + target.setOnRedeliveryRef(val); + break; + } + case "redelivery-policy": { + org.apache.camel.model.RedeliveryPolicyDefinition val = asType(node, org.apache.camel.model.RedeliveryPolicyDefinition.class); + target.setRedeliveryPolicy(val); + break; + } + case "redelivery-policy-ref": { + String val = asText(node); + target.setRedeliveryPolicyRef(val); + break; + } + case "retry-while-ref": { + String val = asText(node); + target.setRetryWhileRef(val); + break; + } + case "rollback-logging-level": { + String val = asText(node); + target.setRollbackLoggingLevel(val); + break; + } + case "transacted-policy-ref": { + String val = asText(node); + target.setTransactedPolicyRef(val); + break; + } + case "use-original-body": { + String val = asText(node); + target.setUseOriginalBody(val); + break; + } + case "use-original-message": { + String val = asText(node); + target.setUseOriginalMessage(val); + break; + } + default: { + return false; + } + } + return true; + } + } + @YamlType( types = org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, @@ -8619,6 +9106,42 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } + @YamlType( + types = org.apache.camel.model.errorhandler.NoErrorHandlerDefinition.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "no-error-handler", + "noErrorHandler" + }, + properties = @YamlProperty(name = "id", type = "string") + ) + public static class NoErrorHandlerDefinitionDeserializer extends YamlDeserializerBase<NoErrorHandlerDefinition> { + public NoErrorHandlerDefinitionDeserializer() { + super(NoErrorHandlerDefinition.class); + } + + @Override + protected NoErrorHandlerDefinition newInstance() { + return new NoErrorHandlerDefinition(); + } + + @Override + protected boolean setProperty(NoErrorHandlerDefinition target, String propertyKey, + String propertyName, Node node) { + switch(propertyKey) { + case "id": { + String val = asText(node); + target.setId(val); + break; + } + default: { + return false; + } + } + return true; + } + } + @YamlType( types = org.apache.camel.model.rest.OAuth2Definition.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, @@ -10762,6 +11285,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { @YamlProperty(name = "delay-pattern", type = "string"), @YamlProperty(name = "disable-redelivery", type = "boolean"), @YamlProperty(name = "exchange-formatter-ref", type = "string"), + @YamlProperty(name = "id", type = "string"), @YamlProperty(name = "log-continued", type = "boolean"), @YamlProperty(name = "log-exhausted", type = "boolean"), @YamlProperty(name = "log-exhausted-message-body", type = "boolean"), @@ -10830,6 +11354,11 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setExchangeFormatterRef(val); break; } + case "id": { + String val = asText(node); + target.setId(val); + break; + } case "log-continued": { String val = asText(node); target.setLogContinued(val); @@ -14456,6 +14985,127 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } + @YamlType( + types = org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition.class, + order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, + nodes = { + "spring-transaction-error-handler", + "springTransactionErrorHandler" + }, + properties = { + @YamlProperty(name = "executor-service-ref", type = "string"), + @YamlProperty(name = "id", type = "string"), + @YamlProperty(name = "level", type = "enum:DEBUG,ERROR,INFO,OFF,TRACE,WARN"), + @YamlProperty(name = "log-name", type = "string"), + @YamlProperty(name = "logger-ref", type = "string"), + @YamlProperty(name = "on-exception-occurred-ref", type = "string"), + @YamlProperty(name = "on-prepare-failure-ref", type = "string"), + @YamlProperty(name = "on-redelivery-ref", type = "string"), + @YamlProperty(name = "redelivery-policy", type = "object:org.apache.camel.model.RedeliveryPolicyDefinition"), + @YamlProperty(name = "redelivery-policy-ref", type = "string"), + @YamlProperty(name = "retry-while-ref", type = "string"), + @YamlProperty(name = "rollback-logging-level", type = "string"), + @YamlProperty(name = "transacted-policy-ref", type = "string"), + @YamlProperty(name = "use-original-body", type = "boolean"), + @YamlProperty(name = "use-original-message", type = "boolean") + } + ) + public static class SpringTransactionErrorHandlerDefinitionDeserializer extends YamlDeserializerBase<SpringTransactionErrorHandlerDefinition> { + public SpringTransactionErrorHandlerDefinitionDeserializer() { + super(SpringTransactionErrorHandlerDefinition.class); + } + + @Override + protected SpringTransactionErrorHandlerDefinition newInstance() { + return new SpringTransactionErrorHandlerDefinition(); + } + + @Override + protected boolean setProperty(SpringTransactionErrorHandlerDefinition target, + String propertyKey, String propertyName, Node node) { + switch(propertyKey) { + case "executor-service-ref": { + String val = asText(node); + target.setExecutorServiceRef(val); + break; + } + case "id": { + String val = asText(node); + target.setId(val); + break; + } + case "level": { + target.setLevel(asEnum(node, org.apache.camel.LoggingLevel.class)); + break; + } + case "log-name": { + String val = asText(node); + target.setLogName(val); + break; + } + case "logger-ref": { + String val = asText(node); + target.setLoggerRef(val); + break; + } + case "on-exception-occurred-ref": { + String val = asText(node); + target.setOnExceptionOccurredRef(val); + break; + } + case "on-prepare-failure-ref": { + String val = asText(node); + target.setOnPrepareFailureRef(val); + break; + } + case "on-redelivery-ref": { + String val = asText(node); + target.setOnRedeliveryRef(val); + break; + } + case "redelivery-policy": { + org.apache.camel.model.RedeliveryPolicyDefinition val = asType(node, org.apache.camel.model.RedeliveryPolicyDefinition.class); + target.setRedeliveryPolicy(val); + break; + } + case "redelivery-policy-ref": { + String val = asText(node); + target.setRedeliveryPolicyRef(val); + break; + } + case "retry-while-ref": { + String val = asText(node); + target.setRetryWhileRef(val); + break; + } + case "rollback-logging-level": { + String val = asText(node); + target.setRollbackLoggingLevel(val); + break; + } + case "transacted-policy-ref": { + String val = asText(node); + target.setTransactedPolicyRef(val); + break; + } + case "use-original-body": { + String val = asText(node); + target.setUseOriginalBody(val); + break; + } + case "use-original-message": { + String val = asText(node); + target.setUseOriginalMessage(val); + break; + } + default: { + return false; + } + } + return true; + } + } + @YamlType( types = org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java index 98d2e68933c..af3d0ca1d18 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializersResolver.java @@ -104,7 +104,13 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "datasonnet": return new ModelDeserializers.DatasonnetExpressionDeserializer(); case "org.apache.camel.model.language.DatasonnetExpression": return new ModelDeserializers.DatasonnetExpressionDeserializer(); case "org.apache.camel.builder.DeadLetterChannelBuilder": return new ModelDeserializers.DeadLetterChannelBuilderDeserializer(); + case "dead-letter-channel": return new ModelDeserializers.DeadLetterChannelDefinitionDeserializer(); + case "deadLetterChannel": return new ModelDeserializers.DeadLetterChannelDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.DeadLetterChannelDefinition": return new ModelDeserializers.DeadLetterChannelDefinitionDeserializer(); case "org.apache.camel.builder.DefaultErrorHandlerBuilder": return new ModelDeserializers.DefaultErrorHandlerBuilderDeserializer(); + case "default-error-handler": return new ModelDeserializers.DefaultErrorHandlerDefinitionDeserializer(); + case "defaultErrorHandler": return new ModelDeserializers.DefaultErrorHandlerDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition": return new ModelDeserializers.DefaultErrorHandlerDefinitionDeserializer(); case "default-load-balancer": return new ModelDeserializers.DefaultServiceCallServiceLoadBalancerConfigurationDeserializer(); case "defaultLoadBalancer": return new ModelDeserializers.DefaultServiceCallServiceLoadBalancerConfigurationDeserializer(); case "org.apache.camel.model.cloud.DefaultServiceCallServiceLoadBalancerConfiguration": return new ModelDeserializers.DefaultServiceCallServiceLoadBalancerConfigurationDeserializer(); @@ -125,6 +131,12 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "enrich": return new ModelDeserializers.EnrichDefinitionDeserializer(); case "org.apache.camel.model.EnrichDefinition": return new ModelDeserializers.EnrichDefinitionDeserializer(); case "org.apache.camel.builder.ErrorHandlerBuilderRef": return new ModelDeserializers.ErrorHandlerBuilderRefDeserializer(); + case "error-handler": return new ModelDeserializers.ErrorHandlerDefinitionDeserializer(); + case "errorHandler": return new ModelDeserializers.ErrorHandlerDefinitionDeserializer(); + case "org.apache.camel.model.ErrorHandlerDefinition": return new ModelDeserializers.ErrorHandlerDefinitionDeserializer(); + case "error-handler-ref": return new ModelDeserializers.ErrorHandlerRefDefinitionDeserializer(); + case "errorHandlerRef": return new ModelDeserializers.ErrorHandlerRefDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition": return new ModelDeserializers.ErrorHandlerRefDefinitionDeserializer(); case "etcd-service-discovery": return new ModelDeserializers.EtcdServiceCallServiceDiscoveryConfigurationDeserializer(); case "etcdServiceDiscovery": return new ModelDeserializers.EtcdServiceCallServiceDiscoveryConfigurationDeserializer(); case "org.apache.camel.model.cloud.EtcdServiceCallServiceDiscoveryConfiguration": return new ModelDeserializers.EtcdServiceCallServiceDiscoveryConfigurationDeserializer(); @@ -211,6 +223,9 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.dataformat.JsonDataFormat": return new ModelDeserializers.JsonDataFormatDeserializer(); case "jsonpath": return new ModelDeserializers.JsonPathExpressionDeserializer(); case "org.apache.camel.model.language.JsonPathExpression": return new ModelDeserializers.JsonPathExpressionDeserializer(); + case "jta-transaction-error-handler": return new ModelDeserializers.JtaTransactionErrorHandlerDefinitionDeserializer(); + case "jtaTransactionErrorHandler": return new ModelDeserializers.JtaTransactionErrorHandlerDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition": return new ModelDeserializers.JtaTransactionErrorHandlerDefinitionDeserializer(); case "kubernetes-service-discovery": return new ModelDeserializers.KubernetesServiceCallServiceDiscoveryConfigurationDeserializer(); case "kubernetesServiceDiscovery": return new ModelDeserializers.KubernetesServiceCallServiceDiscoveryConfigurationDeserializer(); case "org.apache.camel.model.cloud.KubernetesServiceCallServiceDiscoveryConfiguration": return new ModelDeserializers.KubernetesServiceCallServiceDiscoveryConfigurationDeserializer(); @@ -240,6 +255,9 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "mvel": return new ModelDeserializers.MvelExpressionDeserializer(); case "org.apache.camel.model.language.MvelExpression": return new ModelDeserializers.MvelExpressionDeserializer(); case "org.apache.camel.builder.NoErrorHandlerBuilder": return new ModelDeserializers.NoErrorHandlerBuilderDeserializer(); + case "no-error-handler": return new ModelDeserializers.NoErrorHandlerDefinitionDeserializer(); + case "noErrorHandler": return new ModelDeserializers.NoErrorHandlerDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.NoErrorHandlerDefinition": return new ModelDeserializers.NoErrorHandlerDefinitionDeserializer(); case "oauth2": return new ModelDeserializers.OAuth2DefinitionDeserializer(); case "org.apache.camel.model.rest.OAuth2Definition": return new ModelDeserializers.OAuth2DefinitionDeserializer(); case "ognl": return new ModelDeserializers.OgnlExpressionDeserializer(); @@ -428,6 +446,9 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.language.SpELExpression": return new ModelDeserializers.SpELExpressionDeserializer(); case "split": return new ModelDeserializers.SplitDefinitionDeserializer(); case "org.apache.camel.model.SplitDefinition": return new ModelDeserializers.SplitDefinitionDeserializer(); + case "spring-transaction-error-handler": return new ModelDeserializers.SpringTransactionErrorHandlerDefinitionDeserializer(); + case "springTransactionErrorHandler": return new ModelDeserializers.SpringTransactionErrorHandlerDefinitionDeserializer(); + case "org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition": return new ModelDeserializers.SpringTransactionErrorHandlerDefinitionDeserializer(); case "static-service-discovery": return new ModelDeserializers.StaticServiceCallServiceDiscoveryConfigurationDeserializer(); case "staticServiceDiscovery": return new ModelDeserializers.StaticServiceCallServiceDiscoveryConfigurationDeserializer(); case "org.apache.camel.model.cloud.StaticServiceCallServiceDiscoveryConfiguration": return new ModelDeserializers.StaticServiceCallServiceDiscoveryConfigurationDeserializer(); 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 55307a6b77e..bfbac83269c 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 @@ -874,6 +874,29 @@ } } }, + "org.apache.camel.model.ErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "dead-letter-channel" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.DeadLetterChannelDefinition" + }, + "default-error-handler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" + }, + "id" : { + "type" : "string" + }, + "jta-transaction-error-handler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" + }, + "no-error-handler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.NoErrorHandlerDefinition" + }, + "spring-transaction-error-handler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition" + } + } + }, "org.apache.camel.model.ExpressionSubElementDefinition" : { "type" : "object", "properties" : { @@ -2026,6 +2049,9 @@ "exchange-formatter-ref" : { "type" : "string" }, + "id" : { + "type" : "string" + }, "log-continued" : { "type" : "boolean" }, @@ -5724,6 +5750,233 @@ } } }, + "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" + } + } + } ], + "required" : [ "dead-letter-uri" ] + }, + "org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + } + } + }, + "org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + }, + "ref" : { + "type" : "string" + } + } + } ], + "required" : [ "ref" ] + }, + "org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + }, + "rollback-logging-level" : { + "type" : "string" + }, + "transacted-policy-ref" : { + "type" : "string" + }, + "use-original-body" : { + "type" : "boolean" + }, + "use-original-message" : { + "type" : "boolean" + } + } + }, + "org.apache.camel.model.errorhandler.NoErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + } + } + }, + "org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + }, + "rollback-logging-level" : { + "type" : "string" + }, + "transacted-policy-ref" : { + "type" : "string" + }, + "use-original-body" : { + "type" : "boolean" + }, + "use-original-message" : { + "type" : "boolean" + } + } + }, "org.apache.camel.model.language.CSimpleExpression" : { "oneOf" : [ { "type" : "string" 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 2e8efc36b90..88c780667bb 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 @@ -781,6 +781,29 @@ } } }, + "org.apache.camel.model.ErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "deadLetterChannel" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.DeadLetterChannelDefinition" + }, + "defaultErrorHandler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" + }, + "id" : { + "type" : "string" + }, + "jtaTransactionErrorHandler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" + }, + "noErrorHandler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.NoErrorHandlerDefinition" + }, + "springTransactionErrorHandler" : { + "$ref" : "#/items/definitions/org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition" + } + } + }, "org.apache.camel.model.ExpressionSubElementDefinition" : { "type" : "object", "properties" : { @@ -1930,6 +1953,9 @@ "exchangeFormatterRef" : { "type" : "string" }, + "id" : { + "type" : "string" + }, "logContinued" : { "type" : "boolean" }, @@ -5628,6 +5654,233 @@ } } }, + "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" + } + } + } ], + "required" : [ "deadLetterUri" ] + }, + "org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + } + } + }, + "org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition" : { + "oneOf" : [ { + "type" : "string" + }, { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + }, + "ref" : { + "type" : "string" + } + } + } ], + "required" : [ "ref" ] + }, + "org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + }, + "rollbackLoggingLevel" : { + "type" : "string" + }, + "transactedPolicyRef" : { + "type" : "string" + }, + "useOriginalBody" : { + "type" : "boolean" + }, + "useOriginalMessage" : { + "type" : "boolean" + } + } + }, + "org.apache.camel.model.errorhandler.NoErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + } + } + }, + "org.apache.camel.model.errorhandler.SpringTransactionErrorHandlerDefinition" : { + "type" : "object", + "properties" : { + "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" + }, + "rollbackLoggingLevel" : { + "type" : "string" + }, + "transactedPolicyRef" : { + "type" : "string" + }, + "useOriginalBody" : { + "type" : "boolean" + }, + "useOriginalMessage" : { + "type" : "boolean" + } + } + }, "org.apache.camel.model.language.CSimpleExpression" : { "oneOf" : [ { "type" : "string" diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java index 1849c7c9a63..6e965242975 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java @@ -29,13 +29,10 @@ import java.util.Set; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; +import org.apache.camel.ErrorHandlerFactory; import org.apache.camel.ExtendedCamelContext; import org.apache.camel.RuntimeCamelException; import org.apache.camel.api.management.ManagedResource; -import org.apache.camel.builder.DeadLetterChannelBuilder; -import org.apache.camel.builder.DefaultErrorHandlerBuilder; -import org.apache.camel.builder.ErrorHandlerBuilder; -import org.apache.camel.builder.NoErrorHandlerBuilder; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.builder.RouteConfigurationBuilder; import org.apache.camel.component.properties.PropertiesLocation; @@ -52,7 +49,9 @@ import org.apache.camel.model.RouteDefinition; import org.apache.camel.model.RouteTemplateDefinition; import org.apache.camel.model.TemplatedRouteDefinition; import org.apache.camel.model.ToDefinition; -import org.apache.camel.model.errorhandler.DefaultErrorHandlerProperties; +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.rest.RestConfigurationDefinition; import org.apache.camel.model.rest.RestDefinition; import org.apache.camel.model.rest.VerbDefinition; @@ -171,12 +170,12 @@ public class YamlRoutesBuilderLoader extends YamlRoutesBuilderLoaderSupport { CamelContextAware.trySetCamelContext(getRouteCollection(), getCamelContext()); getRouteCollection().getOnExceptions().add((OnExceptionDefinition) item); return true; - } else if (item instanceof ErrorHandlerBuilder) { + } else if (item instanceof ErrorHandlerFactory) { if (!getRouteCollection().getRoutes().isEmpty()) { throw new IllegalArgumentException( "errorHandler must be defined before any routes in the RouteBuilder"); } - errorHandler((ErrorHandlerBuilder) item); + errorHandler((ErrorHandlerFactory) item); return true; } else if (item instanceof RouteTemplateDefinition) { CamelContextAware.trySetCamelContext(getRouteTemplateCollection(), getCamelContext()); @@ -573,23 +572,23 @@ public class YamlRoutesBuilderLoader extends YamlRoutesBuilderLoaderSupport { NodeTuple nt = errorHandler.getValue().get(0); String ehName = asText(nt.getKeyNode()); - DefaultErrorHandlerProperties ehb = null; + ErrorHandlerFactory ehf = null; if ("sink".equals(ehName)) { // a sink is a dead letter queue - DeadLetterChannelBuilder dlch = new DeadLetterChannelBuilder(); + DeadLetterChannelDefinition dlcd = new DeadLetterChannelDefinition(); MappingNode endpoint = asMappingNode(nodeAt(nt.getValueNode(), "/endpoint")); String dlq = extractCamelEndpointUri(endpoint); - dlch.setDeadLetterUri(dlq); - ehb = dlch; + dlcd.setDeadLetterUri(dlq); + ehf = dlcd; } else if ("log".equals(ehName)) { // log is the default error handler - ehb = new DefaultErrorHandlerBuilder(); + ehf = new DefaultErrorHandlerDefinition(); } else if ("none".equals(ehName)) { - route.errorHandler(new NoErrorHandlerBuilder()); + route.errorHandler(new NoErrorHandlerDefinition()); } // some error handlers support additional parameters - if (ehb != null) { + if (ehf != null) { // properties that are general for all kind of error handlers MappingNode prop = asMappingNode(nodeAt(nt.getValueNode(), "/parameters")); Map<String, Object> params = asMap(prop); @@ -599,11 +598,11 @@ public class YamlRoutesBuilderLoader extends YamlRoutesBuilderLoaderSupport { .withFluentBuilder(true) .withRemoveParameters(true) .withCamelContext(getCamelContext()) - .withTarget(ehb) + .withTarget(ehf) .withProperties(params) .bind(); } - route.errorHandler(ehb); + route.errorHandler(ehf); } } diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy index 177828f2712..a4c4a97ae64 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletBindingLoaderTest.groovy @@ -18,13 +18,13 @@ package org.apache.camel.dsl.yaml import org.apache.camel.Exchange import org.apache.camel.Processor -import org.apache.camel.builder.DeadLetterChannelBuilder -import org.apache.camel.builder.DefaultErrorHandlerBuilder -import org.apache.camel.builder.NoErrorHandlerBuilder import org.apache.camel.component.mock.MockEndpoint import org.apache.camel.dsl.yaml.support.YamlTestSupport import org.apache.camel.model.KameletDefinition import org.apache.camel.model.ToDefinition +import org.apache.camel.model.errorhandler.DeadLetterChannelDefinition +import org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition +import org.apache.camel.model.errorhandler.NoErrorHandlerDefinition class KameletBindingLoaderTest extends YamlTestSupport { @Override @@ -351,11 +351,11 @@ class KameletBindingLoaderTest extends YamlTestSupport { with (context.routeDefinitions[0]) { errorHandlerFactory != null - errorHandlerFactory instanceof DeadLetterChannelBuilder - var eh = errorHandlerFactory as DeadLetterChannelBuilder + errorHandlerFactory instanceof DeadLetterChannelDefinition + var eh = errorHandlerFactory as DeadLetterChannelDefinition eh.deadLetterUri == 'kamelet:error-handler?kafkaTopic=my-first-test&logMessage=ERROR%21&kafkaServiceAccountId=scott&kafkaBrokers=my-broker&kafkaServiceAccountSecret=tiger' - eh.redeliveryPolicy.maximumRedeliveries == 1 - eh.redeliveryPolicy.redeliveryDelay == 2000 + eh.redeliveryPolicy.maximumRedeliveries == "1" + eh.redeliveryPolicy.redeliveryDelay == "2000" routeId == 'timer-event-source' input.endpointUri == 'kamelet:timer-source?message=Hello+world%21' outputs.size() == 1 @@ -413,11 +413,11 @@ class KameletBindingLoaderTest extends YamlTestSupport { with (context.routeDefinitions[0]) { errorHandlerFactory != null - errorHandlerFactory instanceof DeadLetterChannelBuilder - var eh = errorHandlerFactory as DeadLetterChannelBuilder + errorHandlerFactory instanceof DeadLetterChannelDefinition + var eh = errorHandlerFactory as DeadLetterChannelDefinition eh.deadLetterUri == 'mock:dead' - eh.redeliveryPolicy.maximumRedeliveries == 3 - eh.redeliveryPolicy.redeliveryDelay == 100 + eh.redeliveryPolicy.maximumRedeliveries == "3" + eh.redeliveryPolicy.redeliveryDelay == "100" } } @@ -457,11 +457,11 @@ class KameletBindingLoaderTest extends YamlTestSupport { with (context.routeDefinitions[0]) { errorHandlerFactory != null - errorHandlerFactory instanceof DefaultErrorHandlerBuilder - var eh = errorHandlerFactory as DefaultErrorHandlerBuilder - eh.redeliveryPolicy.maximumRedeliveries == 1 - eh.redeliveryPolicy.redeliveryDelay == 2000 - eh.isUseOriginalMessage() == true + errorHandlerFactory instanceof DefaultErrorHandlerDefinition + var eh = errorHandlerFactory as DefaultErrorHandlerDefinition + eh.redeliveryPolicy.maximumRedeliveries == "1" + eh.redeliveryPolicy.redeliveryDelay == "2000" + eh.getUseOriginalMessage() == "true" routeId == 'timer-event-source' input.endpointUri == 'kamelet:timer-source?message=Hello+world%21' outputs.size() == 1 @@ -503,7 +503,7 @@ class KameletBindingLoaderTest extends YamlTestSupport { with (context.routeDefinitions[0]) { errorHandlerFactory != null - errorHandlerFactory instanceof NoErrorHandlerBuilder + errorHandlerFactory instanceof NoErrorHandlerDefinition routeId == 'timer-event-source' input.endpointUri == 'kamelet:timer-source?message=Hello+world%21' outputs.size() == 1
