You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Luigi De Masi (Jira)" <ji...@apache.org> on 2026/10/05 14:52:00 UTC

[jira] [Updated] (CAMEL-25347) camel-yaml-dsl: Validate scalar alternatives without losing required fields

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

Luigi De Masi updated CAMEL-25347:
----------------------------------
    Fix Version/s: 4.23.0

> 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)