[
https://issues.apache.org/jira/browse/CAMEL-25997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-25997 started by Claus Ibsen.
-------------------------------------------
> camel-bindy - marshal of a body that is not a model object writes empty lines
> instead of failing
> ------------------------------------------------------------------------------------------------
>
> Key: CAMEL-25997
> URL: https://issues.apache.org/jira/browse/CAMEL-25997
> Project: Camel
> Issue Type: Bug
> Components: camel-bindy
> Affects Versions: 4.18.0, 4.22.0, 4.23.0
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Marshal with {{bindyCsv}} takes an object of the {{classType}} class, a List
> of them, or a Map of the model class names to the objects
> ({{BindyCsvDataFormat}}, main 50d17f9c2614, lines 94-109). Any other body is
> taken as a model object keyed by its own class name. The factory finds no
> model for it and writes an empty line ({{BindyCsvFactory.unbind}}), with no
> error. For example, a Map of field values that an earlier {{unmarshal: json}}
> gave, or a String.
> {{bindyFixed}} does the same with a single Map
> ({{BindyFixedLengthDataFormat}}, lines 85-95), which bindyCsv and bindyKvp
> take as a record of class names. That part was read from the code and not run.
> Checked on 4.24.0-SNAPSHOT with {{camel run}}, with {{classType}} a
> {{@CsvRecord}} class with the fields id and name:
> * the model object: {{1,Camel}};
> * the Map {{\{id=1, name=Camel\}}}: one empty line;
> * the String {{1,Camel}}: two empty lines.
> *Proposed change*: fail with an {{InvalidPayloadException}} when a body, or
> an element of a List, is neither a model object nor a Map of model class
> names, instead of writing an empty line.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)