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 2600f5cb3bfb610fc79f086edc63b1ee991b6086 Author: Claus Ibsen <[email protected]> AuthorDate: Thu Apr 7 12:35:49 2022 +0200 CAMEL-16834: error handler in model DSL. WIP --- .../dsl/yaml/deserializers/ModelDeserializers.java | 245 --------------------- .../deserializers/ModelDeserializersResolver.java | 4 - .../dsl/yaml/GenerateYamlDeserializersMojo.java | 29 +-- .../src/generated/resources/camel-yaml-dsl.json | 86 -------- .../src/generated/resources/camelYamlDsl.json | 86 -------- 5 files changed, 5 insertions(+), 445 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 164793b45b9..1d72cbbbe41 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 @@ -6,10 +6,6 @@ import java.lang.Override; import java.lang.String; import java.util.Map; import org.apache.camel.CamelContext; -import org.apache.camel.builder.DeadLetterChannelBuilder; -import org.apache.camel.builder.DefaultErrorHandlerBuilder; -import org.apache.camel.builder.ErrorHandlerBuilderRef; -import org.apache.camel.builder.NoErrorHandlerBuilder; import org.apache.camel.dsl.yaml.common.YamlDeserializerBase; import org.apache.camel.dsl.yaml.common.YamlDeserializerEndpointAwareBase; import org.apache.camel.dsl.yaml.common.YamlDeserializerSupport; @@ -3831,100 +3827,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } - @YamlType( - inline = true, - types = org.apache.camel.builder.DeadLetterChannelBuilder.class, - order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, - properties = { - @YamlProperty(name = "async-delayed-redelivery", type = "boolean"), - @YamlProperty(name = "dead-letter-handle-new-exception", type = "boolean"), - @YamlProperty(name = "dead-letter-uri", type = "string"), - @YamlProperty(name = "executor-service-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 = "retry-while-ref", type = "string"), - @YamlProperty(name = "use-original-body", type = "boolean"), - @YamlProperty(name = "use-original-message", type = "boolean") - } - ) - public static class DeadLetterChannelBuilderDeserializer extends YamlDeserializerBase<DeadLetterChannelBuilder> { - public DeadLetterChannelBuilderDeserializer() { - super(DeadLetterChannelBuilder.class); - } - - @Override - protected DeadLetterChannelBuilder newInstance() { - return new DeadLetterChannelBuilder(); - } - - @Override - protected DeadLetterChannelBuilder newInstance(String value) { - return new DeadLetterChannelBuilder(value); - } - - @Override - protected boolean setProperty(DeadLetterChannelBuilder target, String propertyKey, - String propertyName, Node node) { - switch(propertyKey) { - case "async-delayed-redelivery": { - boolean val = asBoolean(node); - target.setAsyncDelayedRedelivery(val); - break; - } - case "dead-letter-handle-new-exception": { - boolean val = asBoolean(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 "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 "retry-while-ref": { - String val = asText(node); - target.setRetryWhileRef(val); - break; - } - case "use-original-body": { - boolean val = asBoolean(node); - target.setUseOriginalBody(val); - break; - } - case "use-original-message": { - boolean val = asBoolean(node); - target.setUseOriginalMessage(val); - break; - } - default: { - return false; - } - } - return true; - } - } - @YamlType( inline = true, types = org.apache.camel.model.errorhandler.DeadLetterChannelDefinition.class, @@ -4052,82 +3954,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } - @YamlType( - types = org.apache.camel.builder.DefaultErrorHandlerBuilder.class, - order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, - properties = { - @YamlProperty(name = "async-delayed-redelivery", type = "boolean"), - @YamlProperty(name = "executor-service-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 = "retry-while-ref", type = "string"), - @YamlProperty(name = "use-original-body", type = "boolean"), - @YamlProperty(name = "use-original-message", type = "boolean") - } - ) - public static class DefaultErrorHandlerBuilderDeserializer extends YamlDeserializerBase<DefaultErrorHandlerBuilder> { - public DefaultErrorHandlerBuilderDeserializer() { - super(DefaultErrorHandlerBuilder.class); - } - - @Override - protected DefaultErrorHandlerBuilder newInstance() { - return new DefaultErrorHandlerBuilder(); - } - - @Override - protected boolean setProperty(DefaultErrorHandlerBuilder target, String propertyKey, - String propertyName, Node node) { - switch(propertyKey) { - case "async-delayed-redelivery": { - boolean val = asBoolean(node); - target.setAsyncDelayedRedelivery(val); - break; - } - case "executor-service-ref": { - String val = asText(node); - target.setExecutorServiceRef(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 "retry-while-ref": { - String val = asText(node); - target.setRetryWhileRef(val); - break; - } - case "use-original-body": { - boolean val = asBoolean(node); - target.setUseOriginalBody(val); - break; - } - case "use-original-message": { - boolean val = asBoolean(node); - target.setUseOriginalMessage(val); - break; - } - default: { - return false; - } - } - return true; - } - } - @YamlType( types = org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition.class, order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1, @@ -4895,52 +4721,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } - @YamlType( - inline = true, - 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, @@ -9081,31 +8861,6 @@ public final class ModelDeserializers extends YamlDeserializerSupport { } } - @YamlType( - types = org.apache.camel.builder.NoErrorHandlerBuilder.class, - order = org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1 - ) - public static class NoErrorHandlerBuilderDeserializer extends YamlDeserializerBase<NoErrorHandlerBuilder> { - public NoErrorHandlerBuilderDeserializer() { - super(NoErrorHandlerBuilder.class); - } - - @Override - protected NoErrorHandlerBuilder newInstance() { - return new NoErrorHandlerBuilder(); - } - - @Override - protected boolean setProperty(NoErrorHandlerBuilder target, String propertyKey, - String propertyName, Node node) { - switch(propertyKey) { - default: { - return false; - } - } - } - } - @YamlType( types = org.apache.camel.model.errorhandler.NoErrorHandlerDefinition.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 af3d0ca1d18..90f6fe2e9f9 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 @@ -103,11 +103,9 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.dataformat.DataFormatsDefinition": return new ModelDeserializers.DataFormatsDefinitionDeserializer(); 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(); @@ -130,7 +128,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.validator.EndpointValidatorDefinition": return new ModelDeserializers.EndpointValidatorDefinitionDeserializer(); 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(); @@ -254,7 +251,6 @@ public final class ModelDeserializersResolver implements YamlDeserializerResolve case "org.apache.camel.model.rest.MutualTLSDefinition": return new ModelDeserializers.MutualTLSDefinitionDeserializer(); 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(); diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java index 086d3a9c48d..e1d14cab14f 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java @@ -305,7 +305,8 @@ public class GenerateYamlDeserializersMojo extends GenerateYamlSupportMojo { all() .filter(ci -> { return !ci.name().equals(EXPRESSION_DEFINITION_CLASS) - && !ci.name().equals(EXPRESSION_SUBELEMENT_DEFINITION_CLASS); + && !ci.name().equals(EXPRESSION_SUBELEMENT_DEFINITION_CLASS) + && !implementType(ci, ERROR_HANDLER_BUILDER_CLASS); }) .map(this::generateParser) .sorted(Comparator.comparing(o -> o.type.name)) @@ -437,29 +438,9 @@ public class GenerateYamlDeserializersMojo extends GenerateYamlSupportMojo { CodeBlock.Builder setProperty = CodeBlock.builder(); setProperty.beginControlFlow("switch(propertyKey)"); - if (implementType(info, ERROR_HANDLER_BUILDER_CLASS)) { - List<MethodInfo> methods = methods(info).stream() - .filter(mi -> java.lang.reflect.Modifier.isPublic(mi.flags())) - .filter(mi -> mi.name().matches("^set[1-9A-Z].*$")) - .filter(mi -> mi.parameters().size() == 1) - .filter(mi -> PRIMITIVE_CLASSES.contains(mi.parameters().get(0).name().toString())) - .filter(mi -> mi.returnType().kind() == Type.Kind.VOID) - .filter(mi -> acceptErrorHandlerBuilderMethod(info, mi)) - .collect(Collectors.toList()); - - // error handler is special so we need to filter out specific methods which we should not include - - - for (MethodInfo method : methods) { - if (generateSetValue(setProperty, method, properties)) { - caseAdded = true; - } - } - } else { - for (FieldInfo field : fields(info)) { - if (generateSetValue(setProperty, field, properties)) { - caseAdded = true; - } + for (FieldInfo field : fields(info)) { + if (generateSetValue(setProperty, field, properties)) { + caseAdded = true; } } 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 6b5367b3b48..3d65021207c 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 @@ -298,92 +298,6 @@ } } }, - "org.apache.camel.builder.DeadLetterChannelBuilder" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "properties" : { - "async-delayed-redelivery" : { - "type" : "boolean" - }, - "dead-letter-handle-new-exception" : { - "type" : "boolean" - }, - "dead-letter-uri" : { - "type" : "string" - }, - "executor-service-ref" : { - "type" : "string" - }, - "on-exception-occurred-ref" : { - "type" : "string" - }, - "on-prepare-failure-ref" : { - "type" : "string" - }, - "on-redelivery-ref" : { - "type" : "string" - }, - "retry-while-ref" : { - "type" : "string" - }, - "use-original-body" : { - "type" : "boolean" - }, - "use-original-message" : { - "type" : "boolean" - } - } - } ] - }, - "org.apache.camel.builder.DefaultErrorHandlerBuilder" : { - "type" : "object", - "properties" : { - "async-delayed-redelivery" : { - "type" : "boolean" - }, - "executor-service-ref" : { - "type" : "string" - }, - "on-exception-occurred-ref" : { - "type" : "string" - }, - "on-prepare-failure-ref" : { - "type" : "string" - }, - "on-redelivery-ref" : { - "type" : "string" - }, - "retry-while-ref" : { - "type" : "string" - }, - "use-original-body" : { - "type" : "boolean" - }, - "use-original-message" : { - "type" : "boolean" - } - } - }, - "org.apache.camel.builder.ErrorHandlerBuilderRef" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "properties" : { - "ref" : { - "type" : "string" - }, - "support-transacted" : { - "type" : "boolean" - } - } - } ] - }, - "org.apache.camel.builder.NoErrorHandlerBuilder" : { - "type" : "object" - }, "org.apache.camel.dsl.yaml.deserializers.BeansDeserializer" : { "type" : "array", "items" : { 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 329836579be..9aaa857d365 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 @@ -205,92 +205,6 @@ } } }, - "org.apache.camel.builder.DeadLetterChannelBuilder" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "properties" : { - "asyncDelayedRedelivery" : { - "type" : "boolean" - }, - "deadLetterHandleNewException" : { - "type" : "boolean" - }, - "deadLetterUri" : { - "type" : "string" - }, - "executorServiceRef" : { - "type" : "string" - }, - "onExceptionOccurredRef" : { - "type" : "string" - }, - "onPrepareFailureRef" : { - "type" : "string" - }, - "onRedeliveryRef" : { - "type" : "string" - }, - "retryWhileRef" : { - "type" : "string" - }, - "useOriginalBody" : { - "type" : "boolean" - }, - "useOriginalMessage" : { - "type" : "boolean" - } - } - } ] - }, - "org.apache.camel.builder.DefaultErrorHandlerBuilder" : { - "type" : "object", - "properties" : { - "asyncDelayedRedelivery" : { - "type" : "boolean" - }, - "executorServiceRef" : { - "type" : "string" - }, - "onExceptionOccurredRef" : { - "type" : "string" - }, - "onPrepareFailureRef" : { - "type" : "string" - }, - "onRedeliveryRef" : { - "type" : "string" - }, - "retryWhileRef" : { - "type" : "string" - }, - "useOriginalBody" : { - "type" : "boolean" - }, - "useOriginalMessage" : { - "type" : "boolean" - } - } - }, - "org.apache.camel.builder.ErrorHandlerBuilderRef" : { - "oneOf" : [ { - "type" : "string" - }, { - "type" : "object", - "properties" : { - "ref" : { - "type" : "string" - }, - "supportTransacted" : { - "type" : "boolean" - } - } - } ] - }, - "org.apache.camel.builder.NoErrorHandlerBuilder" : { - "type" : "object" - }, "org.apache.camel.dsl.yaml.deserializers.BeansDeserializer" : { "type" : "array", "items" : {
