[ 
https://issues.apache.org/jira/browse/CAMEL-5172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13269393#comment-13269393
 ] 

Claus Ibsen commented on CAMEL-5172:
------------------------------------

The main interaction for end users to the message, is using the Exchange and 
Message API from org.apache.camel package. So in this case when you want the 
message body and expects a message body to exists, then use getMandatoryBody() 
on the Message.

The util classes is not primary intended for end users to use. But more for 
Camel itself, and Camel component developers etc.

Also in your example its more cumbersome to use ExchangeHelper as you need to
1. import the class
2. pass in exchange as parameter, eg your example above is wrong

This is not easier than just typing (no imports needed)
{code}
exchange.getIn().getMandatoryBody();
{code}

Also there is many classes in camel-core, and we should avoid having to many 
methods and APIs for end user to 'get lost in'. So its a good idea to 
@deprecate duplicates and whatnot. 

                
> TypeConverter - Tighten up API to rethrow failed exception during type 
> conversion, and introduce new API for try to convert
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-5172
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5172
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.8.5, 2.9.3, 2.10.0
>
>
> The org.apache.camel.TypeConverter API would not propagate exceptions that 
> would occur during type conversion back to the caller. But instead return 
> null.
> We should tighten this up and introduce a new API for trying to convert, so 
> what we would have is
> - convertTo = converts, and throws exception if failure during conversion, 
> can return null, if no value to convert, or no type converter exists to do 
> this
> - mandatoryConvertTo = convertTo + will throw exception if no value, eg it 
> never returns null
> - *new* tryConvertTo = convertTo but will catch exceptions and return null 
> (like the old behavior)
> This introduces an API change in TypeConverter. But it is more intuitive. 
> There is some internal logic that needs to be adjust a bit due they rely on 
> the old behavior.

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

        

Reply via email to