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