You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2008/12/23 20:17:43 UTC

svn commit: r729070 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket: IComponentSourceProvider.java util/convert/converters/AbstractConverter.java util/convert/converters/SqlTimestampConverter.java

Author: jdonnerstag
Date: Tue Dec 23 11:17:42 2008
New Revision: 729070

URL: http://svn.apache.org/viewvc?rev=729070&view=rev
Log:
wicket-1647 fixed: SqlTimestampConverter drops the date portion of a Timestamp

Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IComponentSourceProvider.java
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java?rev=729070&r1=729069&r2=729070&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/AbstractConverter.java Tue Dec 23 11:17:42 2008
@@ -32,9 +32,7 @@
  */
 public abstract class AbstractConverter implements IConverter
 {
-	/**
-	 * 
-	 */
+	/** */
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -91,7 +89,7 @@
 	/**
 	 * @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, Locale)
 	 */
-	public String convertToString(Object value, Locale locale)
+	public String convertToString(final Object value, final Locale locale)
 	{
 		if (value == null)
 		{
@@ -99,5 +97,4 @@
 		}
 		return value.toString();
 	}
-
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java?rev=729070&r1=729069&r2=729070&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/convert/converters/SqlTimestampConverter.java Tue Dec 23 11:17:42 2008
@@ -22,8 +22,6 @@
 import java.util.Date;
 import java.util.Locale;
 
-import org.apache.wicket.util.convert.ConversionException;
-
 /**
  * Converts to {@link Timestamp}.
  * 
@@ -33,14 +31,45 @@
 {
 	private static final long serialVersionUID = 1L;
 
-	/** @see org.apache.wicket.util.convert.converters.DateConverter#convertToObject(java.lang.String,java.util.Locale) */
-	public Timestamp convertToObject(String value, Locale locale)
+	private final int dateFormat;
+
+	/**
+	 * Construct.
+	 */
+	public SqlTimestampConverter()
+	{
+		dateFormat = DateFormat.SHORT;
+	}
+
+	/**
+	 * Construct.
+	 * 
+	 * @param dateFormat
+	 *            See java.text.DateFormat for details. Defaults to DateFormat.SHORT
+	 */
+	public SqlTimestampConverter(int dateFormat)
+	{
+		this.dateFormat = dateFormat;
+	}
+
+	/**
+	 * 
+	 * @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
+	 *      java.util.Locale)
+	 */
+	public Timestamp convertToObject(final String value, Locale locale)
 	{
 		if (value == null)
+		{
 			return null;
+		}
+
 		if (locale == null)
+		{
 			locale = Locale.getDefault();
-		DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
+		}
+
+		DateFormat format = DateFormat.getTimeInstance(dateFormat, locale);
 		try
 		{
 			Date date = format.parse(value);
@@ -48,26 +77,38 @@
 		}
 		catch (ParseException e)
 		{
-			throw new ConversionException("Cannot parse '" + value + "' using format " + format).setSourceValue(
-				value)
-				.setTargetType(getTargetType())
-				.setConverter(this)
-				.setLocale(locale);
+			throw newConversionException("Cannot parse '" + value + "' using format " + format,
+				value, locale);
 		}
 	}
 
+	/**
+	 * 
+	 * @see org.apache.wicket.util.convert.converters.AbstractConverter#convertToString(java.lang.Object,
+	 *      java.util.Locale)
+	 */
 	@Override
 	public String convertToString(final Object value, Locale locale)
 	{
 		if (value == null)
+		{
 			return null;
+		}
+
 		if (locale == null)
+		{
 			locale = Locale.getDefault();
+		}
+
 		Timestamp timestamp = (Timestamp)value;
-		DateFormat format = DateFormat.getTimeInstance(DateFormat.SHORT, locale);
+		DateFormat format = DateFormat.getTimeInstance(dateFormat, locale);
 		return format.format(timestamp);
 	}
 
+	/**
+	 * 
+	 * @see org.apache.wicket.util.convert.converters.AbstractConverter#getTargetType()
+	 */
 	@Override
 	protected Class<Timestamp> getTargetType()
 	{