You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/01/14 07:17:23 UTC
(camel) branch main updated: CAMEL-21617: Add doCatch and doFinally to doTry json model in camel-core-model
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 <cl...@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