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