[
https://issues.apache.org/jira/browse/CAMEL-24883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-24883.
---------------------------------
Resolution: Fixed
> camel-jbang - the validator's Simple checks skip expressions written as YAML
> block scalars
> ------------------------------------------------------------------------------------------
>
> Key: CAMEL-24883
> URL: https://issues.apache.org/jira/browse/CAMEL-24883
> Project: Camel
> Issue Type: Bug
> Components: camel-jbang
> Reporter: Claus Ibsen
> Priority: Major
> Fix For: 4.23.0
>
>
> The Simple checks of the camel-jbang validator
> ({{SimpleChecks.validateYamlSimple}}: top-level ternary, a placeholder as a
> logical operand, and the other Simple rows) read the expression from the
> inline forms only, {{simple: "..."}} and {{expression: "..."}}. An expression
> written as a YAML block scalar is skipped:
> {code}
> - setBody:
> expression:
> simple: |
> ${exchangeProperty.CamelTimerCounter} == 0 ?
> 'resource:file:order.json' : 'resource:file:order-bad-email.json'
> {code}
> In the camel-jbang-mcp stepwise benchmark (transform/groovy) the same
> top-level ternary was refused with the right hint when written inline (run 2)
> and accepted when written as a block scalar (run 4); the route then failed at
> runtime and the model gave up on Simple and rewrote the step in Groovy, where
> it hit CAMEL-24882.
> Read block scalars ({{|}}, {{|-}}, {{>}}, {{>-}}) for {{simple:}},
> {{expression:}} under a simple key, and {{message:}} of log, joining the
> indented lines, so every Simple row applies to both forms. The endpoint and
> expression checks that read a value the same way should get the same
> treatment.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)