19package org.sleuthkit.autopsy.datamodel;
21import java.beans.PropertyChangeEvent;
22import java.beans.PropertyChangeListener;
23import java.util.ArrayList;
24import java.util.Arrays;
25import java.util.Collections;
26import java.util.Comparator;
27import java.util.EnumSet;
29import java.util.logging.Level;
30import org.openide.nodes.Children;
31import org.openide.nodes.Sheet;
32import org.openide.util.NbBundle;
33import org.openide.util.lookup.Lookups;
34import org.sleuthkit.autopsy.casemodule.Case;
35import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
36import org.sleuthkit.autopsy.coreutils.Logger;
37import org.sleuthkit.datamodel.Content;
38import org.sleuthkit.datamodel.TskCoreException;
39import org.sleuthkit.datamodel.TskDataException;
80 this.setIconBaseWithExtension(
"org/sleuthkit/autopsy/images/image.png");
85 return getClass().getName();
96 List<Content> currentKeys;
103 super(
"ds_" + Long.toString(dsObjId));
104 this.currentKeys =
new ArrayList<>();
105 this.datasourceObjId = dsObjId;
108 private final PropertyChangeListener
pcl =
new PropertyChangeListener() {
110 public void propertyChange(PropertyChangeEvent evt) {
111 String eventType = evt.getPropertyName();
136 currentKeys =
new ArrayList<>(Arrays.asList(content));
139 Collections.sort(currentKeys,
new Comparator<Content>() {
141 public int compare(Content content1, Content content2) {
142 String content1Name = content1.getName().toLowerCase();
143 String content2Name = content2.getName().toLowerCase();
144 return content1Name.compareTo(content2Name);
150 logger.log(Level.SEVERE,
"Error getting data sources: {0}", ex.getMessage());
164 return visitor.
visit(
this);
169 Sheet sheet = super.createSheet();
170 Sheet.Set sheetSet = sheet.get(Sheet.PROPERTIES);
171 if (sheetSet ==
null) {
172 sheetSet = Sheet.createPropertiesSet();
176 sheetSet.put(
new NodeProperty<>(NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.name"),
177 NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.displayName"),
178 NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.desc"),
static void removeEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)
List< Content > getDataSources()
SleuthkitCase getSleuthkitCase()
static Case getCurrentCaseThrows()
static void addEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)
synchronized static Logger getLogger(String name)
static final Logger logger
final PropertyChangeListener pcl
final long datasourceObjId
List< Content > makeKeys()
DataSourcesNodeChildren()
DataSourcesNodeChildren(long dsObjId)
DataSourceFilesNode(List< Content > images)
static String getNameIdentifier()
DataSourceFilesNode(long dsObjId)
DisplayableItemNode(Children children)
T visit(DataSourceFilesNode in)