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 <[email protected]>
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