aboutsummaryrefslogtreecommitdiff
path: root/src/main/ui/widgets/CertTableModel.java
diff options
context:
space:
mode:
authorYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 18:19:39 -0800
committerYuuta Liang <yuutaw@student.cs.ubc.ca>2023-11-28 18:19:39 -0800
commit1073af21305360bd33903c533cdac57e9f936294 (patch)
tree2c2d9c343ffe2577286fb53e016f06f6cdc53cbf /src/main/ui/widgets/CertTableModel.java
parente13adbb9a9146dd5ece890449e3cad958a502f86 (diff)
downloadjca-1073af21305360bd33903c533cdac57e9f936294.tar
jca-1073af21305360bd33903c533cdac57e9f936294.tar.gz
jca-1073af21305360bd33903c533cdac57e9f936294.tar.bz2
jca-1073af21305360bd33903c533cdac57e9f936294.zip
Move TUI and GUI into separate packages
Signed-off-by: Yuuta Liang <yuutaw@student.cs.ubc.ca>
Diffstat (limited to 'src/main/ui/widgets/CertTableModel.java')
-rw-r--r--src/main/ui/widgets/CertTableModel.java129
1 files changed, 0 insertions, 129 deletions
diff --git a/src/main/ui/widgets/CertTableModel.java b/src/main/ui/widgets/CertTableModel.java
deleted file mode 100644
index 0259e1b..0000000
--- a/src/main/ui/widgets/CertTableModel.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package ui.widgets;
-
-import model.ca.CertificationAuthority;
-import model.pki.cert.Certificate;
-import model.pki.crl.RevokedCertificate;
-
-import javax.swing.*;
-import javax.swing.table.AbstractTableModel;
-import java.time.format.DateTimeFormatter;
-import java.util.List;
-
-/**
- * Table model that displays issued certificates.
- */
-public class CertTableModel extends AbstractTableModel {
- /**
- * Valid certificate icon.
- */
- private static final ImageIcon ICON_OK =
- new ImageIcon(CertTableModel.class.getResource("/verified.png"));
-
- /**
- * Revoked certificate icon (same as toolbar revoke icon).
- */
- private static final ImageIcon ICON_REVOKED =
- new ImageIcon(CertTableModel.class.getResource("/deletetest.png"));
-
- /**
- * Columns
- */
- private static final String[] COLS = new String[] {
- "", // Icon
- "Serial",
- "Subject",
- "Signed",
- "Expires"
- };
-
- /**
- * Pointer to {@link CertificationAuthority#getSigned()}
- */
- private List<Certificate> ptrData;
-
- /**
- * Pointer to {@link CertificationAuthority#getRevoked()}
- */
- private List<RevokedCertificate> ptrRevokedData;
-
- /**
- * EFFECTS: Set pointer to certs
- * MODIFIES: this
- */
- public void setPtrData(List<Certificate> ptrData) {
- this.ptrData = ptrData;
- }
-
- /**
- * EFFECTS: Set pointer to revoked
- * MODIFIES: this
- */
- public void setPtrRevokedData(List<RevokedCertificate> ptrRevokedData) {
- this.ptrRevokedData = ptrRevokedData;
- }
-
- /**
- * EFFECTS: Count rows.
- */
- @Override
- public int getRowCount() {
- return ptrData == null ? 0 : ptrData.size();
- }
-
- /**
- * EFFECTS: Count columns.
- */
- @Override
- public int getColumnCount() {
- return COLS.length;
- }
-
- /**
- * EFFECTS: Get column name.
- * REQUIRES: column in [9, getColumnCount())
- */
- @Override
- public String getColumnName(int column) {
- return COLS[column];
- }
-
- /**
- * EFFECTS: Return the value for a cell:
- * ImageIcon (Valid / Revoked)
- * String (Serial number)
- * String (Subject)
- * String (NotBefore)
- * String (NotAfter)
- * Throws {@link IllegalArgumentException} if columnIndex is not in 0 ~ 4
- * REQUIRES: rowIndex must in range.
- */
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- final Certificate e = ptrData.get(rowIndex);
- switch (columnIndex) {
- case 0: return ptrRevokedData.stream().anyMatch(r ->
- r.getSerialNumber().getLong() == e.getCertificate().getSerialNumber().getLong()
- ) ? ICON_REVOKED : ICON_OK;
- case 1: return e.getCertificate().getSerialNumber().getLong();
- case 2: return e.getCertificate().getSubject().toString();
- case 3:
- return e.getCertificate().getValidity().getNotBefore().getTimestamp()
- .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
- case 4:
- return e.getCertificate().getValidity().getNotAfter().getTimestamp()
- .format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
- default: throw new IllegalArgumentException();
- }
- }
-
- /**
- * EFFECTS: Return ImageIcon for 0, String otherwise.
- */
- @Override
- public Class<?> getColumnClass(int columnIndex) {
- switch (columnIndex) {
- case 0: return ImageIcon.class;
- default: return String.class;
- }
- }
-}