This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new aefeabdae01 CAMEL-21617: Add doCatch and doFinally to doTry json model 
in camel-core-model
aefeabdae01 is described below

commit aefeabdae01fe6045272709d9c14f2a75c1b9e59
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jan 14 08:06:42 2025 +0100

    CAMEL-21617: Add doCatch and doFinally to doTry json model in 
camel-core-model
---
 .../org/apache/camel/catalog/models/doTry.json         |  4 +++-
 .../META-INF/org/apache/camel/model/doTry.json         |  4 +++-
 .../dsl/yaml/deserializers/ModelDeserializers.java     |  4 ++--
 .../src/generated/resources/schema/camelYamlDsl.json   |  4 ++++
 .../camel/maven/packaging/SchemaGeneratorMojo.java     | 18 ++++++++++++++++++
 5 files changed, 30 insertions(+), 4 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
index 2c45cdce01e..dfa8b33f3ad 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/models/doTry.json
@@ -15,6 +15,8 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether to disable this 
EIP from the route during build time. Once an EIP has been disabled then it 
cannot be enabled later at runtime." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "doCatch": { "index": 4, "kind": "element", "displayName": "Do Catch", 
"group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.CatchDefinition>", "oneOf": [ "doCatch" 
], "deprecated": false, "autowired": false, "secret": false, "description": 
"Catches exceptions as part of a try, catch, finally block" },
+    "doFinally": { "index": 5, "kind": "element", "displayName": "Do Finally", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.FinallyDefinition", "deprecated": false, "autowired": 
false, "secret": false, "description": "Path traversed when a try, catch, 
finally block exits" }
   }
 }
diff --git 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
index 2c45cdce01e..dfa8b33f3ad 100644
--- 
a/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
+++ 
b/core/camel-core-model/src/generated/resources/META-INF/org/apache/camel/model/doTry.json
@@ -15,6 +15,8 @@
     "id": { "index": 0, "kind": "attribute", "displayName": "Id", "group": 
"common", "required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the id of this node" },
     "description": { "index": 1, "kind": "attribute", "displayName": 
"Description", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the description of this node" },
     "disabled": { "index": 2, "kind": "attribute", "displayName": "Disabled", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "java.lang.Boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether to disable this 
EIP from the route during build time. Once an EIP has been disabled then it 
cannot be enabled later at runtime." },
-    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "outputs": { "index": 3, "kind": "element", "displayName": "Outputs", 
"group": "common", "required": true, "type": "array", "javaType": 
"java.util.List", "oneOf": [ "aggregate", "bean", "choice", "circuitBreaker", 
"claimCheck", "convertBodyTo", "convertHeaderTo", "convertVariableTo", "delay", 
"doCatch", "doFinally", "doTry", "dynamicRouter", "enrich", "filter", 
"idempotentConsumer", "intercept", "interceptFrom", "interceptSendToEndpoint", 
"kamelet", "loadBalance", "log", "loop", "mar [...]
+    "doCatch": { "index": 4, "kind": "element", "displayName": "Do Catch", 
"group": "common", "required": false, "type": "array", "javaType": 
"java.util.List<org.apache.camel.model.CatchDefinition>", "oneOf": [ "doCatch" 
], "deprecated": false, "autowired": false, "secret": false, "description": 
"Catches exceptions as part of a try, catch, finally block" },
+    "doFinally": { "index": 5, "kind": "element", "displayName": "Do Finally", 
"group": "common", "required": false, "type": "object", "javaType": 
"org.apache.camel.model.FinallyDefinition", "deprecated": false, "autowired": 
false, "secret": false, "description": "Path traversed when a try, catch, 
finally block exits" }
   }
 }
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 95d30c2a1d3..588b91673e5 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
@@ -19778,8 +19778,8 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             properties = {
                     @YamlProperty(name = "description", type = "string", 
description = "Sets the description of this node", displayName = "Description"),
                     @YamlProperty(name = "disabled", type = "boolean", 
description = "Whether to disable this EIP from the route during build time. 
Once an EIP has been disabled then it cannot be enabled later at runtime.", 
displayName = "Disabled"),
-                    @YamlProperty(name = "doCatch", type = 
"array:org.apache.camel.model.CatchDefinition"),
-                    @YamlProperty(name = "doFinally", type = 
"object:org.apache.camel.model.FinallyDefinition"),
+                    @YamlProperty(name = "doCatch", type = 
"array:org.apache.camel.model.CatchDefinition", description = "Catches 
exceptions as part of a try, catch, finally block", displayName = "Do Catch"),
+                    @YamlProperty(name = "doFinally", type = 
"object:org.apache.camel.model.FinallyDefinition", description = "Path 
traversed when a try, catch, finally block exits", displayName = "Do Finally"),
                     @YamlProperty(name = "id", type = "string", description = 
"Sets the id of this node", displayName = "Id"),
                     @YamlProperty(name = "inheritErrorHandler", type = 
"boolean"),
                     @YamlProperty(name = "steps", type = 
"array:org.apache.camel.model.ProcessorDefinition")
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index 9a3f6e510bd..e40d355a1c7 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -7580,11 +7580,15 @@
           },
           "doCatch" : {
             "type" : "array",
+            "title" : "Do Catch",
+            "description" : "Catches exceptions as part of a try, catch, 
finally block",
             "items" : {
               "$ref" : 
"#/items/definitions/org.apache.camel.model.CatchDefinition"
             }
           },
           "doFinally" : {
+            "title" : "Do Finally",
+            "description" : "Path traversed when a try, catch, finally block 
exits",
             "$ref" : 
"#/items/definitions/org.apache.camel.model.FinallyDefinition"
           },
           "id" : {
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
index 28ac03c6165..5e32210d9e4 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SchemaGeneratorMojo.java
@@ -480,6 +480,9 @@ public class SchemaGeneratorMojo extends 
AbstractGeneratorMojo {
                 processIdentified(classElement, eipOptions);
             } else if ("RouteDefinition".equals(classElement.getSimpleName())) 
{
                 processRoute(classElement, eipOptions);
+            } else if ("TryDefinition".equals(classElement.getSimpleName())) {
+                // special-case for doTry
+                processDoTry(classElement, eipOptions);
             }
 
             // check super classes which may also have fields
@@ -760,6 +763,21 @@ public class SchemaGeneratorMojo extends 
AbstractGeneratorMojo {
         }
     }
 
+    private void processDoTry(Class<?> classElement, Set<EipOptionModel> 
eipOptions) {
+        // include doCatch and doFinally
+        EipOptionModel ep = createOption("doCatch", "Do Catch", "element",
+                "java.util.List<org.apache.camel.model.CatchDefinition>", 
false, "",
+                "", "Catches exceptions as part of a try, catch, finally 
block", false,
+                null, false, null, Set.of("doCatch"), false, false);
+        eipOptions.add(ep);
+
+        ep = createOption("doFinally", "Do Finally", "element", 
"org.apache.camel.model.FinallyDefinition", false,
+                "",
+                "", "Path traversed when a try, catch, finally block exits", 
false,
+                null, false, null, null, false, false);
+        eipOptions.add(ep);
+    }
+
     private void processRoute(Class<?> classElement, Set<EipOptionModel> 
eipOptions) {
 
         // group

Reply via email to