[ 
https://issues.apache.org/jira/browse/MYFACES-1782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12547994
 ] 

Matthias Weßendorf commented on MYFACES-1782:
---------------------------------------------

In the original version of NumberConverter a currency string (for some Locale's 
like fr_FR or fi_FI) can't be convertered, when value submitted via web-browser
(like "12 345,68 €").

The Java API of NumberFormat is expecting a nb space inside the "numbers" as 
the grouping separator.

A String like "12\u00a0345,68 €" would be OK.

The fix is to replace the grouping_separator, when the grouping_separator is a 
nb-space ('\u00a0'), with a regular blank (" ").
So a String like "12 345,68 €" would be OK as well.

Now... a String like ("12\u00a0345,68 €") would fail (which is only the case if 
not edited etc).
In case the format.parse() is really failing... we re-replace the 
grouping_separator and call format.parse() again.

The patch also contains two tests, which proof the behavior.

Attaching as a patch, to check with the TCK.

> France Locale and NumberConverter doesn't work well with currency strings
> -------------------------------------------------------------------------
>
>                 Key: MYFACES-1782
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1782
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-252
>    Affects Versions:  1.2.0
>            Reporter: Matthias Weßendorf
>            Assignee: Matthias Weßendorf
>         Attachments: MYFACES-1782.patch
>
>
> This test-case shows, that there is a failure inside the standard 
> NumberConverter (MyFaces):
> protected void setUp() throws Exception
> {
>    super.setUp();
>    mock = new NumberConverter();
>    mock.setLocale(Locale.FRANCE);
>    FacesContext.getCurrentInstance().getViewRoot().setLocale(Locale.GERMANY);
> }
> public void testFranceLocale()
> {
>    UIInput input = new UIInput();
>     mock.setType("currency");
>     Number number = (Number)
> mock.getAsObject(FacesContext.getCurrentInstance(), input, "12 345,68
> €");
>     assertNotNull(number);
> }
> the grouping_sep should be a nb-space...

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