Matthias,

This is slightly wrong for a couple of reasons:
1) We need to gather up all of the required whitespace, which can be more than one character and could be characters other than space 2) We need to ensure that the required whitespace was present before we called trim

-- Blake Sullivan

Matthias Weßendorf (JIRA) said the following On 7/14/2009 6:18 AM PT:
     [ 
https://issues.apache.org/jira/browse/TRINIDAD-1524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthias Weßendorf updated TRINIDAD-1524:
-----------------------------------------

       Resolution: Fixed
    Fix Version/s:  1.2.12-core
           Status: Resolved  (was: Patch Available)

i18n issue with (German) format pattern
---------------------------------------

                Key: TRINIDAD-1524
                URL: https://issues.apache.org/jira/browse/TRINIDAD-1524
            Project: MyFaces Trinidad
         Issue Type: Bug
   Affects Versions:  1.2.11-core
           Reporter: Matthias Weßendorf
           Assignee: Matthias Weßendorf
            Fix For:  1.2.12-core

        Attachments: TRINIDAD-1524.patch


This is not only a bug in Trinidad... It is mainly an issue in the core 
date_time_converter as well:
       <h:form>
         <h:messages/>
         <h:inputText value="#{input.date}" immediate="true">
           <f:convertDateTime type="both" timeStyle="full"
           timeZone="America/New_York"
           pattern="dd.MM.yyyy HH:mm' Uhr '"
           locale="de"
           />
         </h:inputText>
         <h:commandButton value="Submit" type="submit"/>
       </h:form>
Note that the pattern is like this: dd.MM.yyyy HH:mm' Uhr '
After the word "Uhr" there is an empty space (required by the pattern).
Now when you enter this String "30.06.09 12:11 Uhr " (notice the empty String 
at the end),
we run into the problem, that the spec wants the converter to trim 
leading/trailing whitespaces before proceeding. Makes sense....
but gives us a (neat) error.
See this JavaDoc section:
http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/javax/faces/convert/DateTimeConverter.html
<snip>
If the specified String is null, return a null. Otherwise, trim leading and 
trailing whitespace before proceeding.
</snip>
However, when the pattern requires an empty space at the end, we (the 
converter) should honor that...
possible change in the converter code (after the trim() has been called):
    if(pattern.endsWith(" '"))
    {   
      value += " ";
}


Reply via email to