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

Max Starets updated TRINIDAD-1455:
----------------------------------

    Status: Patch Available  (was: Open)

> NumberConverter caches only the first encountered converter for a given type. 
> Converters for other locales are recreated every time
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1455
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1455
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions:  1.2.11-core
>            Reporter: Max Starets
>         Attachments: converter.patch
>
>
> _cacheNumberFormat() has the following code that is wrong:
>         // The key could have either been the type based on which formats are
>         // stored or it can be based on the pattern also.
>         String key = ((pattern != null) ? pattern : type);
>         Map<Locale, NumberFormat> nfMap = _numberFormatHolder.get(key);
>         // if we have not cached any NumberFormat for this type, then create a
>         // map for that type and add to it based on the locale
>         if (nfMap == null)
>         {
>           nfMap = new HashMap<Locale, NumberFormat>();
>           nfMap.put(locale, (NumberFormat)format.clone());
>         }
>         // add this based on the type ('number','currency','percent') or
>         // pattern1, pattern2.. patternN to the main holder
>         _numberFormatHolder.put(key, nfMap);
>   
> Note that the placement for the two put() calls should be swapped. New map 
> entry for a Locale should be added every time, while nfMap for
> a given key should be added to _numberFormatHolder only when nfMap gets 
> created.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to