Claus Ibsen created CAMEL-24847:
-----------------------------------

             Summary: camel validate yaml: name the data format when a step 
uses an alias or the artifact name (unmarshal: jackson, json-jackson, 
jackson-xml)
                 Key: CAMEL-24847
                 URL: https://issues.apache.org/jira/browse/CAMEL-24847
             Project: Camel
          Issue Type: Improvement
          Components: camel-jbang, camel-yaml-dsl
            Reporter: Claus Ibsen


People write the data format the way the artifact or the Java class is named:

{code:yaml}
- unmarshal:
    jackson: {}
- marshal:
    json-jackson: {}
- unmarshal:
    jackson-xml: {}
{code}

The YAML validator answers "property 'jackson' is not defined in the schema and 
the schema does not allow additional properties" and the runtime "Error 
constructing YAML node id: unmarshal: unsupported field: jackson". Neither 
names the data format that was meant. The properties validator already does 
this for dataformat names in camel.dataformat.* keys ("Unknown dataformat (did 
you mean jackson, jacksonXml?)"); the same suggestion belongs on the 
marshal/unmarshal step: "jackson is the library, the data format is json: write 
json: {library: Jackson}"; "json-jackson -> json"; "jackson-xml -> jacksonXml"; 
and in general a did-you-mean over the data format names of the catalog when 
the key is not one.

Found in the round-2 local-model benchmark on the camel-jbang-examples ladder: 
jackson, json-jackson and jackson-xml appeared in aggregator, groovy, 
data-mapping and xml-to-json in the same suite.



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

Reply via email to