]> WPIA git - gigi.git/blob - src/org/cacert/gigi/pages/account/DomainPinglogForm.java
Convert Pinglog into form.
[gigi.git] / src / org / cacert / gigi / pages / account / DomainPinglogForm.java
1 package org.cacert.gigi.pages.account;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.dbObjects.Domain;
10 import org.cacert.gigi.dbObjects.DomainPingConfiguration;
11 import org.cacert.gigi.dbObjects.Domain.DomainPingExecution;
12 import org.cacert.gigi.localisation.Language;
13 import org.cacert.gigi.output.Form;
14 import org.cacert.gigi.output.template.IterableDataset;
15 import org.cacert.gigi.output.template.Template;
16
17 public class DomainPinglogForm extends Form {
18
19     static Template t = new Template(DomainPinglogForm.class.getResource("DomainPinglogForm.templ"));
20
21     Domain target;
22
23     public DomainPinglogForm(HttpServletRequest hsr, Domain target) {
24         super(hsr);
25         this.target = target;
26     }
27
28     @Override
29     public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
30         return false;
31     }
32
33     @Override
34     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
35         final DomainPingExecution[] pings;
36         try {
37             pings = target.getPings();
38         } catch (GigiApiException e) {
39             e.format(out, l);
40             return;
41         }
42         vars.put("domainname", target.getSuffix());
43         vars.put("pings", new IterableDataset() {
44
45             int counter = 0;
46
47             @Override
48             public boolean next(Language l, Map<String, Object> vars) {
49                 if (counter >= pings.length) {
50                     return false;
51                 }
52                 vars.put("state", pings[counter].getState());
53                 vars.put("type", pings[counter].getType());
54                 vars.put("config", pings[counter].getInfo());
55                 String ping3 = pings[counter].getResult();
56                 if (ping3 == null) {
57                     vars.put("result", "");
58                 } else {
59                     vars.put("result", ping3);
60                 }
61                 DomainPingConfiguration dpc = pings[counter].getConfig();
62                 if (dpc != null) {
63                     vars.put("configId", Integer.toString(dpc.getId()));
64                 }
65                 counter++;
66                 return true;
67             }
68         });
69         t.output(out, l, vars);
70     }
71 }