> > The source is present in the next build (20040508). I
> checked it in on
> > the 4th of may. Maybe my commit crossed the build.
> >
> Thanks, I will use the new one. It is also nice that you did
> add the timezone as a request parameter in the editwizard.
>
Well it is not perfect yet. I made a little mistake. I didn't add the
timezone to the calendar instance. Just some minutes ago I committed the new
wizard.java files.
Nico
Changed code
---------------------------------------------------------
/**
* @return Calendar with timezone parameter
*/
private Calendar getCalendar() {
if (timezone != null) {
TimeZone tz = TimeZone.getTimeZone(timezone);
if (tz.getID().equals(timezone)) {
return Calendar.getInstance(tz);
}
else {
return Calendar.getInstance();
}
}
else {
return Calendar.getInstance();
}
}
private String buildDate(ServletRequest req, String name) {
try {
int day = Integer.parseInt(req.getParameter("internal_" + name +
"_day"));
int month = Integer.parseInt(req.getParameter("internal_" + name
+ "_month"));
int year = Integer.parseInt(req.getParameter("internal_" + name
+ "_year"));
Calendar cal = getCalendar();
cal.set(year, month - 1, day, 0, 0, 0);
return "" + cal.getTimeInMillis() / 1000;
} catch (RuntimeException e) { //NumberFormat NullPointer
log.debug("Failed to parse date for " + name + " " +
e.getMessage());
return "";
}
}
private String buildDatetime(ServletRequest req, String name) {
try {
int day = Integer.parseInt(req.getParameter("internal_" + name +
"_day"));
int month = Integer.parseInt(req.getParameter("internal_" + name
+ "_month"));
int year = Integer.parseInt(req.getParameter("internal_" + name
+ "_year"));
int hours = Integer.parseInt(req.getParameter("internal_" + name
+ "_hours"));
int minutes = Integer.parseInt(req.getParameter("internal_" +
name + "_minutes"));
Calendar cal = getCalendar();
cal.set(year, month - 1, day, hours, minutes, 0);
return "" + cal.getTimeInMillis() / 1000;
} catch (RuntimeException e) { //NumberFormat NullPointer
log.debug("Failed to parse datetime for " + name + " "
+ e.getMessage());
return "";
}
}
private String buildDuration(ServletRequest req, String name) {
try {
int hours = Integer.parseInt(req.getParameter("internal_" + name
+ "_hours"));
int minutes = Integer.parseInt(req.getParameter("internal_" +
name + "_minutes"));
int seconds = Integer.parseInt(req.getParameter("internal_" +
name + "_seconds"));
Calendar cal = getCalendar();
cal.set(1970, 0, 1, hours, minutes, seconds);
return "" + cal.getTimeInMillis() / 1000;
} catch (RuntimeException e) { //NumberFormat NullPointer
log.debug("Failed to parse duration for " + name + " " +
e.getMessage());
return "";
}
}