19 package org.sleuthkit.autopsy.timeline.datamodel.eventtype;
21 import java.util.Arrays;
22 import java.util.Collections;
23 import java.util.List;
24 import java.util.Optional;
25 import java.util.function.Function;
26 import java.util.logging.Level;
27 import javafx.scene.image.Image;
28 import org.apache.commons.lang3.StringUtils;
29 import org.openide.util.NbBundle;
44 MESSAGE(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.message.name"),
"message.png",
54 List<String> asList = Arrays.asList(stringValueOf(dir), stringValueOf(readStatus), name != null || phoneNumber != null ? toFrom(dir) :
"", stringValueOf(name != null ? name : phoneNumber), (subject == null ?
"" : stringValueOf(subject)));
55 return StringUtils.join(asList,
" ");
58 GPS_ROUTE(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.GPSRoutes.name"),
"gps-search.png",
68 return String.format(
"from %1$s %2$s to %3$s %4$s", stringValueOf(latStart), stringValueOf(longStart), stringValueOf(latEnd), stringValueOf(longEnd));
70 GPS_TRACKPOINT(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.GPSTrackpoint.name"),
"gps-trackpoint.png",
77 return stringValueOf(latitude) +
" " + stringValueOf(longitude);
79 new EmptyExtractor()),
80 CALL_LOG(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.Calls.name"),
"calllog.png",
86 EMAIL(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.Email.name"),
"mail-icon-16.png",
92 return stringValueOf(emailFrom) +
" to " + stringValueOf(emailTo);
96 RECENT_DOCUMENTS(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.recentDocuments.name"),
"recent_docs.png",
100 (String t) -> (StringUtils.substringBeforeLast(StringUtils.substringBeforeLast(t,
"\\"),
"\\"))),
102 (String t) -> StringUtils.substringBeforeLast(t,
"\\")),
112 String shortDescription = getShortExtractor().apply(artf);
113 String medDescription = getMedExtractor().apply(artf);
114 String fullDescription = getFullExtractor().apply(artf);
119 INSTALLED_PROGRAM(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.installedPrograms.name"),
"programs.png",
125 EXIF(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.exif.name"),
"camera-icon-16.png",
137 LOGGER.log(Level.SEVERE,
"Exif event type failed to look up backing file name", ex);
139 return "error loading file name";
141 DEVICES_ATTACHED(NbBundle.getMessage(
MiscTypes.class,
"MiscTypes.devicesAttached.name"),
"usb_devices.png",
149 return Optional.ofNullable(attr)
188 return longExtractor;
198 return shortExtractor;
203 return dateTimeAttributeType;
232 Function<BlackboardArtifact, String> shortExtractor,
233 Function<BlackboardArtifact, String> medExtractor,
234 Function<BlackboardArtifact, String> longExtractor) {
235 this.displayName = displayName;
236 this.iconBase = iconBase;
237 this.artifactType = artifactType;
238 this.dateTimeAttributeType = dateTimeAttributeType;
239 this.shortExtractor = shortExtractor;
240 this.medExtractor = medExtractor;
241 this.longExtractor = longExtractor;
242 this.image =
new Image(
"org/sleuthkit/autopsy/timeline/images/" + iconBase,
true);
252 return Collections.emptyList();
final Function< BlackboardArtifact, String > medExtractor
static String toFrom(BlackboardAttribute dir)
List<?extends EventType > getSubTypes()
EventTypeZoomLevel getZoomLevel()
Function< BlackboardArtifact, String > getMedExtractor()
MiscTypes(String displayName, String iconBase, BlackboardArtifact.Type artifactType, BlackboardAttribute.Type dateTimeAttributeType, Function< BlackboardArtifact, String > shortExtractor, Function< BlackboardArtifact, String > medExtractor, Function< BlackboardArtifact, String > longExtractor)
Function< BlackboardArtifact, String > getFullExtractor()
BlackboardAttribute.Type getDateTimeAttributeType()
static String stringValueOf(BlackboardAttribute attr)
EventType getSubType(String string)
final Function< BlackboardArtifact, String > longExtractor
AbstractFile getAbstractFileById(long id)
String getDisplayString()
BlackboardAttribute getAttribute(BlackboardAttribute.Type attributeType)
final BlackboardAttribute.Type dateTimeAttributeType
Function< BlackboardArtifact, String > getShortExtractor()
SleuthkitCase getSleuthkitCase()
BlackboardArtifact.Type getArtifactType()
final BlackboardArtifact.Type artifactType
static BlackboardAttribute getAttributeSafe(BlackboardArtifact artf, BlackboardAttribute.Type attrType)
final Function< BlackboardArtifact, String > shortExtractor