From 89fed14fafeb0af07b09c183bf934e1234d21e48 Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Fri, 27 Jun 2014 01:33:31 +0200 Subject: [PATCH] UPD: More advanced cells --- .../cacert/gigi/output/CertificateTable.java | 15 ++++--- src/org/cacert/gigi/output/DataTable.java | 39 ++++++++++++------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/src/org/cacert/gigi/output/CertificateTable.java b/src/org/cacert/gigi/output/CertificateTable.java index a5c43d85..ce0e5d56 100644 --- a/src/org/cacert/gigi/output/CertificateTable.java +++ b/src/org/cacert/gigi/output/CertificateTable.java @@ -8,7 +8,6 @@ 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; @@ -25,7 +24,7 @@ public class CertificateTable implements Outputable { rs.beforeFirst(); while (rs.next()) { // out.println(rs.getString("id")); - cells.add(new EmptyCell()); + cells.add(new Cell()); cells.add(new Cell("State", false)); cells.add(new Cell(rs.getString("CN"), false)); cells.add(new Cell(rs.getString("serial"), false)); @@ -46,10 +45,14 @@ public class CertificateTable implements Outputable { } @Override - protected String[] getColumns() { - return new String[] { "Renew/Revoke/Delete", "Status", - "Email Address", "SerialNumber", "Revoked", - "Expires", "Login", "Comment*" }; + protected Cell[] getColumns() { + return new Cell[] { new Cell("Renew/Revoke/Delete", true), + new Cell("Status", true), + new Cell("Email Address", true), + new Cell("SerialNumber", true), + new Cell("Revoked", true), + new Cell("Expires", true), new Cell("Login", true), + new Cell("Comment*", true, "colspan=\"2\"") }; } }; t.output(out, l, vars); diff --git a/src/org/cacert/gigi/output/DataTable.java b/src/org/cacert/gigi/output/DataTable.java index 8c8b06e6..c9ba47b8 100644 --- a/src/org/cacert/gigi/output/DataTable.java +++ b/src/org/cacert/gigi/output/DataTable.java @@ -7,7 +7,7 @@ import java.util.Map; import org.cacert.gigi.Language; public abstract class DataTable implements Outputable { - protected abstract String[] getColumns(); + protected abstract Cell[] getColumns(); protected abstract LinkedList getTableContent(); @@ -15,9 +15,10 @@ public abstract class DataTable implements Outputable { public void output(PrintWriter out, Language l, Map vars) { out.println(""); out.println(""); - for (String column : getColumns()) { - out.print(""); } out.println(""); @@ -25,8 +26,9 @@ public abstract class DataTable implements Outputable { for (int i = 0; i < tableContnet.size() / getColumns().length; i++) { out.println(""); for (int j = 0; j < getColumns().length; j++) { - out.println(""); @@ -36,13 +38,28 @@ public abstract class DataTable implements Outputable { out.println("
"); - out.print(l.getTranslation(column)); + for (Cell column : getColumns()) { + out.print(""); + out.print(column.shouldTranslate() ? l.getTranslation(column + .getText()) : column.getText()); out.println("
"); Cell current = tableContnet.get((i * getColumns().length) + j); + out.println(""); out.print(current.shouldTranslate() ? l.getTranslation(current .getText()) : current.getText()); out.print("
"); } + /** + * Note: All cells have the html attribute class="DataTD"! + * + * @author janis + * + */ public static class Cell { - private String text; + private String text, htmlAttribs; private boolean translate; - public Cell(String text, boolean translate) { + public Cell() { + this(" ", false); + } + + public Cell(String text, boolean translate, String htmlAttribs) { this.text = text; this.translate = translate; + this.htmlAttribs = htmlAttribs; + } + + public Cell(String text, boolean translate) { + this(text, translate, ""); } public boolean shouldTranslate() { @@ -53,12 +70,8 @@ public abstract class DataTable implements Outputable { return text; } - } - - public static class EmptyCell extends Cell { - - public EmptyCell() { - super(" ", false); + public String getHtmlAttribs() { + return htmlAttribs; } } -- 2.39.2