[ 
https://issues.apache.org/jira/browse/CAMEL-24915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-24915:
--------------------------------
    Priority: Minor  (was: Major)

> camel-yaml-dsl: accept a plain value for handled and the other expression 
> sub-elements as a constant
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24915
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24915
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-yaml-dsl
>            Reporter: Claus Ibsen
>            Priority: Minor
>
> In the local-model benchmark (s11: 5 runs of four HTTP rungs) the single most 
> common validation failure was `handled: true` under `onException`:
> {code:yaml}
> - onException:
>     exception:
>       - org.apache.camel.http.base.HttpOperationFailedException
>     handled: true
>     ...
> {code}
> The YAML DSL refuses it, because `handled` is an 
> `ExpressionSubElementDefinition` and requires an expression:
> {noformat}
> handled: a plain value (true) found, an expression expected: write handled: 
> {constant: {expression: "true"}}
> {noformat}
> It happened 9 times across 20 runs, and it is what a human writes too - the 
> Java DSL is `.handled(true)`.
> Proposal: when an expression sub-element (`handled`, `continued`, 
> `retryWhile`, `completionPredicate`, ...) is given a plain scalar, read it as 
> a constant expression, the same value the long form produces. The refusal 
> message already says that is what the long form means, so there is no other 
> sensible reading of a scalar there.
> Touches the generated `ExpressionSubElementDefinitionDeserializers` (so the 
> generator, not the generated file) and the JSON schema, which must allow a 
> scalar next to the object form.
> Evidence: the s11 traces under the AI route benchmark; see also CAMEL-24886.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to