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)