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);