]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/DateSelector.java
Enforce Date-of-births to be day-only.
[gigi.git] / src / org / cacert / gigi / output / DateSelector.java
index 1aefa13725dd80e2a5d1e3b3882cc664c3867cde..22a0f620854eafb45a2f1826f62b4a8a572f1d2e 100644 (file)
@@ -4,7 +4,6 @@ import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
 import java.util.Calendar;
-import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.Map;
 import java.util.TimeZone;
@@ -13,23 +12,26 @@ import javax.servlet.http.HttpServletRequest;
 
 import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.Outputable;
+import org.cacert.gigi.util.DayDate;
+import org.cacert.gigi.util.HTMLEncoder;
 
 public class DateSelector implements Outputable {
 
     private String[] names;
 
-    public DateSelector(String day, String month, String year, Date date) {
+    public DateSelector(String day, String month, String year, DayDate date) {
         this(day, month, year);
         Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTF"));
-        cal.setTime(date);
+        cal.setTimeInMillis(date.getTime());
         this.day = cal.get(Calendar.DAY_OF_MONTH);
-        this.month = cal.get(Calendar.MONTH);
+        this.month = cal.get(Calendar.MONTH) + 1;
         this.year = cal.get(Calendar.YEAR);
     }
 
     public DateSelector(String day, String month, String year) {
         this.names = new String[] {
-                day, month, year
+                HTMLEncoder.encodeHTML(day), HTMLEncoder.encodeHTML(month), HTMLEncoder.encodeHTML(year)
         };
     }
 
@@ -124,10 +126,11 @@ public class DateSelector implements Outputable {
         return "DateSelector [names=" + Arrays.toString(names) + ", day=" + day + ", month=" + month + ", year=" + year + "]";
     }
 
-    public java.sql.Date getDate() {
+    public DayDate getDate() {
         Calendar gc = GregorianCalendar.getInstance();
-        gc.set(year, month - 1, day);
-        return new java.sql.Date(gc.getTime().getTime());
+        gc.set(year, month - 1, day, 0, 0, 0);
+        gc.set(Calendar.MILLISECOND, 0);
+        return new DayDate(gc.getTime().getTime());
     }
 
     public static SimpleDateFormat getDateFormat() {