[
https://issues.apache.org/jira/browse/CAMEL-16489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicola Ferraro updated CAMEL-16489:
-----------------------------------
Description:
Related to [https://github.com/apache/camel-k/issues/2203]
This does not seem to work in YAML DSL:
{code:java}
- from:
steps:
- to:
parameters:
showHeaders: "true"
uri: "log:info"
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}
was:
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}
> 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
> Assignee: Luca Burgazzoli
> 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:
> parameters:
> showHeaders: "true"
> uri: "log:info"
> 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)