[
https://issues.apache.org/jira/browse/CAMEL-4797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13221833#comment-13221833
]
Claus Ibsen commented on CAMEL-4797:
------------------------------------
Well currently they can kinda do this a bit as they get the exchange in the
unmarshal method. So they can set the headers directory on the exchange, and
then return the body to use. But this is a bit counter intuitive. It would be
easier if they could either just adjust the exchange as they want, and return
the exchange. Or return a Message object, where they can transform both the
body and headers.
> DataFormat - unmarshal should allow to return Message or Exchange to make it
> more flexible
> ------------------------------------------------------------------------------------------
>
> Key: CAMEL-4797
> URL: https://issues.apache.org/jira/browse/CAMEL-4797
> Project: Camel
> Issue Type: Improvement
> Components: camel-core
> Reporter: Claus Ibsen
> Assignee: Babak Vahdat
> Fix For: 2.10.0
>
>
> The API of the unmarshal on DataFormat is
> {code}
> Object unmarshal(Exchange exchange, InputStream stream) throws Exception;
> {code}
> The Object returned is by default the message body. But we should allow end
> user to return also a
> - org.apache.camel.Message
> - org.apache.camel.Exchange
> If its a Message then use the message returned.
> If its a Exchange then copy the results from the exchange to the current
> exchange (normally it would be the same instance, so its a noop operation)
> We supports this for the splitter, where people can return a List<Message> in
> the split expression etc.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira