]> WPIA git - gigi.git/blob - src/org/cacert/gigi/output/CertificateTable.java
UPD: More advanced cells
[gigi.git] / src / org / cacert / gigi / output / CertificateTable.java
1 package org.cacert.gigi.output;
2
3 import java.io.PrintWriter;
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
6 import java.util.LinkedList;
7 import java.util.Map;
8
9 import org.cacert.gigi.Language;
10 import org.cacert.gigi.output.DataTable.Cell;
11
12 public class CertificateTable implements Outputable {
13         String resultSet;
14         public CertificateTable(String resultSet) {
15                 this.resultSet = resultSet;
16         }
17
18         @Override
19         public void output(PrintWriter out, Language l, Map<String, Object> vars) {
20                 ResultSet rs = (ResultSet) vars.get(resultSet);
21                 try {
22                         out.println("<form method=\"post\" action=\"account.php\">");
23                         final LinkedList<Cell> cells = new LinkedList<>();
24                         rs.beforeFirst();
25                         while (rs.next()) {
26                                 // out.println(rs.getString("id"));
27                                 cells.add(new Cell());
28                                 cells.add(new Cell("State", false));
29                                 cells.add(new Cell(rs.getString("CN"), false));
30                                 cells.add(new Cell(rs.getString("serial"), false));
31                                 if (rs.getString("revoked") == null) {
32                                         cells.add(new Cell("N/A", false));
33                                 } else {
34                                         cells.add(new Cell(rs.getString("revoked"), false));
35                                 }
36                                 cells.add(new Cell(rs.getString("expire"), false));
37                                 cells.add(new Cell(rs.getString("a"), false));
38                                 cells.add(new Cell(rs.getString("a"), false));
39                         }
40                         DataTable t = new DataTable() {
41
42                                 @Override
43                                 protected LinkedList<Cell> getTableContent() {
44                                         return cells;
45                                 }
46
47                                 @Override
48                                 protected Cell[] getColumns() {
49                                         return new Cell[] { new Cell("Renew/Revoke/Delete", true),
50                                                         new Cell("Status", true),
51                                                         new Cell("Email Address", true),
52                                                         new Cell("SerialNumber", true),
53                                                         new Cell("Revoked", true),
54                                                         new Cell("Expires", true), new Cell("Login", true),
55                                                         new Cell("Comment*", true, "colspan=\"2\"") };
56                                 }
57                         };
58                         t.output(out, l, vars);
59                         out.println("</form>");
60                 } catch (SQLException e) {
61                         e.printStackTrace();
62                 }
63
64         }
65 }