[
https://issues.apache.org/jira/browse/CAMEL-16489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luca Burgazzoli updated CAMEL-16489:
------------------------------------
Fix Version/s: 3.10.0
> YAML DSL is sensitive to key ordering
> -------------------------------------
>
> Key: CAMEL-16489
> URL: https://issues.apache.org/jira/browse/CAMEL-16489
> Project: Camel
> Issue Type: Bug
> Components: camel-yaml-dsl
> Affects Versions: 3.9.0
> Reporter: Nicola Ferraro
> Priority: Critical
> Fix For: 3.10.0
>
>
> Related to [https://github.com/apache/camel-k/issues/2203]
>
> This does not seem to work in YAML DSL:
>
> {code:java}
> - from:
> steps:
> - to:
> uri: "log:info"
> parameters:
> showHeaders: "true"
> uri: "timer:tick"
> {code}
>
> Error:
>
> {code:java}
> [1] Caused by: java.lang.IllegalStateException: url must be set before
> setting properties
> [1] at
> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$ToDefinitionDeserializer.setProperty(ModelDeserializers.java:14189)
> [1] at
> org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$ToDefinitionDeserializer.setProperty(ModelDeserializers.java:14141)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.setProperties(YamlDeserializerBase.java:103)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:51)
> [1] at
> org.apache.camel.k.loader.yaml.YamlSourceLoaderDeserializerResolver$ToDeserializer.construct(YamlSourceLoaderDeserializerResolver.java:65)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$2.construct(YamlDeserializationContext.java:194)
> [1] at
> org.apache.camel.dsl.yaml.deserializers.ProcessorDefinitionDeserializer.construct(ProcessorDefinitionDeserializer.java:36)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$1.construct(YamlDeserializationContext.java:152)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asType(YamlDeserializerSupport.java:290)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asCollection(YamlDeserializerSupport.java:268)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatCollection(YamlDeserializerSupport.java:249)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerSupport.asFlatList(YamlDeserializerSupport.java:223)
> [1] at
> org.apache.camel.dsl.yaml.deserializers.RouteFromDefinitionDeserializer.setProperties(RouteFromDefinitionDeserializer.java:76)
> [1] at
> org.apache.camel.dsl.yaml.deserializers.RouteFromDefinitionDeserializer.setProperties(RouteFromDefinitionDeserializer.java:36)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:51)
> [1] at
> org.apache.camel.k.loader.yaml.YamlSourceLoaderDeserializerResolver$RouteFromDeserializer.construct(YamlSourceLoaderDeserializerResolver.java:57)
> [1] at
> org.apache.camel.dsl.yaml.common.YamlDeserializationContext$2.construct(YamlDeserializationContext.java:194)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:140)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObject(BaseConstructor.java:128)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructSequenceStep2(BaseConstructor.java:206)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructSequence(BaseConstructor.java:199)
> [1] at
> org.snakeyaml.engine.v2.constructor.StandardConstructor$ConstructYamlSeq.construct(StandardConstructor.java:340)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:140)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.constructObject(BaseConstructor.java:128)
> [1] at
> org.snakeyaml.engine.v2.constructor.BaseConstructor.construct(BaseConstructor.java:87)
> [1] ... 32 more {code}
>
> Changing the order to this, fixes:
> {code:java}
> - from:
> uri: "timer:tick"
> steps:
> - to:
> uri: "log:info"
> parameters:
> showHeaders: "true" {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)