]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/CertificateTable.java
Add: Abstracted table markup.
[gigi.git] / src / org / cacert / gigi / output / CertificateTable.java
index 413de877b9235bb0988f33fe0ee99b1dfe076cbe..a5c43d853cc708d2942c0a5c71f4dd22357c6715 100644 (file)
@@ -3,53 +3,57 @@ package org.cacert.gigi.output;
 import java.io.PrintWriter;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.LinkedList;
 import java.util.Map;
 
 import org.cacert.gigi.Language;
+import org.cacert.gigi.output.DataTable.Cell;
+import org.cacert.gigi.output.DataTable.EmptyCell;
 
 public class CertificateTable implements Outputable {
        String resultSet;
        public CertificateTable(String resultSet) {
                this.resultSet = resultSet;
        }
-       private static final String[] columnNames = new String[]{
-                       "Renew/Revoke/Delete", "Status", "Email Address", "SerialNumber",
-                       "Revoked", "Expires", "Login"};
 
        @Override
        public void output(PrintWriter out, Language l, Map<String, Object> vars) {
                ResultSet rs = (ResultSet) vars.get(resultSet);
                try {
                        out.println("<form method=\"post\" action=\"account.php\">");
-                       out.println("<table align=\"center\" valign=\"middle\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"wrapper\">");
-                       out.println("<tr>");
-                       for (String column : columnNames) {
-                               out.print("<td class=\"DataTD\">");
-                               out.print(l.getTranslation(column));
-                               out.println("</td>");
-                       }
-                       out.print("<td colspan=\"2\" class=\"DataTD\">");
-                       out.print(l.getTranslation("Comment *"));
-                       out.println("</td></tr>");
-
+                       final LinkedList<Cell> cells = new LinkedList<>();
                        rs.beforeFirst();
                        while (rs.next()) {
                                // out.println(rs.getString("id"));
-                               out.print("<tr><td class=\"DataTD\">&nbsp;</td><td class=\"DataTD\">State</td><td class=\"DataTD\">");
-                               out.println(rs.getString("CN"));
-                               out.print("</td><td class=\"DataTD\">");
-                               out.println(rs.getString("serial"));
-                               out.print("</td><td class=\"DataTD\">");
+                               cells.add(new EmptyCell());
+                               cells.add(new Cell("State", false));
+                               cells.add(new Cell(rs.getString("CN"), false));
+                               cells.add(new Cell(rs.getString("serial"), false));
                                if (rs.getString("revoked") == null) {
-                                       out.println("N/A");
+                                       cells.add(new Cell("N/A", false));
                                } else {
-                                       out.println(rs.getString("revoked"));
+                                       cells.add(new Cell(rs.getString("revoked"), false));
                                }
-                               out.print("</td><td class=\"DataTD\">");
-                               out.println(rs.getString("expire"));
-                               out.println("</td><td class=\"DataTD\">a</td><td class=\"DataTD\">a</td></tr>");
+                               cells.add(new Cell(rs.getString("expire"), false));
+                               cells.add(new Cell(rs.getString("a"), false));
+                               cells.add(new Cell(rs.getString("a"), false));
                        }
-                       out.println("</table>");
+                       DataTable t = new DataTable() {
+
+                               @Override
+                               protected LinkedList<Cell> getTableContent() {
+                                       return cells;
+                               }
+
+                               @Override
+                               protected String[] getColumns() {
+                                       return new String[] { "Renew/Revoke/Delete", "Status",
+                                                       "Email Address", "SerialNumber", "Revoked",
+                                                       "Expires", "Login", "Comment*" };
+                               }
+                       };
+                       t.output(out, l, vars);
+                       out.println("</form>");
                } catch (SQLException e) {
                        e.printStackTrace();
                }