Facelets: LocaleTagPropertyRule does not match jspx implementation 
-------------------------------------------------------------------

                 Key: TRINIDAD-2076
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2076
             Project: MyFaces Trinidad
          Issue Type: Bug
          Components: Facelets
    Affects Versions: 2.0.0-beta-2
            Reporter: Yee-Wah Lee
            Priority: Minor


1. Create a facelets page with a converter (e.g. numberConverter, 
dateTimeConverter) which has its locale attribute set to a language-country. 
  <tr:inputText label="ConvNumLocale:" id="it1">
                <tr:convertNumber type="currency" locale="pt-BR"/>
            </tr:inputText>

2. Run the app, see the server log error.
<XhtmlUtils> <addLib> Could not find scriptlet: LocaleInfo_pt-br

3. The component does not function because the Locale js file was not loaded. 
This is because LocaleTagPropertyRule creates a Locale thus in applyMetadata() :
    Locale loc = new Locale(_attribute.getValue(ctx));
which creates a Locale object with language="pt-br". However, the page is 
actually requesting a Locale with language=pt, country=br.   Subsequently, it 
is unable to find the LocaleInfo scriptlet for the locale with language pt-br.

In the jspx case, there is a helper method TagUtils#getLocale() which takes the 
string and create the Locale based on it. This correctly creates the Locale, 
and the request for LocaleInfo scriptlet succeeds.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to