19 package org.sleuthkit.autopsy.communications.snapshot;
21 import java.util.List;
22 import java.awt.image.BufferedImage;
23 import java.io.IOException;
24 import java.nio.file.Path;
25 import java.text.SimpleDateFormat;
26 import java.time.Instant;
27 import java.util.ArrayList;
28 import java.util.Collection;
29 import java.util.Date;
30 import java.util.HashMap;
32 import javax.imageio.ImageIO;
50 private final BufferedImage
image;
66 super(currentCase, reportFolderPath, reportName, generationDate);
68 this.image = snapshot;
81 SimpleDateFormat formatter =
new SimpleDateFormat(
"MMMMM dd, yyyy");
86 HashMap<String, Object> snapShotContext =
new HashMap<>();
93 long startDate = ((DateRangeFilter) filter).getStartDate();
94 long endDate = ((DateRangeFilter) filter).getEndDate();
98 snapShotContext.put(
"startTime", formatter.format(
new Date((Instant.ofEpochSecond(startDate)).toEpochMilli())));
102 snapShotContext.put(
"endTime", formatter.format(
new Date((Instant.ofEpochSecond(endDate)).toEpochMilli())));
106 Set<
Account.
Type> selectedAccounts = ((AccountTypeFilter) filter).getAccountTypes();
107 ArrayList<ReportWriterHelper> fullAccountList =
new ArrayList<>();
113 fullAccountList.add(
new ReportWriterHelper(type.getDisplayName(), selectedAccounts.contains(type)));
116 snapShotContext.put(
"accounts", fullAccountList);
118 Collection<String> ids = ((DeviceFilter) filter).getDevices();
119 ArrayList<ReportWriterHelper> list =
new ArrayList<>();
123 boolean selected = ids.contains(dataSource.getDeviceId());
124 String dsName = sleuthkitCase.
getContentById(dataSource.getId()).getName();
131 snapShotContext.put(
"devices", list);
Path getReportFolderPath()
final CommunicationsFilter filter
void writeSnapShotHTMLFile()
List< DataSource > getDataSources()
final BufferedImage image
Content getContentById(long id)
List< SubFilter > getAndFilters()
static final Account.Type CREDIT_CARD
static final List< Account.Type > PREDEFINED_ACCOUNT_TYPES
SleuthkitCase getSleuthkitCase()
void fillTemplateAndWrite(final String templateLocation, final String templateName, Object context, final Path outPutFile)
final Path reportFolderPath
CommSnapShotReportWriter(Case currentCase, Path reportFolderPath, String reportName, Date generationDate, BufferedImage snapshot, CommunicationsFilter filter)