You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2007/03/06 17:45:13 UTC
svn commit: r515201 - in
/incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html:
form/ form/palette/component/ tree/table/
Author: jcompagner
Date: Tue Mar 6 08:45:12 2007
New Revision: 515201
URL: http://svn.apache.org/viewvc?view=rev&rev=515201
Log:
converter backport
Modified:
incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/DateTextField.java
incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java
incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java
Modified: incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/DateTextField.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/DateTextField.java?view=diff&rev=515201&r1=515200&r2=515201
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/DateTextField.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/DateTextField.java Tue Mar 6 08:45:12 2007
@@ -16,6 +16,7 @@
*/
package wicket.extensions.markup.html.form;
+import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -23,9 +24,9 @@
import wicket.markup.html.form.TextField;
import wicket.markup.html.form.AbstractTextComponent.ITextFormatProvider;
import wicket.model.IModel;
-import wicket.util.convert.Converter;
import wicket.util.convert.IConverter;
import wicket.util.convert.converters.AbstractConverter;
+import wicket.util.convert.converters.DateConverter;
/**
* A TextField that is mapped to a <code>java.util.Date</code> object.
@@ -43,112 +44,12 @@
public class DateTextField extends TextField implements ITextFormatProvider
{
- /**
- * Converts <code>String</code> to <code>java.util.Date</code> and back
- * via the datePattern in the inner class
- *
- * @author Stefan Kanev, s.kanev@spider.bg
- *
- */
- public class DateTextFieldConverter extends Converter
- {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Creates an instance, setting
- * <code>DateToStringPatternConverter</code> and
- * <code>StringPatternToDateConverter</code> as it is appropriate.
- */
- private DateTextFieldConverter()
- {
- super(getSession().getLocale());
-
- set(String.class, new DateToStringPatternConverter());
- set(Date.class, new StringPatternToDateConverter());
- }
-
- }
-
- /**
- * Converts a <code>java.util.Date</code> to <code>String</code> using
- * the the pattern in <code>DateTextField</code>
- *
- * @author Stefan Kanev
- *
- */
- public final class DateToStringPatternConverter extends AbstractConverter
- {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Converts a <code>java.util.Date</code> to <code>String</code>
- * using the the pattern in <code>DateTextField</code>
- *
- * @param value
- * A <code>java.util.Date</code> object to parse
- * @param locale
- * The user locale (unused)
- * @return The given value as string
- */
- public Object convert(Object value, Locale locale)
- {
- if (!(value instanceof Date))
- return null;
-
- SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern);
- String result = dateFormat.format((Date)value);
-
- return result;
- }
-
- protected Class getTargetType()
- {
- return String.class;
- }
-
- }
-
- /**
- * Parses a <code>java.util.Date</code> from a <code>String</code>
- *
- * @author Stefan Kanev, s.kanev@spider.bg
- *
- */
- public final class StringPatternToDateConverter extends AbstractConverter
- {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * Parses a <code>java.util.Date</code> from a <code>String</code>
- *
- * @param value
- * A date to parse
- * @param locale
- * User locale (rather unused)
- * @return The date formatted as string according to the set pattern
- */
- public Object convert(Object value, Locale locale)
- {
- SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern);
-
- return parse(dateFormat, value);
- }
-
- protected Class getTargetType()
- {
- return Date.class;
- }
- }
-
private static final long serialVersionUID = 1L;
/**
* The date pattern of the text field
*/
- private String datePattern = null;
+ private SimpleDateFormat dateFormat = null;
/**
* The converter for the TextField
@@ -200,9 +101,8 @@
*/
public DateTextField(String id, IModel object, String datePattern)
{
- super(id, object, Date.class);
- this.datePattern = datePattern;
- this.converter = new DateTextFieldConverter();
+ this(id, datePattern);
+ setModel(object);
}
/**
@@ -219,8 +119,19 @@
public DateTextField(String id, String datePattern)
{
super(id, Date.class);
- this.datePattern = datePattern;
- this.converter = new DateTextFieldConverter();
+ this.dateFormat = new SimpleDateFormat(datePattern);
+ this.converter = new DateConverter()
+ {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see wicket.util.convert.converters.DateConverter#getDateFormat(java.util.Locale)
+ */
+ public DateFormat getDateFormat(Locale locale)
+ {
+ return dateFormat;
+ }
+ };
}
/**
@@ -231,11 +142,11 @@
*
* @see wicket.markup.html.form.TextField
*/
- public IConverter getConverter()
+ public IConverter getConverter(Class type)
{
if (converter == null)
{
- return super.getConverter();
+ return super.getConverter(type);
}
else
{
@@ -250,6 +161,6 @@
*/
public String getTextFormat()
{
- return datePattern;
+ return dateFormat.toPattern();
}
}
Modified: incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java?view=diff&rev=515201&r1=515200&r2=515201
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java Tue Mar 6 08:45:12 2007
@@ -68,8 +68,9 @@
{
final Object choice = options.next();
String id = renderer.getIdValue(choice, 0);
- String value = (String)getConverter().convert(renderer.getDisplayValue(choice),
- String.class);
+ Object displayValue = renderer.getDisplayValue(choice);
+ Class displayClass = displayValue == null ? null : displayValue.getClass();
+ String value = getConverter(displayClass).convertToString(displayValue, getLocale());
value = getLocalizer().getString(id + "." + value, this, value);
buffer.append("\n<option value=\"").append(id).append("\">").append(value).append(
Modified: incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java?view=diff&rev=515201&r1=515200&r2=515201
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyRenderableColumn.java Tue Mar 6 08:45:12 2007
@@ -93,8 +93,7 @@
{
locale = Session.get().getLocale();
}
- converter.setLocale(locale);
- return (String)converter.convert(result, String.class);
+ return converter.convertToString(result, locale);
}
else
{
Modified: incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java?view=diff&rev=515201&r1=515200&r2=515201
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket-extensions/src/main/java/wicket/extensions/markup/html/tree/table/PropertyTreeColumn.java Tue Mar 6 08:45:12 2007
@@ -92,8 +92,7 @@
{
locale = Session.get().getLocale();
}
- converter.setLocale(locale);
- return (String)converter.convert(result, String.class);
+ return converter.convertToString(result, locale);
}
else
{