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 c5ab200f22efd942760b8262f3b69c7c399f196f
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Apr 7 12:23:29 2022 +0200

    CAMEL-16834: error handler in model DSL. WIP
---
 .../ErrorHandlerBuilderDeserializer.java           | 29 +++++-----
 .../src/generated/resources/camel-yaml-dsl.json    | 65 +++++++++++-----------
 .../src/generated/resources/camelYamlDsl.json      | 59 ++++++++++----------
 .../apache/camel/dsl/yaml/ErrorHandlerTest.groovy  | 20 +++----
 4 files changed, 86 insertions(+), 87 deletions(-)

diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
index 9a03732b99a..c52fdaf279d 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/ErrorHandlerBuilderDeserializer.java
@@ -17,16 +17,16 @@
 package org.apache.camel.dsl.yaml.deserializers;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.builder.DeadLetterChannelBuilder;
-import org.apache.camel.builder.DefaultErrorHandlerBuilder;
-import org.apache.camel.builder.ErrorHandlerBuilder;
-import org.apache.camel.builder.ErrorHandlerBuilderRef;
-import org.apache.camel.builder.NoErrorHandlerBuilder;
 import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
 import org.apache.camel.dsl.yaml.common.YamlDeserializerResolver;
 import org.apache.camel.dsl.yaml.common.exception.UnsupportedFieldException;
 import org.apache.camel.dsl.yaml.common.exception.YamlDeserializationException;
+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.NoErrorHandlerDefinition;
 import org.apache.camel.spi.CamelContextCustomizer;
 import org.apache.camel.spi.annotations.YamlIn;
 import org.apache.camel.spi.annotations.YamlProperty;
@@ -45,18 +45,19 @@ import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.setDeseri
 @YamlIn
 @YamlType(
           nodes = { "error-handler", "errorHandler" },
-          types = ErrorHandlerBuilderRef.class,
+          types = ErrorHandlerRefDefinition.class,
           order = YamlDeserializerResolver.ORDER_DEFAULT,
           properties = {
                   @YamlProperty(name = "ref", type = "string"),
-                  @YamlProperty(name = "none", type = 
"object:org.apache.camel.builder.NoErrorHandlerBuilder"),
-                  @YamlProperty(name = "log", type = 
"object:org.apache.camel.builder.DefaultErrorHandlerBuilder"),
+                  @YamlProperty(name = "none", type = 
"object:org.apache.camel.model.errorhandler.NoErrorHandlerDefinition"),
+                  @YamlProperty(name = "log",
+                                type = 
"object:org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition"),
                   @YamlProperty(name = "dead-letter-channel",
-                                type = 
"object:org.apache.camel.builder.DeadLetterChannelBuilder"),
+                                type = 
"object:org.apache.camel.model.errorhandler.DeadLetterChannelDefinition"),
           })
 public class ErrorHandlerBuilderDeserializer implements ConstructNode {
 
-    private static CamelContextCustomizer customizer(ErrorHandlerBuilder 
builder) {
+    private static CamelContextCustomizer customizer(ErrorHandlerFactory 
builder) {
         return new CamelContextCustomizer() {
             @Override
             public void configure(CamelContext camelContext) {
@@ -78,13 +79,13 @@ public class ErrorHandlerBuilderDeserializer implements 
ConstructNode {
 
             switch (key) {
                 case "ref":
-                    return customizer(asType(val, 
ErrorHandlerBuilderRef.class));
+                    return customizer(asType(val, 
ErrorHandlerRefDefinition.class));
                 case "none":
-                    return customizer(asType(val, 
NoErrorHandlerBuilder.class));
+                    return customizer(asType(val, 
NoErrorHandlerDefinition.class));
                 case "dead-letter-channel":
-                    return customizer(asType(val, 
DeadLetterChannelBuilder.class));
+                    return customizer(asType(val, 
DeadLetterChannelDefinition.class));
                 case "log":
-                    return customizer(asType(val, 
DefaultErrorHandlerBuilder.class));
+                    return customizer(asType(val, 
DefaultErrorHandlerDefinition.class));
                 default:
                     throw new UnsupportedFieldException(val, key);
             }
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 bfbac83269c..6b5367b3b48 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
@@ -367,21 +367,19 @@
         }
       },
       "org.apache.camel.builder.ErrorHandlerBuilderRef" : {
-        "type" : "object",
-        "properties" : {
-          "dead-letter-channel" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.DeadLetterChannelBuilder"
-          },
-          "log" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.DefaultErrorHandlerBuilder"
-          },
-          "none" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.NoErrorHandlerBuilder"
-          },
-          "ref" : {
-            "type" : "string"
+        "oneOf" : [ {
+          "type" : "string"
+        }, {
+          "type" : "object",
+          "properties" : {
+            "ref" : {
+              "type" : "string"
+            },
+            "support-transacted" : {
+              "type" : "boolean"
+            }
           }
-        }
+        } ]
       },
       "org.apache.camel.builder.NoErrorHandlerBuilder" : {
         "type" : "object"
@@ -5852,20 +5850,21 @@
         }
       },
       "org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            }
+        "type" : "object",
+        "properties" : {
+          "dead-letter-channel" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.DeadLetterChannelDefinition"
+          },
+          "log" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition"
+          },
+          "none" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.NoErrorHandlerDefinition"
+          },
+          "ref" : {
+            "type" : "string"
           }
