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 2023/12/08 12:21:44 UTC

(camel) 02/02: camel-yaml-dsl - Add missing options on route

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

commit ee3d992d6a49284f5c04839efd3388971b1efe35
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 8 13:21:29 2023 +0100

    camel-yaml-dsl - Add missing options on route
---
 .../dsl/yaml/deserializers/RouteDefinitionDeserializer.java  | 12 ++++++++++++
 .../src/generated/resources/schema/camelYamlDsl.json         | 12 ++++++++++++
 .../test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy  |  4 ++++
 3 files changed, 28 insertions(+)

diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
index 63e31c3f301..eed0d6a2e08 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteDefinitionDeserializer.java
@@ -50,6 +50,12 @@ import org.snakeyaml.engine.v2.nodes.NodeTuple;
                   @YamlProperty(name = "messageHistory", type = "boolean"),
                   @YamlProperty(name = "logMask", type = "boolean"),
                   @YamlProperty(name = "trace", type = "boolean"),
+                  @YamlProperty(name = "shutdownRoute", type = "enum:Default,Defer",
+                                defaultValue = "Default",
+                                description = "To control how to shut down the route."),
+                  @YamlProperty(name = "shutdownRunningTask", type = "enum:CompleteCurrentTaskOnly,CompleteAllTasks",
+                                defaultValue = "CompleteCurrentTaskOnly",
+                                description = "To control how to shut down the route."),
                   @YamlProperty(name = "inputType", type = "object:org.apache.camel.model.InputTypeDefinition"),
                   @YamlProperty(name = "outputType", type = "object:org.apache.camel.model.OutputTypeDefinition"),
                   @YamlProperty(name = "from", type = "object:org.apache.camel.model.FromDefinition", required = true)
@@ -113,6 +119,12 @@ public class RouteDefinitionDeserializer extends YamlDeserializerBase<RouteDefin
                 case "messageHistory":
                     target.setMessageHistory(asText(val));
                     break;
+                case "shutdownRoute":
+                    target.setShutdownRoute(asText(val));
+                    break;
+                case "shutdownRunningTask":
+                    target.setShutdownRunningTask(asText(val));
+                    break;
                 case "trace":
                     target.setTrace(asText(val));
                     break;
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 723c8d8cffc..c33911e3e73 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
@@ -4818,6 +4818,18 @@
           "routePolicy" : {
             "type" : "string"
           },
+          "shutdownRoute" : {
+            "type" : "string",
+            "description" : "To control how to shut down the route.",
+            "default" : "Default",
+            "enum" : [ "Default", "Defer" ]
+          },
+          "shutdownRunningTask" : {
+            "type" : "string",
+            "description" : "To control how to shut down the route.",
+            "default" : "CompleteCurrentTaskOnly",
+            "enum" : [ "CompleteCurrentTaskOnly", "CompleteAllTasks" ]
+          },
           "startupOrder" : {
             "type" : "number"
           },
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
index e3cd01fdb3e..4e4a2e5b4c6 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RoutesTest.groovy
@@ -201,6 +201,8 @@ class RoutesTest extends YamlTestSupport {
                     autoStartup: false
                     startupOrder: 123
                     routePolicy: "myPolicy"
+                    shutdownRoute: "Defer"
+                    shutdownRunningTask: "CompleteAllTasks"
                     from:
                       uri: "direct:info"
                       steps:
@@ -215,6 +217,8 @@ class RoutesTest extends YamlTestSupport {
             autoStartup == 'false'
             startupOrder == 123
             routePolicyRef == 'myPolicy'
+            shutdownRoute == "Defer"
+            shutdownRunningTask == "CompleteAllTasks"
             input.endpointUri == 'direct:info'
 
             with (outputs[0], LogDefinition) {