]> WPIA git - gigi.git/blob - src/club/wpia/gigi/pages/OneFormPage.java
add: revocation state in the result list of support cert search
[gigi.git] / src / club / wpia / gigi / pages / OneFormPage.java
1 package club.wpia.gigi.pages;
2
3 import java.io.IOException;
4
5 import javax.servlet.http.HttpServletRequest;
6 import javax.servlet.http.HttpServletResponse;
7
8 import club.wpia.gigi.GigiApiException;
9 import club.wpia.gigi.output.template.Form;
10
11 public class OneFormPage extends Page {
12
13     Class<? extends Form> c;
14
15     public OneFormPage(String title, Class<? extends Form> t) {
16         super(title);
17         c = t;
18     }
19
20     @Override
21     public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
22         return Form.getForm(req, c).submitExceptionProtected(req, resp);
23     }
24
25     @Override
26     public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
27         Form form = Form.getForm(req, c);
28         if (Form.printFormErrors(req, resp.getWriter())) {
29             form.output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
30         }
31     }
32
33     @Override
34     public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
35         try {
36             c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
37         } catch (ReflectiveOperationException e) {
38             new GigiApiException().format(resp.getWriter(), getLanguage(req), getDefaultVars(req));
39         }
40     }
41
42 }