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 2cc5dc7  CAMEL-17806: camel-yaml-dsl - Better parser error with source 
loc:line of the problem
2cc5dc7 is described below

commit 2cc5dc7fce4512c06bfe5173c3c0bbe19f06dc10
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Mar 30 20:27:19 2022 +0200

    CAMEL-17806: camel-yaml-dsl - Better parser error with source loc:line of 
the problem
---
 .../org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java | 4 ++++
 .../main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java   | 4 ++--
 .../yaml/deserializers/OutputAwareFromDefinitionDeserializer.java | 8 ++++----
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
index 9ffd966..4f1544a 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerSupport.java
@@ -374,6 +374,10 @@ public class YamlDeserializerSupport {
         return node;
     }
 
+    public static Map<String, Object> parseParameters(Block target, NodeTuple 
node) {
+        return asScalarMap(node.getValueNode());
+    }
+
     public static void setSteps(Block target, Node node) {
         final YamlDeserializationContext dc = getDeserializationContext(node);
         boolean flow = dc.getDeserializationMode() == 
YamlDeserializationMode.FLOW;
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
index ec7cc6b..abc22b9 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlSupport.java
@@ -48,9 +48,9 @@ import org.snakeyaml.engine.v2.nodes.NodeTuple;
 import org.snakeyaml.engine.v2.nodes.NodeType;
 import org.snakeyaml.engine.v2.nodes.SequenceNode;
 
-import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asScalarMap;
 import static org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asText;
 import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.getDeserializationContext;
+import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.parseParameters;
 import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.setDeserializationContext;
 import static 
org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.setSteps;
 
@@ -237,7 +237,7 @@ public final class YamlSupport {
                             throw new InvalidEndpointException(
                                     node, "Uri and parameters are not 
supported when using Endpoint DSL");
                         }
-                        parameters = asScalarMap(tuple.getValueNode());
+                        parameters = parseParameters(route, tuple);
                         break;
                     case "steps":
                         // steps must be set on the route
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
index adc2378..55f8290 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/OutputAwareFromDefinitionDeserializer.java
@@ -65,7 +65,7 @@ public class OutputAwareFromDefinitionDeserializer extends 
YamlDeserializerBase<
         }
 
         String uri = null;
-        Map<String, Object> properties = null;
+        Map<String, Object> parameters = null;
 
         for (NodeTuple tuple : node.getValue()) {
             final String key = asText(tuple.getKeyNode());
@@ -81,12 +81,12 @@ public class OutputAwareFromDefinitionDeserializer extends 
YamlDeserializerBase<
                     uri = asText(val);
                     break;
                 case "parameters":
-                    properties = asScalarMap(tuple.getValueNode());
+                    parameters = parseParameters(target, tuple);
                     break;
                 default:
                     String endpointUri = 
EndpointConsumerDeserializersResolver.resolveEndpointUri(key, val);
                     if (endpointUri != null) {
-                        if (uri != null || properties != null) {
+                        if (uri != null || parameters != null) {
                             throw new InvalidEndpointException(
                                     node, "Uri and parameters are not 
supported when using Endpoint DSL");
                         }
@@ -106,7 +106,7 @@ public class OutputAwareFromDefinitionDeserializer extends 
YamlDeserializerBase<
         if (target.getDelegate() == null) {
             ObjectHelper.notNull("uri", "The uri must set");
             FromDefinition from
-                    = new 
FromDefinition(YamlSupport.createEndpointUri(dc.getCamelContext(), node, uri, 
properties));
+                    = new 
FromDefinition(YamlSupport.createEndpointUri(dc.getCamelContext(), node, uri, 
parameters));
             // enrich model with line number
             if (line != -1) {
                 from.setLineNumber(line);

Reply via email to