19 package org.sleuthkit.autopsy.centralrepository.contentviewer;
21 import java.util.ArrayList;
22 import java.util.HashMap;
23 import java.util.List;
25 import javax.swing.table.AbstractTableModel;
26 import org.openide.util.NbBundle.Messages;
27 import org.apache.commons.io.FilenameUtils;
36 private final List<String>
nodeKeys =
new ArrayList<>();
37 private final Map<String, List<OtherOccurrenceNodeData>>
nodeMap =
new HashMap<>();
53 return nodeKeys.size();
56 @Messages({
"OtherOccurrencesFilesTableModel.fileName=File Name",
57 "OtherOccurrencesFilesTableModel.noData=No Data."})
60 return Bundle.OtherOccurrencesFilesTableModel_fileName();
66 if (nodeMap.isEmpty() || nodeKeys.isEmpty() || rowIdx < 0
67 || rowIdx >= nodeKeys.size() || nodeKeys.get(rowIdx) == null
68 || nodeMap.get(nodeKeys.get(rowIdx)) == null
69 || nodeMap.get(nodeKeys.get(rowIdx)).isEmpty()) {
70 return Bundle.OtherOccurrencesFilesTableModel_noData();
72 return FilenameUtils.getName(((OtherOccurrenceNodeInstanceData) nodeMap.get(nodeKeys.get(rowIdx)).
get(0)).getFilePath());
84 List<OtherOccurrenceNodeData> getListOfNodesForFile(
int rowIdx) {
86 if (nodeMap.isEmpty() || nodeKeys.isEmpty() || rowIdx < 0
87 || rowIdx >= nodeKeys.size() || nodeKeys.get(rowIdx) == null
88 || nodeMap.get(nodeKeys.get(rowIdx)) == null) {
89 return new ArrayList<>();
91 return nodeMap.get(nodeKeys.get(rowIdx));
104 void addNodeData(OtherOccurrenceNodeData newNodeData) {
105 String newNodeKey =
createNodeKey((OtherOccurrenceNodeInstanceData) newNodeData);
106 List<OtherOccurrenceNodeData> nodeList = nodeMap.get(newNodeKey);
107 if (nodeList == null) {
108 nodeKeys.add(newNodeKey);
109 nodeList =
new ArrayList<>();
111 nodeList.add(newNodeData);
112 nodeMap.put(newNodeKey, nodeList);
113 fireTableDataChanged();
117 return nodeData.getCaseName() + nodeData.getDataSourceName() + nodeData.getDeviceID() + nodeData.getFilePath();
126 fireTableDataChanged();
String getColumnName(int colIdx)
Object getValueAt(int rowIdx, int colIdx)
final Map< String, List< OtherOccurrenceNodeData > > nodeMap
Class< String > getColumnClass(int colIdx)
static final long serialVersionUID
String createNodeKey(OtherOccurrenceNodeInstanceData nodeData)
final List< String > nodeKeys