-        } ],
-        "required" : [ "ref" ]
+        }
       },
       
"org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" : {
         "type" : "object",
@@ -7785,12 +7784,6 @@
       }
     },
     "properties" : {
-      "error-handler" : {
-        "$ref" : 
"#/items/definitions/org.apache.camel.builder.ErrorHandlerBuilderRef"
-      },
-      "errorHandler" : {
-        "$ref" : 
"#/items/definitions/org.apache.camel.builder.ErrorHandlerBuilderRef"
-      },
       "beans" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.dsl.yaml.deserializers.BeansDeserializer"
       },
@@ -7818,6 +7811,12 @@
       "templatedRoute" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.model.TemplatedRouteDefinition"
       },
+      "error-handler" : {
+        "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition"
+      },
+      "errorHandler" : {
+        "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition"
+      },
       "rest" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.model.rest.RestDefinition"
       }
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 88c780667bb..329836579be 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
@@ -274,21 +274,19 @@
         }
       },
       "org.apache.camel.builder.ErrorHandlerBuilderRef" : {
-        "type" : "object",
-        "properties" : {
-          "deadLetterChannel" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.DeadLetterChannelBuilder"
-          },
-          "log" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.DefaultErrorHandlerBuilder"
-          },
-          "none" : {
-            "$ref" : 
"#/items/definitions/org.apache.camel.builder.NoErrorHandlerBuilder"
-          },
-          "ref" : {
-            "type" : "string"
+        "oneOf" : [ {
+          "type" : "string"
+        }, {
+          "type" : "object",
+          "properties" : {
+            "ref" : {
+              "type" : "string"
+            },
+            "supportTransacted" : {
+              "type" : "boolean"
+            }
           }
-        }
+        } ]
       },
       "org.apache.camel.builder.NoErrorHandlerBuilder" : {
         "type" : "object"
@@ -5756,20 +5754,21 @@
         }
       },
       "org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition" : {
-        "oneOf" : [ {
-          "type" : "string"
-        }, {
-          "type" : "object",
-          "properties" : {
-            "id" : {
-              "type" : "string"
-            },
-            "ref" : {
-              "type" : "string"
-            }
+        "type" : "object",
+        "properties" : {
+          "deadLetterChannel" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.DeadLetterChannelDefinition"
+          },
+          "log" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.DefaultErrorHandlerDefinition"
+          },
+          "none" : {
+            "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.NoErrorHandlerDefinition"
+          },
+          "ref" : {
+            "type" : "string"
           }
-        } ],
-        "required" : [ "ref" ]
+        }
       },
       
