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()
{