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

Claus Ibsen resolved CAMEL-25347.
---------------------------------
    Resolution: Fixed

> camel-yaml-dsl: Validate scalar alternatives without losing required fields
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-25347
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25347
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core, camel-yaml-dsl
>            Reporter: Luigi De Masi
>            Assignee: Luigi De Masi
>            Priority: Major
>             Fix For: 4.23.0
>
>
> The YAML validator can report errors from the wrong oneOf/anyOf alternative 
> when a scalar uses a form accepted by the runtime (for example, a quoted 
> number or a property placeholder). Filtering those scalar errors must not 
> hide genuinely missing required fields, and alternative selection must 
> distinguish separate YAML locations.
> For example, validate a semantic boolean question with instructions and 
> threshold: "{{limit:0.1}}". This should be accepted like the numeric literal 
> 0.1; malformed fields and missing required declarations must still fail.
> The existing CAMEL-25238 fix introduced 
> removeSatisfiedAlternatives/constructOf. Replace that workaround with 
> alternative selection per YAML location and ranking that accounts for runtime 
> scalar conversions, retaining all original CAMEL-25238 regression tests.
> There is also a source metadata inconsistency exposed by preserving 
> required-field errors: ParamDefinition.getType() defaults to path, but its 
> XmlAttribute is marked required. Correct the source annotation and regenerate 
> the published schemas so both the Camel validator and other schema consumers 
> accept the same REST definition. Do not modify the schema only at validation 
> time.
> This work is split from CAMEL-25310 following review of 
> https://github.com/apache/camel/pull/27373#pullrequestreview-5415057613. 
> Regression coverage should include multiple YAML locations, placeholders and 
> quoted numbers, required fields, existing oneOf diagnostics, and REST 
> parameters with an omitted type.
> AI-generated by Codex on behalf of GitHub operator @luigidemasi.



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

Reply via email to