Author: ehillenius
Date: Fri Jun 20 14:29:58 2008
New Revision: 670073

URL: http://svn.apache.org/viewvc?rev=670073&view=rev
Log:
igor's generics wip

Modified:
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
    
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/DateConverter.java
 Fri Jun 20 14:29:58 2008
@@ -44,11 +44,8 @@
  * 
  * @author eelcohillenius
  */
-public abstract class DateConverter implements IConverter
+public abstract class DateConverter implements IConverter<Date>
 {
-       /**
-        * 
-        */
        private static final long serialVersionUID = 1L;
 
        /**
@@ -84,7 +81,7 @@
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
         *      java.util.Locale)
         */
-       public Object convertToObject(String value, Locale locale)
+       public Date convertToObject(String value, Locale locale)
        {
                if (Strings.isEmpty(value))
                {
@@ -144,9 +141,9 @@
         * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
         *      java.util.Locale)
         */
-       public String convertToString(Object value, Locale locale)
+       public String convertToString(Date value, Locale locale)
        {
-               DateTime dt = new DateTime(((Date)value).getTime(), 
getTimeZone());
+               DateTime dt = new DateTime((value).getTime(), getTimeZone());
                DateTimeFormatter format = getFormat();
 
                if (applyTimeZoneDifference)

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/basic/DateLabel.java
 Fri Jun 20 14:29:58 2008
@@ -17,6 +17,7 @@
 package org.apache.wicket.datetime.markup.html.basic;
 
 import java.text.SimpleDateFormat;
+import java.util.Date;
 
 import org.apache.wicket.datetime.DateConverter;
 import org.apache.wicket.datetime.PatternDateConverter;
@@ -66,7 +67,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateLabel forDatePattern(String id, IModel model, String 
datePattern)
+       public static DateLabel forDatePattern(String id, IModel<Date> model, 
String datePattern)
        {
                return new DateLabel(id, model, new 
PatternDateConverter(datePattern, true));
        }
@@ -101,7 +102,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateLabel forDateStyle(String id, IModel model, String 
dateStyle)
+       public static DateLabel forDateStyle(String id, IModel<Date> model, 
String dateStyle)
        {
                return new DateLabel(id, model, new 
StyleDateConverter(dateStyle, true));
        }
@@ -146,7 +147,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateLabel forShortStyle(String id, IModel model)
+       public static DateLabel forShortStyle(String id, IModel<Date> model)
        {
                return new DateLabel(id, model, new StyleDateConverter(true));
        }
@@ -178,7 +179,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateLabel withConverter(String id, IModel model, 
DateConverter converter)
+       public static DateLabel withConverter(String id, IModel<Date> model, 
DateConverter converter)
        {
                return new DateLabel(id, model, converter);
        }
@@ -217,7 +218,7 @@
         * @param converter
         *            The converter to use
         */
-       public DateLabel(String id, IModel model, DateConverter converter)
+       public DateLabel(String id, IModel<Date> model, DateConverter converter)
        {
                super(id, model);
                if (converter == null)
@@ -247,6 +248,7 @@
        /**
         * Returns the specialized converter.
         */
+       @SuppressWarnings("unchecked")
        @Override
        public IConverter getConverter(Class clazz)
        {

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/datetime/markup/html/form/DateTextField.java
 Fri Jun 20 14:29:58 2008
@@ -50,7 +50,7 @@
  * 
  * @author eelcohillenius
  */
-public class DateTextField extends TextField implements ITextFormatProvider
+public class DateTextField extends TextField<Date> implements 
ITextFormatProvider
 {
 
        private static final long serialVersionUID = 1L;
@@ -68,7 +68,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateTextField forDatePattern(String id, IModel model, 
String datePattern)
+       public static DateTextField forDatePattern(String id, IModel<Date> 
model, String datePattern)
        {
                return new DateTextField(id, model, new 
PatternDateConverter(datePattern, true));
        }
@@ -104,7 +104,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateTextField forDateStyle(String id, IModel model, 
String dateStyle)
+       public static DateTextField forDateStyle(String id, IModel<Date> model, 
String dateStyle)
        {
                return new DateTextField(id, model, new 
StyleDateConverter(dateStyle, true));
        }
@@ -150,7 +150,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateTextField forShortStyle(String id, IModel model)
+       public static DateTextField forShortStyle(String id, IModel<Date> model)
        {
                return new DateTextField(id, model, new 
StyleDateConverter(true));
        }
@@ -182,7 +182,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.TextField
         */
-       public static DateTextField withConverter(String id, IModel model, 
DateConverter converter)
+       public static DateTextField withConverter(String id, IModel<Date> 
model, DateConverter converter)
        {
                return new DateTextField(id, model, converter);
        }
@@ -202,7 +202,7 @@
         * @param converter
         *            The converter to use
         */
-       public DateTextField(String id, IModel model, DateConverter converter)
+       public DateTextField(String id, IModel<Date> model, DateConverter 
converter)
        {
                super(id, model, Date.class);
                if (converter == null)
@@ -217,6 +217,7 @@
         * @return The specialized converter.
         * @see org.apache.wicket.Component#getConverter(java.lang.Class)
         */
+       @SuppressWarnings("unchecked")
        @Override
        public final IConverter getConverter(Class clazz)
        {

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/AbstractCalendar.java
 Fri Jun 20 14:29:58 2008
@@ -106,15 +106,13 @@
                        contributeDependencies();
                }
 
-               add(new StringHeaderContributor(new LoadableDetachableModel()
+               add(new StringHeaderContributor(new 
LoadableDetachableModel<CharSequence>()
                {
-
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       protected Object load()
+                       protected CharSequence load()
                        {
-
                                // not pretty to look at, but cheaper than 
using a template
                                String markupId = 
AbstractCalendar.this.getMarkupId();
                                String javascriptId = getJavascriptId();
@@ -138,9 +136,9 @@
                                Properties p = new Properties();
                                configureWidgetProperties(p);
                                b.append("\", { ");
-                               for (Iterator i = p.entrySet().iterator(); 
i.hasNext();)
+                               for (Iterator<Entry<Object, Object>> i = 
p.entrySet().iterator(); i.hasNext();)
                                {
-                                       Entry entry = (Entry)i.next();
+                                       Entry<Object, Object> entry = i.next();
                                        b.append(entry.getKey());
                                        Object value = entry.getValue();
                                        if (value instanceof CharSequence)
@@ -264,7 +262,7 @@
         * @param widgetProperties
         *            the current widget properties
         */
-       protected void configureWidgetProperties(Map widgetProperties)
+       protected void configureWidgetProperties(Map<Object, Object> 
widgetProperties)
        {
        }
 }

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateField.java
 Fri Jun 20 14:29:58 2008
@@ -55,7 +55,7 @@
  * 
  * @author eelcohillenius
  */
-public class DateField extends FormComponentPanel
+public class DateField extends FormComponentPanel<Date>
 {
        private static final long serialVersionUID = 1L;
 
@@ -79,11 +79,11 @@
         * @param id
         * @param model
         */
-       public DateField(String id, IModel model)
+       public DateField(String id, IModel<Date> model)
        {
                super(id, model);
                setType(Date.class);
-               PropertyModel dateFieldModel = new PropertyModel(this, "date");
+               PropertyModel<Date> dateFieldModel = new 
PropertyModel<Date>(this, "date");
                add(dateField = newDateTextField("date", dateFieldModel));
                dateField.add(new DatePicker());
        }

Modified: 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java?rev=670073&r1=670072&r2=670073&view=diff
==============================================================================
--- 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
 (original)
+++ 
wicket/sandbox/ivaynberg/generics/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
 Fri Jun 20 14:29:58 2008
@@ -52,7 +52,7 @@
  * @author eelcohillenius
  * @see DateField for a variant with just the date field and date picker
  */
-public class DateTimeField extends FormComponentPanel
+public class DateTimeField extends FormComponentPanel<Date>
 {
        /**
         * Enumerated type for different ways of handling the render part of 
requests.
@@ -77,13 +77,13 @@
                }
        }
 
-       private static final IConverter MINUTES_CONVERTER = new 
ZeroPaddingIntegerConverter(2);
+       private static final IConverter<Integer> MINUTES_CONVERTER = new 
ZeroPaddingIntegerConverter(2);
 
        private static final long serialVersionUID = 1L;
 
        private AM_PM amOrPm = AM_PM.AM;
 
-       private DropDownChoice amOrPmChoice;
+       private DropDownChoice<AM_PM> amOrPmChoice;
 
        private MutableDateTime date;
 
@@ -91,11 +91,11 @@
 
        private Integer hours;
 
-       private TextField hoursField;
+       private TextField<Integer> hoursField;
 
        private Integer minutes;
 
-       private TextField minutesField;
+       private TextField<Integer> minutesField;
 
        /**
         * Construct.
@@ -113,39 +113,43 @@
         * @param id
         * @param model
         */
-       public DateTimeField(String id, IModel model)
+       public DateTimeField(String id, IModel<Date> model)
        {
                super(id, model);
                setType(Date.class);
-               PropertyModel dateFieldModel = new PropertyModel(this, "date");
+               PropertyModel<Date> dateFieldModel = new 
PropertyModel<Date>(this, "date");
                add(dateField = newDateTextField("date", dateFieldModel));
                dateField.add(new DatePicker()
                {
                        private static final long serialVersionUID = 1L;
 
-                       protected void configure(Map widgetProperties)
+                       @Override
+                       protected void configure(Map<String, Object> 
widgetProperties)
                        {
                                super.configure(widgetProperties);
                                DateTimeField.this.configure(widgetProperties);
                        }
                });
-               add(hoursField = new TextField("hours", new PropertyModel(this, 
"hours"), Integer.class));
+               add(hoursField = new TextField<Integer>("hours", new 
PropertyModel<Integer>(this, "hours"),
+                               Integer.class));
                hoursField.add(new HoursValidator());
-               hoursField.setLabel(new Model("hours"));
-               add(minutesField = new TextField("minutes", new 
PropertyModel(this, "minutes"),
-                               Integer.class)
+               hoursField.setLabel(new Model<String>("hours"));
+               add(minutesField = new TextField<Integer>("minutes", new 
PropertyModel<Integer>(this,
+                               "minutes"), Integer.class)
                {
                        private static final long serialVersionUID = 1L;
 
+                       @SuppressWarnings("unchecked")
+                       @Override
                        public IConverter getConverter(Class type)
                        {
                                return MINUTES_CONVERTER;
                        }
                });
                minutesField.add(NumberValidator.range(0, 59));
-               minutesField.setLabel(new Model("minutes"));
-               add(amOrPmChoice = new DropDownChoice("amOrPmChoice", new 
PropertyModel(this, "amOrPm"),
-                               Arrays.asList(AM_PM.values())));
+               minutesField.setLabel(new Model<String>("minutes"));
+               add(amOrPmChoice = new DropDownChoice<AM_PM>("amOrPmChoice", 
new PropertyModel<AM_PM>(this,
+                               "amOrPm"), Arrays.asList(AM_PM.values())));
        }
 
        /**
@@ -186,6 +190,7 @@
        /**
         * @see org.apache.wicket.markup.html.form.FormComponent#getInput()
         */
+       @Override
        public String getInput()
        {
                // since we override convertInput, we can let this method 
return a value
@@ -276,6 +281,7 @@
         * 
         * @see org.apache.wicket.markup.html.form.FormComponent#convertInput()
         */
+       @Override
        protected void convertInput()
        {
                Object dateFieldInput = dateField.getConvertedInput();
@@ -284,7 +290,7 @@
                        MutableDateTime date = new 
MutableDateTime(dateFieldInput);
                        Integer hours = (Integer)hoursField.getConvertedInput();
                        Integer minutes = 
(Integer)minutesField.getConvertedInput();
-                       AM_PM amOrPm = (AM_PM)amOrPmChoice.getConvertedInput();
+                       AM_PM amOrPm = amOrPmChoice.getConvertedInput();
 
                        try
                        {
@@ -326,6 +332,7 @@
         * @deprecated replaced by [EMAIL PROTECTED] #newDateTextField(String, 
PropertyModel)}
         */
        // TODO remove after deprecation release
+       @Deprecated
        protected final DateTextField newDateTextField(PropertyModel 
dateFieldModel)
        {
                throw new UnsupportedOperationException();
@@ -346,6 +353,7 @@
        /**
         * @see org.apache.wicket.Component#onBeforeRender()
         */
+       @Override
        protected void onBeforeRender()
        {
                dateField.setRequired(isRequired());
@@ -449,6 +457,7 @@
                /**
                 * @see 
org.apache.wicket.validation.validator.AbstractValidator#onValidate(org.apache.wicket.validation.IValidatable)
                 */
+               @Override
                protected void onValidate(IValidatable validatable)
                {
                        Number value = (Number)validatable.getValue();
@@ -461,6 +470,7 @@
                /**
                 * @see 
org.apache.wicket.validation.validator.AbstractValidator#variablesMap(org.apache.wicket.validation.IValidatable)
                 */
+               @Override
                protected Map variablesMap(IValidatable validatable)
                {
                        final Map map = super.variablesMap(validatable);
@@ -472,6 +482,7 @@
                /**
                 * @see 
org.apache.wicket.validation.validator.AbstractValidator#resourceKey()
                 */
+               @Override
                protected String resourceKey()
                {
                        return "NumberValidator.range";


Reply via email to