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