You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2009/07/02 12:00:12 UTC
svn commit: r790530 - in
/myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src:
main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java
Author: matzew
Date: Thu Jul 2 10:00:12 2009
New Revision: 790530
URL: http://svn.apache.org/viewvc?rev=790530&view=rev
Log:
TRINIDAD-1524 - i18n issue with (German) format pattern
Modified:
myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java
Modified: myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java?rev=790530&r1=790529&r2=790530&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java (original)
+++ myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java Thu Jul 2 10:00:12 2009
@@ -705,6 +705,9 @@
}
}
+ /**
+ * Does some more lenient parsing than the stric JSF standard wants.
+ */
private Date _doLenientParse(
FacesContext context,
UIComponent component,
@@ -712,6 +715,16 @@
String pattern
)
{
+ // When a pattern (e.g. dd.MM.yyyy HH:mm' Uhr ') requires a whitespace
+ // at the end, we should honor that. As the JSF spec (see http://bit.ly/kTelf)
+ // wants the converter to trim leading/trailing whitespace, we have to append
+ // one, if the pattern requires it at the end...
+ // TODO at the beginning as well ?
+ if(pattern.endsWith(" '"))
+ {
+ value += " ";
+ }
+
// do lenient parsing for the pattern supplied.
// accept derived patterns during
// parsing, allowing:
Modified: myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java?rev=790530&r1=790529&r2=790530&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java (original)
+++ myfaces/trinidad/branches/1.2.11.4-branch/trinidad-api/src/test/java/org/apache/myfaces/trinidad/convert/TrinidadDateTimeConverterTest.java Thu Jul 2 10:00:12 2009
@@ -133,6 +133,24 @@
checkNullContext();
}
+ public void testGermanDate()
+ {
+ DateTimeConverter dtConv = new DateTimeConverter();
+ Mock mock = buildMockUIComponent();
+ UIComponent component = (UIComponent) mock.proxy();
+ String inputValue = "30.06.09 12:11 Uhr ";
+
+ dtConv.setType("both");
+ dtConv.setTimeStyle("full");
+ dtConv.setLocale(Locale.GERMAN);
+ dtConv.setTimeZone(TimeZone.getTimeZone ("America/New_York"));
+ dtConv.setPattern("dd.MM.yy HH:mm' Uhr '");
+
+ Date dt = (Date) dtConv.getAsObject(facesContext, component, inputValue);
+ assertNotNull(dt);
+ mock.verify();
+ }
+
public void testShortishForDatePatern()
{
GregorianCalendar gcal = new GregorianCalendar();