19 package org.sleuthkit.autopsy.timeline.explorernodes;
21 import java.util.Collection;
22 import java.util.HashMap;
23 import java.util.List;
25 import java.util.logging.Level;
26 import org.openide.nodes.AbstractNode;
27 import org.openide.nodes.ChildFactory;
28 import org.openide.nodes.Children;
29 import org.openide.nodes.Node;
30 import org.openide.util.NbBundle;
31 import org.openide.util.lookup.Lookups;
54 super(Children.create(
new EventNodeChildFactory(fileIds, filteredEvents),
true), Lookups.singleton(fileIds));
69 return getClass().getName();
88 private Map<Long, Node >
nodesMap =
new HashMap<>();
92 this.eventIDs = fileIds;
103 for (Long eventId: eventIDs){
104 if (!nodesMap.containsKey(eventId)) {
107 toPopulate.add(eventId);
110 if (!nodesMap.containsKey(-1L)) {
120 return nodesMap.get(eventID);
136 LOGGER.log(Level.SEVERE,
"There was no case open to lookup the Sleuthkit object backing a SingleEvent.", ex);
138 }
catch (TskCoreException ex) {
144 LOGGER.log(Level.SEVERE,
"Failed to lookup Sleuthkit object backing a SingleEvent.", ex);
157 "# {0} - maximum number of events to display",
158 "# {1} - the number of events that is too many",
159 "EventRoodNode.tooManyNode.displayName=Too many events to display. Maximum = {0}. But there are {1} to display."})
161 super(Children.LEAF);
162 this.setIconBaseWithExtension(
"org/sleuthkit/autopsy/images/info-icon-16.png");
163 setDisplayName(Bundle.EventRoodNode_tooManyNode_displayName(MAX_EVENTS_TO_DISPLAY, size));
static EventNode createEventNode(final Long eventID, FilteredEventsModel eventsModel)
Map< Long, Node > nodesMap
static final Logger LOGGER
boolean createKeys(List< Long > toPopulate)
final FilteredEventsModel filteredEvents
static final long serialVersionUID
final Collection< Long > eventIDs
static final int MAX_EVENTS_TO_DISPLAY
Node createNodeForKey(Long eventID)
EventRootNode(Collection< Long > fileIds, FilteredEventsModel filteredEvents)
synchronized static Logger getLogger(String name)
Node createNode(Long eventID)