19 package org.sleuthkit.autopsy.datamodel;
21 import java.beans.PropertyChangeEvent;
22 import java.beans.PropertyChangeListener;
23 import java.util.EnumSet;
24 import java.util.List;
26 import java.util.logging.Level;
27 import java.util.stream.Collectors;
28 import org.openide.nodes.ChildFactory;
29 import org.openide.nodes.Children;
30 import org.openide.nodes.Node;
31 import org.openide.nodes.Sheet;
32 import org.openide.util.NbBundle;
33 import org.openide.util.NbBundle.Messages;
34 import org.openide.util.lookup.Lookups;
44 "DataSourcesHostsNode_name=Data Sources"
53 private static final Set<
Case.
Events> UPDATE_EVTS = EnumSet.of(
59 private static final Set<String> UPDATE_EVT_STRS = UPDATE_EVTS.stream()
60 .map(evt -> evt.name())
61 .collect(Collectors.toSet());
65 private final PropertyChangeListener pcl =
new PropertyChangeListener() {
67 public void propertyChange(PropertyChangeEvent evt) {
68 String eventType = evt.getPropertyName();
69 if (UPDATE_EVT_STRS.contains(eventType)) {
86 protected boolean createKeys(List<HostDataSources> toPopulate) {
89 .map(HostDataSources::new)
91 .forEach(toPopulate::add);
94 logger.log(Level.SEVERE,
"Error getting data sources: {0}", ex.getMessage());
107 private static final String NAME = Bundle.DataSourcesHostsNode_name();
120 super(Children.create(
new DataSourcesByTypeChildren(),
false), Lookups.singleton(NAME));
122 setDisplayName(NAME);
123 this.setIconBaseWithExtension(
"org/sleuthkit/autopsy/images/image.png");
128 return getClass().getName();
138 return visitor.
visit(
this);
143 Sheet sheet = super.createSheet();
144 Sheet.Set sheetSet = sheet.get(Sheet.PROPERTIES);
145 if (sheetSet == null) {
146 sheetSet = Sheet.createPropertiesSet();
150 sheetSet.put(
new NodeProperty<>(NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.name"),
151 NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.displayName"),
152 NbBundle.getMessage(
this.getClass(),
"DataSourcesNode.createSheet.name.desc"),
static String getNameIdentifier()
T visit(DataSourcesNode in)
Node createNodeForKey(HostDataSources key)
SleuthkitCase getSleuthkitCase()
boolean createKeys(List< HostDataSources > toPopulate)
synchronized static Logger getLogger(String name)
static Case getCurrentCaseThrows()
static void addEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)
static void removeEventTypeSubscriber(Set< Events > eventTypes, PropertyChangeListener subscriber)