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 2010/12/30 16:16:53 UTC
svn commit: r1053912 - in /wicket/trunk/wicket-datetime/src:
main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
Author: jdonnerstag
Date: Thu Dec 30 15:16:51 2010
New Revision: 1053912
URL: http://svn.apache.org/viewvc?rev=1053912&view=rev
Log:
changed DateTimeField implementation to new convertInput()
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java?rev=1053912&r1=1053911&r2=1053912&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DateTimeField.java Thu Dec 30 15:16:51 2010
@@ -17,6 +17,7 @@
package org.apache.wicket.extensions.yui.calendar;
import java.util.Arrays;
+import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.Map;
@@ -324,59 +325,35 @@ public class DateTimeField extends FormC
{
// Get the converted input values
Date dateFieldInput = dateField.getConvertedInput();
- Integer hours = hoursField.getConvertedInput();
- Integer minutes = minutesField.getConvertedInput();
- AM_PM amOrPm = amOrPmChoice.getConvertedInput();
-
- // Default to today, if date entry was invisible
- final MutableDateTime date;
- if (dateFieldInput != null)
- {
- date = new MutableDateTime(dateFieldInput);
- }
- else
- {
- // Current date
- date = new MutableDateTime();
- }
-
- // always set secs to 0
- date.setSecondOfMinute(0);
-
- // "Calculate" the date with the different input parameters
-
- // The AM/PM field
- boolean use12HourFormat = use12HourFormat();
- if (use12HourFormat)
- {
- date.set(DateTimeFieldType.halfdayOfDay(), amOrPm == AM_PM.PM ? 1 : 0);
- }
-
- // The hours
- if ((hoursField.isVisibleInHierarchy() == false) || (hours == null))
- {
- date.setHourOfDay(0);
- }
- else
- {
- date.set(DateTimeFieldType.hourOfDay(), hours % getMaximumHours(use12HourFormat));
- }
-
- // The minutes
- if ((minutesField.isVisibleInHierarchy() == false) || (minutes == null))
- {
- date.setMinuteOfHour(0);
- }
- else
- {
- date.setMinuteOfHour(minutes);
- }
-
- // Use the client timezone to properly calculate the millisecs
- TimeZone zone = getClientTimeZone();
- if (zone != null)
- {
- date.setZoneRetainFields(DateTimeZone.forTimeZone(zone));
+ Integer hoursInput = hoursField.getConvertedInput();
+ Integer minutesInput = minutesField.getConvertedInput();
+ AM_PM amOrPmInput = amOrPmChoice.getConvertedInput();
+
+ // Default with "now"
+ if (dateFieldInput == null)
+ {
+ dateFieldInput = new Date();
+ }
+
+ // Get year, month and day ignoring any timezone of the Date object
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(dateFieldInput);
+ int year = cal.get(Calendar.YEAR);
+ int month = cal.get(Calendar.MONTH) + 1;
+ int day = cal.get(Calendar.DAY_OF_MONTH);
+ int hours = (hoursInput == null ? 0 : hoursInput % 24);
+ int minutes = (minutesInput == null ? 0 : minutesInput);
+
+ // Use the input to create a date object with proper timezone
+ MutableDateTime date = new MutableDateTime(year, month, day, hours, minutes, 0, 0,
+ DateTimeZone.forTimeZone(getClientTimeZone()));
+
+ // Adjust for halfday if needed
+ if (use12HourFormat())
+ {
+ int halfday = (amOrPm == AM_PM.PM ? 1 : 0);
+ date.set(DateTimeFieldType.halfdayOfDay(), halfday);
+ date.set(DateTimeFieldType.hourOfDay(), hours % 12);
}
// The date will be in the server's timezone
Modified: wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java?rev=1053912&r1=1053911&r2=1053912&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java (original)
+++ wicket/trunk/wicket-datetime/src/test/java/org/apache/wicket/extensions/yui/calendar/DatePickerTest.java Thu Dec 30 15:16:51 2010
@@ -18,6 +18,7 @@ package org.apache.wicket.extensions.yui
import java.text.DateFormat;
import java.text.ParseException;
+import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
@@ -186,21 +187,21 @@ public class DatePickerTest extends Wick
DateTimeZone.setDefault(DateTimeZone.forTimeZone(tzServer));
Locale.setDefault(Locale.GERMAN);
- Date orig = convertDate("06.11.2010", null, null, null, false, tzClient);
- Date origJoda = convertDateJoda("06.11.2010", null, null, null, false, tzClient);
+// Date orig = convertDate("06.11.2010", null, null, null, false, tzClient);
+// Date origJoda = convertDateJoda("06.11.2010", null, null, null, false, tzClient);
Date orig3 = convertDateNew("06.11.2010", null, null, null, false, tzClient);
MutableDateTime dt = new MutableDateTime(DateTimeZone.forTimeZone(tzClient));
dt.setDateTime(2010, 11, 06, 0, 0, 0, 0);
Date date = new Date(dt.getMillis());
- log.error("actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + "; origNew: " +
+ log.error(/* "actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + */"; origNew: " +
orig3.getTime() + "; expected: " + date.getTime());
- log.error("actual: " + orig + "; joda: " + origJoda + "; origNew: " + orig3 +
+ log.error(/* "actual: " + orig + "; joda: " + origJoda + */"; origNew: " + orig3 +
"; expected: " + date);
assertEquals(date.getTime(), orig3.getTime());
- assertEquals(date.getTime(), orig.getTime());
- assertEquals(origJoda.getTime(), orig.getTime());
+// assertEquals(date.getTime(), orig.getTime());
+// assertEquals(origJoda.getTime(), orig.getTime());
}
/**
@@ -217,21 +218,21 @@ public class DatePickerTest extends Wick
DateTimeZone.setDefault(DateTimeZone.forTimeZone(tzServer));
Locale.setDefault(Locale.GERMAN);
- Date orig = convertDate("06.11.2010", 0, 0, AM_PM.AM, false, tzClient);
- Date origJoda = convertDateJoda("06.11.2010", 0, 0, AM_PM.AM, false, tzClient);
+// Date orig = convertDate("06.11.2010", 0, 0, AM_PM.AM, false, tzClient);
+// Date origJoda = convertDateJoda("06.11.2010", 0, 0, AM_PM.AM, false, tzClient);
Date orig3 = convertDateNew("06.11.2010", 0, 0, AM_PM.AM, false, tzClient);
MutableDateTime dt = new MutableDateTime(DateTimeZone.forTimeZone(tzClient));
dt.setDateTime(2010, 11, 06, 0, 0, 0, 0);
Date date = new Date(dt.getMillis());
- log.error("actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + "; origNew: " +
+ log.error(/* "actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + */"; origNew: " +
orig3.getTime() + "; expected: " + date.getTime());
- log.error("actual: " + orig + "; joda: " + origJoda + "; origNew: " + orig3 +
+ log.error(/* "actual: " + orig + "; joda: " + origJoda + */"; origNew: " + orig3 +
"; expected: " + date);
assertEquals(date.getTime(), orig3.getTime());
- assertEquals(date.getTime(), orig.getTime());
- assertEquals(origJoda.getTime(), orig.getTime());
+// assertEquals(date.getTime(), orig.getTime());
+// assertEquals(origJoda.getTime(), orig.getTime());
}
/**
@@ -248,21 +249,21 @@ public class DatePickerTest extends Wick
DateTimeZone.setDefault(DateTimeZone.forTimeZone(tzServer));
Locale.setDefault(Locale.GERMAN);
- Date orig = convertDate("06.11.2010", 12, 0, null, false, tzClient);
- Date origJoda = convertDateJoda("06.11.2010", 12, 0, null, false, tzClient);
+// Date orig = convertDate("06.11.2010", 12, 0, null, false, tzClient);
+// Date origJoda = convertDateJoda("06.11.2010", 12, 0, null, false, tzClient);
Date orig3 = convertDateNew("06.11.2010", 12, 0, null, false, tzClient);
MutableDateTime dt = new MutableDateTime(DateTimeZone.forTimeZone(tzClient));
dt.setDateTime(2010, 11, 06, 12, 0, 0, 0);
Date date = new Date(dt.getMillis());
- log.error("actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + "; origNew: " +
+ log.error(/* "actual: " + orig.getTime() + "; joda: " + origJoda.getTime() + */"; origNew: " +
orig3.getTime() + "; expected: " + date.getTime());
- log.error("actual: " + orig + "; joda: " + origJoda + "; origNew: " + orig3 +
+ log.error(/* "actual: " + orig + "; joda: " + origJoda + */"; origNew: " + orig3 +
"; expected: " + date);
assertEquals(date.getTime(), orig3.getTime());
- assertEquals(date.getTime(), orig.getTime());
- assertEquals(origJoda.getTime(), orig.getTime());
+// assertEquals(date.getTime(), orig.getTime());
+// assertEquals(origJoda.getTime(), orig.getTime());
}
/**
@@ -371,22 +372,22 @@ public class DatePickerTest extends Wick
}
// Get year, month and day ignoring any timezone of the Date object
-// Calendar cal = Calendar.getInstance();
-// cal.setTime(dateFieldInput);
-// int year = cal.get(Calendar.YEAR);
-// int month = cal.get(Calendar.MONTH) + 1;
-// int day = cal.get(Calendar.DAY_OF_MONTH);
-// int iHours = (hours == null ? 0 : hours % 24);
-// int iMins = (minutes == null ? 0 : minutes);
-//
-// // Use the input to create a date object with proper timezone
-// MutableDateTime date = new MutableDateTime(year, month, day, iHours, iMins, 0, 0,
-// DateTimeZone.forTimeZone(tzClient));
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(dateFieldInput);
+ int year = cal.get(Calendar.YEAR);
+ int month = cal.get(Calendar.MONTH) + 1;
+ int day = cal.get(Calendar.DAY_OF_MONTH);
+ int iHours = (hours == null ? 0 : hours % 24);
+ int iMins = (minutes == null ? 0 : minutes);
+
+ // Use the input to create a date object with proper timezone
+ MutableDateTime date = new MutableDateTime(year, month, day, iHours, iMins, 0, 0,
+ DateTimeZone.forTimeZone(tzClient));
// Use the input to create a date object. Ignore the timezone provided by dateFieldInput and
// use tzClient instead. No re-calculation will happen. It should be the same as above.
- MutableDateTime date = new MutableDateTime(dateFieldInput,
- DateTimeZone.forTimeZone(tzClient));
+// MutableDateTime date = new MutableDateTime(dateFieldInput,
+// DateTimeZone.forTimeZone(tzClient));
log.error("1. date: " + date.getMillis() + " " + date);
// Adjust for halfday if needed