"org.apache.camel.model.errorhandler.JtaTransactionErrorHandlerDefinition" : {
         "type" : "object",
@@ -7686,9 +7685,6 @@
       }
     },
     "properties" : {
-      "errorHandler" : {
-        "$ref" : 
"#/items/definitions/org.apache.camel.builder.ErrorHandlerBuilderRef"
-      },
       "beans" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.dsl.yaml.deserializers.BeansDeserializer"
       },
@@ -7707,6 +7703,9 @@
       "templatedRoute" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.model.TemplatedRouteDefinition"
       },
+      "errorHandler" : {
+        "$ref" : 
"#/items/definitions/org.apache.camel.model.errorhandler.ErrorHandlerRefDefinition"
+      },
       "rest" : {
         "$ref" : 
"#/items/definitions/org.apache.camel.model.rest.RestDefinition"
       }
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ErrorHandlerTest.groovy
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ErrorHandlerTest.groovy
index fe392a66cc9..3e288f2ebf1 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ErrorHandlerTest.groovy
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/ErrorHandlerTest.groovy
@@ -16,13 +16,13 @@
  */
 package org.apache.camel.dsl.yaml
 
-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.support.YamlTestSupport
 import org.apache.camel.component.mock.MockEndpoint
 import org.apache.camel.dsl.yaml.support.model.MyFailingProcessor
+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.NoErrorHandlerDefinition
 
 class ErrorHandlerTest extends YamlTestSupport {
 
@@ -33,7 +33,7 @@ class ErrorHandlerTest extends YamlTestSupport {
                   - name: myFailingProcessor
                     type: ${MyFailingProcessor.name}
                   - name: myErrorHandler
-                    type: org.apache.camel.builder.DeadLetterChannelBuilder
+                    type: 
org.apache.camel.model.errorhandler.DeadLetterChannelDefinition
                     properties:
                       dead-letter-uri: "mock:on-error"
                       redelivery-delay: 0
@@ -57,7 +57,7 @@ class ErrorHandlerTest extends YamlTestSupport {
                 to('direct:start').withBody('hello').send()
             }
         then:
-            context.errorHandlerFactory instanceof ErrorHandlerBuilderRef
+            context.errorHandlerFactory instanceof ErrorHandlerRefDefinition
             MockEndpoint.assertIsSatisfied(context)
     }
 
@@ -70,7 +70,7 @@ class ErrorHandlerTest extends YamlTestSupport {
         when:
             context.start()
         then:
-            with(context.errorHandlerFactory, ErrorHandlerBuilderRef) {
+            with(context.errorHandlerFactory, ErrorHandlerRefDefinition) {
                 ref == 'myErrorHandler'
             }
     }
@@ -85,7 +85,7 @@ class ErrorHandlerTest extends YamlTestSupport {
         when:
             context.start()
         then:
-            with(context.errorHandlerFactory, DefaultErrorHandlerBuilder) {
+            with(context.errorHandlerFactory, DefaultErrorHandlerDefinition) {
                 useOriginalMessage
             }
     }
@@ -100,7 +100,7 @@ class ErrorHandlerTest extends YamlTestSupport {
         when:
             context.start()
         then:
-            with(context.errorHandlerFactory, DeadLetterChannelBuilder) {
+            with(context.errorHandlerFactory, DeadLetterChannelDefinition) {
                 deadLetterUri == 'mock:on-error'
             }
     }
@@ -114,7 +114,7 @@ class ErrorHandlerTest extends YamlTestSupport {
         when:
             context.start()
         then:
-            context.errorHandlerFactory instanceof NoErrorHandlerBuilder
+            context.errorHandlerFactory instanceof NoErrorHandlerDefinition
     }
 
 }

Reply via email to