[ https://issues.apache.org/jira/browse/CAMEL-19698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17750594#comment-17750594 ]
Luca Burgazzoli edited comment on CAMEL-19698 at 8/3/23 6:45 AM: ----------------------------------------------------------------- [~marat.gubaidul...@gmail.com] what happens when Karavan encounter an "inline" variant ? is it still able to render it properly and then when it is saved back it is re-written as full expression/type/expression ? was (Author: lb): [~marat.gubaidul...@gmail.com] what happens when the tooling encounter an "inline" variant ? is it still able to render it properly and then when it is saved back it is re-written as full expression/type/expression ? > camel-yaml-dsl: Express "simple" and "expression.simple" are mutually > exclusive if possible > -------------------------------------------------------------------------------------------- > > Key: CAMEL-19698 > URL: https://issues.apache.org/jira/browse/CAMEL-19698 > Project: Camel > Issue Type: Task > Components: camel-yaml-dsl > Reporter: Tomohisa Igarashi > Assignee: Luca Burgazzoli > Priority: Major > > For example currently YAML DSL allows specifying both "simple" and > "expression" under "when" > {code:yaml} > - from: > uri: "timer:test" > parameters: > period: 3000 > steps: > - when: > simple: "${header.baz} != null" > expression: > simple: "${header.baz} == null" > steps: > - log: "test" > {code} > But at runtime only latter wins in this case. It would be nice if this > exclusiveness could be expressed in the schema. > Similarly, this "anyOf" seems to allow specifying multiple expressions > https://github.com/apache/camel/blob/36bcd6277854b8e69ca91a8d51845a306b1c2136/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json#L3567-L3569 > for example > {code:yaml} > - from: > uri: "timer:test" > parameters: > period: 3000 > steps: > - when: > simple: ${header.baz} != null > jq: ".foo" > steps: > - log: "test" > {code} > Although this ends up with a runtime error > {noformat} > 2023-08-02 14:27:29.445 INFO 1579388 --- [ main] > org.apache.camel.main.MainSupport : Using Java 20.0.1 with PID 1579388. > Started by tomo in /home/tomo/workspace/Kaoto/datamapper-research/examples > Field: jq has already been configured as an expression > in file:test.yaml, line 8, column 13: > jq: ".foo" > ^ > at > org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$WhenDefinitionDeserializer.setProperty(ModelDeserializers.java:18445) > at > org.apache.camel.dsl.yaml.deserializers.ModelDeserializers$WhenDefinitionDeserializer.setProperty(ModelDeserializers.java:18385) > at > org.apache.camel.dsl.yaml.common.YamlDeserializerBase.setProperties(YamlDeserializerBase.java:125) > at > org.apache.camel.dsl.yaml.common.YamlDeserializerBase.construct(YamlDeserializerBase.java:65) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)