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

Andrey Utkin commented on CAMEL-4959:
-------------------------------------

Hi, Claus. 
Yes, I can try to make patch with unit test for ObjectConverter.

But suggested solution - return Void.TYPE from toXXXX() methods of 
ObjectConverter - is not correct :) ObjectConverter is converter, so that 
methods must declare return type correctly - Short, Long, Integer. It is not 
possible to return Void from toXXXX()...

May be it is correct to return 0 for NaN? 
At least JDK do it:
==
Double d = Double.NaN;
Float f = Float.NaN;
System.out.println(d.longValue() + ", " + f.shortValue());
==
will print 
"0, 0"


                
> Incorrect caching type converter misses for NaN
> -----------------------------------------------
>
>                 Key: CAMEL-4959
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4959
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.8.3
>            Reporter: Andrey Utkin
>            Priority: Minor
>             Fix For: 2.8.5, 2.9.1, 2.10.0
>
>
> When converting Double or Float with value NaN, 
> org.apache.camel.converter.ObjectConverter returns "null". But 
> org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(Class, 
> Exchange, Object) interpret this "null" as "suitable conversion not found" 
> and cache misses. This lead to completely forgetting of conversion for given 
> types.
> For example, when conversing Double to Long, all works until Double is NaN. 
> After that, conversion for "Double-to-Long" marked as misses. And  camel stop 
> do any conversion for Double-to-Long until restart.
> Possible solution is to modify ObjectConverter`s methods to return 
> "Void.TYPE" instead of "null" for NaN.

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