package org.cacert.gigi.output;
import java.io.PrintWriter;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
import java.sql.Date;
+import java.text.ParseException;
import java.util.Map;
-import java.util.TimeZone;
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.HTMLEncoder;
public class CertificateValiditySelector implements Outputable {
- private static ThreadLocal<SimpleDateFormat> fmt = new ThreadLocal<>();
-
- private static final int DAY = 1000 * 60 * 60 * 24;
+ private static final long DAY = 1000 * 60 * 60 * 24;
private Date from;
}
- public static SimpleDateFormat getDateFormat() {
- SimpleDateFormat local = fmt.get();
- if (local == null) {
- local = new SimpleDateFormat("yyyy-MM-dd");
- local.setTimeZone(TimeZone.getTimeZone("UTC"));
- fmt.set(local);
- }
- return local;
- }
-
@Override
public void output(PrintWriter out, Language l, Map<String, Object> vars) {
out.print("<select name='validFrom'><option value='now'");
long base = getCurrentDayBase();
for (int i = 0; i < 14; i++) {
long date = base + DAY * i;
- String d = getDateFormat().format(new Date(date));
+ String d = DateSelector.getDateFormat().format(new Date(date));
out.print("<option value='");
out.print(d);
out.print("'");
}
} else {
try {
- getDateFormat().parse(newval);
+ DateSelector.getDateFormat().parse(newval);
} catch (ParseException e) {
throw new GigiApiException("The validity interval entered is invalid.");
}
this.from = null;
} else {
try {
- this.from = new Date(getDateFormat().parse(from).getTime());
+ this.from = new Date(DateSelector.getDateFormat().parse(from).getTime());
} catch (ParseException e) {
throw new GigiApiException("The validity start date entered is invalid.");
}