You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by eh...@apache.org on 2007/05/10 14:35:07 UTC

svn commit: r536848 - /incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java

Author: ehillenius
Date: Thu May 10 05:35:06 2007
New Revision: 536848

URL: http://svn.apache.org/viewvc?view=rev&rev=536848
Log:
return null on empty string and report parsing errors

Modified:
    incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java

Modified: incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java?view=diff&rev=536848&r1=536847&r2=536848
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java Thu May 10 05:35:06 2007
@@ -16,6 +16,7 @@
  */
 package org.apache.wicket.datetime;
 
+import java.text.ParseException;
 import java.util.Date;
 import java.util.Locale;
 import java.util.TimeZone;
@@ -25,6 +26,7 @@
 import org.apache.wicket.request.ClientInfo;
 import org.apache.wicket.util.convert.ConversionException;
 import org.apache.wicket.util.convert.IConverter;
+import org.apache.wicket.util.string.Strings;
 import org.joda.time.DateTime;
 import org.joda.time.DateTimeZone;
 import org.joda.time.MutableDateTime;
@@ -75,6 +77,11 @@
 	 */
 	public Object convertToObject(String value, Locale locale)
 	{
+		if (Strings.isEmpty(value))
+		{
+			return null;
+		}
+
 		DateTimeFormatter format = getFormat();
 		if (format == null)
 		{
@@ -95,7 +102,12 @@
 			try
 			{
 				// parse date retaining the time of the submission
-				format.parseInto(dt, value, 0);
+				int result = format.parseInto(dt, value, 0);
+				if (result < 0)
+				{
+					throw new ConversionException(new ParseException("unable to parse date "
+							+ value, ~result));
+				}
 			}
 			catch (RuntimeException e)
 			{