19 package org.sleuthkit.autopsy.centralrepository.optionspanel;
21 import java.util.ArrayList;
22 import java.util.List;
23 import javax.swing.table.AbstractTableModel;
24 import org.openide.util.NbBundle.Messages;
30 class ShowCasesTableModel
extends AbstractTableModel {
32 private static final long serialVersionUID = 1L;
34 @Messages({
"ShowCasesTableModel.case=Case Name",
35 "ShowCasesTableModel.creationDate=Creation Date",
36 "ShowCasesTableModel.caseNumber=Case Number",
37 "ShowCasesTableModel.examinerName=Examiner Name",
38 "ShowCasesTableModel.examinerEmail=Examiner Email",
39 "ShowCasesTableModel.examinerPhone=Examiner Phone",
40 "ShowCasesTableModel.notes=Notes",
41 "ShowCasesTableModel.noData=No Cases"})
48 CASE_NAME(Bundle.ShowCasesTableModel_case(), 200),
49 CREATION_DATE(Bundle.ShowCasesTableModel_creationDate(), 150),
50 CASE_NUMBER(Bundle.ShowCasesTableModel_caseNumber(), 100),
51 EXAMINER_NAME(Bundle.ShowCasesTableModel_examinerName(), 200),
52 EXAMINER_EMAIL(Bundle.ShowCasesTableModel_examinerEmail(), 100),
53 EXAMINER_PHONE(Bundle.ShowCasesTableModel_examinerPhone(), 100),
54 NOTES(Bundle.ShowCasesTableModel_notes(), 450);
56 private final String columnName;
57 private final int columnWidth;
59 TableColumns(String columnName,
int columnWidth) {
60 this.columnName = columnName;
61 this.columnWidth = columnWidth;
76 private List<CorrelationCase> eamCases;
78 ShowCasesTableModel() {
79 eamCases =
new ArrayList<>();
83 public int getColumnCount() {
84 return TableColumns.values().length;
97 int getColumnPreferredWidth(
int colIdx) {
98 return TableColumns.values()[colIdx].columnWidth();
102 public int getRowCount() {
103 return eamCases.size();
107 public String getColumnName(
int colIdx) {
108 return TableColumns.values()[colIdx].columnName();
112 public Object getValueAt(
int rowIdx,
int colIdx) {
113 if (eamCases.isEmpty()) {
114 return Bundle.ShowCasesTableModel_noData();
117 return mapValueById(rowIdx, TableColumns.values()[colIdx]);
120 Object getRow(
int rowIdx) {
121 return eamCases.get(rowIdx);
132 private Object mapValueById(
int rowIdx, TableColumns colId) {
133 CorrelationCase eamCase = eamCases.get(rowIdx);
134 String value = Bundle.ShowCasesTableModel_noData();
141 value = eamCase.getCreationDate();
144 value = eamCase.getCaseNumber();
147 value = eamCase.getExaminerName();
150 value = eamCase.getExaminerEmail();
153 value = eamCase.getExaminerPhone();
156 value = eamCase.getNotes();
165 public Class<String> getColumnClass(
int colIdx) {
175 void addEamCase(CorrelationCase eamCase) {
176 eamCases.add(eamCase);
177 fireTableDataChanged();
182 fireTableDataChanged();