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

Claus Ibsen resolved CAMEL-5199.
--------------------------------

    Resolution: Fixed

Thanks I have fixed all the toUpperCase and toLowerCase in camel-core to use 
the english locale.
                
> initialDelay and idempotentRepository Endpoint URI parameters fail to be read 
> from Camel context when Turkish language is set in host operating system.
> -------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-5199
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5199
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.8.1
>         Environment: CamelContext Spring configuration. Versions: Camel 2.8.1 
> / Spring 3.0.
>            Reporter: Isidro Moreno
>            Assignee: Claus Ibsen
>              Labels: camel-core,, context, endpoint, spring
>             Fix For: 2.8.5, 2.9.3, 2.10.0
>
>         Attachments: ObjectHelper.java.patch, TurkishCapitalizationTest.java
>
>
> org.apache.camel.util.ObjectHelper.capitalize() method uses native JAVA 
> String.toUpperCase() method (without parameters), which performs 
> capitalization according to operating system current language and regional 
> settings configuration. When these are set to Turkish, a call to capitalize() 
> method, with a String starting with "i" as parameter, returns Turkish dotted 
> "I" as capitalized "i", which is wrong according to programmatic language and 
> expected behavior.
> This behaviour impacts, at least, in Endpoint URI parameters which names 
> start with char "i", such as "idempotentRepository" and "initialDelay" URI 
> parameters. When setter/getter methods lookup is performed for these 
> parameters, wrong method names are returned due to ObjectHelper.capitalize() 
> method. This method uses standard Java String.toUpperCase() function which 
> returns a dotted "I" instead of dotless "I" for idempotentRepository and 
> initialDelay parameters.
> To solve this, the attached patch consists of refactoring 
> ObjectHelper.capitalize() method. Instead of calling toUpperCase() method, it 
> is called toUpperCase(Locale.ENGLISH) to enforce 'I' character (dotless) 
> return.

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