X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FDateSelector.java;h=a21e38bd9b0f9731aa1cfedbefd3c9ca0060ba99;hb=062a926daaf1676aede69c4e60c6a3cd90597c38;hp=782e6127c8362c3b9c9a90f72290eedcb2979875;hpb=06c5d96d7dc2df71a1658e1c7c9e34ad065d10d7;p=gigi.git diff --git a/src/org/cacert/gigi/output/DateSelector.java b/src/org/cacert/gigi/output/DateSelector.java index 782e6127..a21e38bd 100644 --- a/src/org/cacert/gigi/output/DateSelector.java +++ b/src/org/cacert/gigi/output/DateSelector.java @@ -2,9 +2,14 @@ package org.cacert.gigi.output; 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 javax.servlet.http.HttpServletRequest; + import org.cacert.gigi.Language; public class DateSelector implements Outputable { @@ -50,4 +55,48 @@ public class DateSelector implements Outputable { } out.print("\" size=\"4\" autocomplete=\"off\">"); } + + public void update(HttpServletRequest r) { + String dayS = r.getParameter(names[0]); + if (dayS != null) { + day = parseIntSafe(dayS); + } + + String monthS = r.getParameter(names[1]); + if (monthS != null) { + month = parseIntSafe(monthS); + } + + String yearS = r.getParameter(names[2]); + if (yearS != null) { + year = parseIntSafe(yearS); + } + } + private int parseIntSafe(String dayS) { + try { + return Integer.parseInt(dayS); + } catch (NumberFormatException e) { + + } + return 0; + } + public boolean isValid() { + if (!(1900 < year && 1 <= month && month <= 12 && 1 <= day && day <= 32)) { + return false; + } + return true; // TODO checkdate + } + + @Override + public String toString() { + return "DateSelector [names=" + Arrays.toString(names) + ", day=" + day + + ", month=" + month + ", year=" + year + "]"; + } + + public Date getDate() { + Calendar gc = GregorianCalendar.getInstance(); + gc.set(year, month - 1, day); + return gc.getTime(); + } + }