You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Christian Müller (JIRA)" <ji...@apache.org> on 2012/09/22 19:01:07 UTC

[jira] [Assigned] (CAMEL-5641) JmsBinding Does Not Handle BigInteger and BigDecimal Properly

     [ https://issues.apache.org/jira/browse/CAMEL-5641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Müller reassigned CAMEL-5641:
---------------------------------------

    Assignee: Christian Müller
    
> JmsBinding Does Not Handle BigInteger and BigDecimal Properly
> -------------------------------------------------------------
>
>                 Key: CAMEL-5641
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5641
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-jms
>         Environment: java version "1.6.0_35"
> Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
> Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)
>            Reporter: James Carman
>            Assignee: Christian Müller
>              Labels: patch
>         Attachments: CAMEL-5641.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> According to the documentation:
> "The values must be primitives or their counter objects (such as
> Integer, Long, Character). The types, String, CharSequence, Date,
> BigDecimal and BigInteger are all converted to their toString()
> representation. All other types are dropped."
> So, it would seem that BigInteger should be toString()ed.  However, in
> the JmsBinding class, we see the following code:
> {code}
> protected Object getValidJMSHeaderValue(String headerName, Object headerValue) {
>         if (headerValue instanceof String) {
>             return headerValue;
>         } else if (headerValue instanceof Number) {
>             return headerValue;
>         } else if (headerValue instanceof Character) {
>             return headerValue;
>         } else if (headerValue instanceof CharSequence) {
>             return headerValue.toString();
>         } else if (headerValue instanceof Boolean) {
>             return headerValue;
>         } else if (headerValue instanceof Date) {
>             return headerValue.toString();
>         }
>         return null;
>     }
> {code}
> Since BigInteger extends Number, it will merely return the instance
> itself.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira