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 2021/08/03 12:33:42 UTC
[camel] 12/22: CAMEL-16757: YAML DSL to support route configuration
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch CAMEL-16757b
in repository https://gitbox.apache.org/repos/asf/camel.git
commit b2215618f277dee0707348fc5ca31b39d6deb233
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Aug 2 16:54:26 2021 +0200
CAMEL-16757: YAML DSL to support route configuration
---
.../RouteConfigurationDefinitionDeserializer.java | 33 ++++++++++++++++++++--
.../src/generated/resources/camel-yaml-dsl.json | 3 ++
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteConfigurationDefinitionDeserializer.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteConfigurationDefinitionDeserializer.java
index f96fb58..9311269 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteConfigurationDefinitionDeserializer.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/RouteConfigurationDefinitionDeserializer.java
@@ -3,6 +3,10 @@ package org.apache.camel.dsl.yaml.deserializers;
import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
import org.apache.camel.dsl.yaml.common.YamlDeserializerBase;
import org.apache.camel.dsl.yaml.common.YamlDeserializerResolver;
+import org.apache.camel.model.InterceptDefinition;
+import org.apache.camel.model.InterceptFromDefinition;
+import org.apache.camel.model.InterceptSendToEndpointDefinition;
+import org.apache.camel.model.OnCompletionDefinition;
import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.model.RouteConfigurationDefinition;
import org.apache.camel.spi.annotations.YamlProperty;
@@ -18,6 +22,7 @@ import org.snakeyaml.engine.v2.nodes.SequenceNode;
order = YamlDeserializerResolver.ORDER_DEFAULT,
nodes = "route-configuration",
properties = {
+ @YamlProperty(name = "id", type = "string"),
@YamlProperty(name = "intercept", type = "array:org.apache.camel.model.InterceptDefinition"),
@YamlProperty(name = "intercept-from", type = "array:org.apache.camel.model.InterceptFromDefinition"),
@YamlProperty(name = "intercept-send-to-endpoint",
@@ -49,10 +54,34 @@ public class RouteConfigurationDefinitionDeserializer extends YamlDeserializerBa
final String key = asText(tuple.getKeyNode());
final Node val = tuple.getValueNode();
switch (key) {
+ case "id": {
+ target.setId(asText(val));
+ break;
+ }
case "on-exception":
setDeserializationContext(val, dc);
- OnExceptionDefinition obj = asType(val, OnExceptionDefinition.class);
- target.getOnExceptions().add(obj);
+ OnExceptionDefinition oed = asType(val, OnExceptionDefinition.class);
+ target.getOnExceptions().add(oed);
+ break;
+ case "on-completion":
+ setDeserializationContext(val, dc);
+ OnCompletionDefinition ocd = asType(val, OnCompletionDefinition.class);
+ target.getOnCompletions().add(ocd);
+ break;
+ case "intercept":
+ setDeserializationContext(val, dc);
+ InterceptDefinition id = asType(val, InterceptDefinition.class);
+ target.getIntercepts().add(id);
+ break;
+ case "intercept-from":
+ setDeserializationContext(val, dc);
+ InterceptFromDefinition ifd = asType(val, InterceptFromDefinition.class);
+ target.getInterceptFroms().add(ifd);
+ break;
+ case "intercept-send-to-endpoint":
+ setDeserializationContext(val, dc);
+ InterceptSendToEndpointDefinition isted = asType(val, InterceptSendToEndpointDefinition.class);
+ target.getInterceptSendTos().add(isted);
break;
}
}
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
index 924421b..90d56ae 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
@@ -2041,6 +2041,9 @@
}, {
"type" : "object",
"properties" : {
+ "id" : {
+ "type" : "string"
+ },
"intercept" : {
"type" : "array",
"items" : {