Autopsy  4.18.0
Graphical digital forensics platform for The Sleuth Kit and other tools.
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel Class Reference

Inherits org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.

Public Member Functions

 TimelinePanel ()
 
 TimelinePanel (TimelineSummary timelineData)
 
void close ()
 

Protected Member Functions

void fetchInformation (DataSource dataSource)
 
void fetchInformation (List< DataFetchComponents< DataSource,?>> dataFetchComponents, DataSource dataSource)
 
MenuItem getArtifactNavigateItem (BlackboardArtifact artifact)
 
synchronized DataSource getDataSource ()
 
MenuItem getFileNavigateItem (String path)
 
MenuItem getFileNavigateItem (AbstractFile file)
 
void notifyParentClose ()
 
void onNewDataSource (DataSource dataSource)
 
void onNewDataSource (List< DataFetchComponents< DataSource,?>> dataFetchComponents, List<?extends LoadableComponent<?>> loadableComponents, DataSource dataSource)
 
void submit (List<?extends SwingWorker<?,?>> workers)
 

Static Protected Member Functions

static< T > ExcelSheetExport convertToExcel (ExcelExportFunction< T > excelConverter, T data, String sheetName)
 
static< T > ExcelSheetExport getExport (DataFetcher< DataSource, T > dataFetcher, ExcelExportFunction< T > excelConverter, String sheetName, DataSource ds)
 
static< T > T getFetchResult (DataFetcher< DataSource, T > dataFetcher, String sheetName, DataSource ds)
 
static< T, CextendsExcelCellModel > ExcelSheetExport getTableExport (List< ColumnModel< T, C >> columnsModel, String sheetName, List< T > data)
 
static< T, CextendsExcelCellModel > ExcelSheetExport getTableExport (DataFetcher< DataSource, List< T >> dataFetcher, List< ColumnModel< T, C >> columnsModel, String sheetName, DataSource ds)
 

Private Member Functions

void handleResult (DataFetchResult< TimelineSummaryData > result)
 
void initComponents ()
 
void openFilteredChart ()
 
void openFilteredChart (DataSource dataSource, Date minDate, Date maxDate)
 
List< BarChartSeriesparseChartData (List< DailyActivityAmount > recentDaysActivity, boolean showIntermediateDates)
 
void viewInTimelineBtnActionPerformed (java.awt.event.ActionEvent evt)
 

Static Private Member Functions

static String formatDate (Date date, DateFormat formatter)
 
static DefaultCellModel<?> getEarliestLatestCell (Date date)
 
static DateFormat getUtcFormat (String formatString)
 

Private Attributes

TimelineSummaryData curTimelineData = null
 
final List< DataFetchComponents< DataSource,?> > dataFetchComponents
 
final DataFetcher< DataSource, TimelineSummaryDatadataFetcher
 
final LoadableLabel earliestLabel = new LoadableLabel(Bundle.TimelinePanel_earliestLabel_title())
 
final IngestRunningLabel ingestRunningLabel = new IngestRunningLabel()
 
final BarChartPanel last30DaysChart = new BarChartPanel(Bundle.TimlinePanel_last30DaysChart_title(), "", "")
 
final LoadableLabel latestLabel = new LoadableLabel(Bundle.TimelinePanel_latestLabel_title())
 
final List< LoadableComponent<?> > loadableComponents = Arrays.asList(earliestLabel, latestLabel, last30DaysChart)
 
final Object timelineBtnLock = new Object()
 
final TimelineDataSourceUtils timelineUtils = TimelineDataSourceUtils.getInstance()
 
javax.swing.JButton viewInTimelineBtn
 

Static Private Attributes

static final Color ARTIFACT_EVT_COLOR = new Color(21, 227, 100)
 
static final DateFormat CHART_FORMAT = getUtcFormat("MMM d, yyyy")
 
static final DateFormat EARLIEST_LATEST_FORMAT = getUtcFormat(EARLIEST_LATEST_FORMAT_STR)
 
static final String EARLIEST_LATEST_FORMAT_STR = "MMM d, yyyy"
 
static final Color FILE_EVT_COLOR = new Color(228, 22, 28)
 
static final Logger logger = Logger.getLogger(TimelinePanel.class.getName())
 
static final int MOST_RECENT_DAYS_COUNT = 30
 
static final long serialVersionUID = 1L
 

Detailed Description

A tab shown in data source summary displaying information about a data source's timeline events.

Definition at line 75 of file TimelinePanel.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.TimelinePanel ( )

Definition at line 110 of file TimelinePanel.java.

org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.TimelinePanel ( TimelineSummary  timelineData)

Member Function Documentation

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.close ( )
static <T> ExcelSheetExport org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.convertToExcel ( ExcelExportFunction< T >  excelConverter,
data,
String  sheetName 
)
staticprotectedinherited

Helper method that converts data into an excel sheet export handling possible excel exceptions.

Parameters
excelConverterFunction to convert data to an excel sheet export.
dataThe data. If data is null, null will be returned.
sheetNameThe name(s) of the sheet (to be used in the error message).
Returns
The excel sheet export.

Definition at line 513 of file BaseDataSourceSummaryPanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.fetchInformation ( DataSource  dataSource)
protected

Definition at line 281 of file TimelinePanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.fetchInformation ( List< DataFetchComponents< DataSource,?>>  dataFetchComponents,
DataSource  dataSource 
)
protectedinherited

Utility method to be called when solely updating information (not showing a loading screen) that creates swing workers from the data source argument and data fetch components and then submits them to run.

Parameters
dataFetchComponentsThe components to be run.
dataSourceThe data source argument.

Definition at line 431 of file BaseDataSourceSummaryPanel.java.

static String org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.formatDate ( Date  date,
DateFormat  formatter 
)
staticprivate

Formats a date using a DateFormat. In the event that the date is null, returns a null string.

Parameters
dateThe date to format.
formatterThe DateFormat to use to format the date.
Returns
The formatted string generated from the formatter or null if the date is null.

Definition at line 138 of file TimelinePanel.java.

MenuItem org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getArtifactNavigateItem ( BlackboardArtifact  artifact)
protectedinherited

Given the relevant artifact, navigates to the artifact in the tree and closes data source summary dialog if open.

Parameters
artifactThe artifact.
Returns
The menu item for a go to artifact menu item.

Definition at line 260 of file BaseDataSourceSummaryPanel.java.

synchronized DataSource org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getDataSource ( )
protectedinherited
Returns
The current data source.

Definition at line 391 of file BaseDataSourceSummaryPanel.java.

static DefaultCellModel<?> org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.getEarliestLatestCell ( Date  date)
staticprivate

Create a default cell model to be use with excel export in the earliest / latest date format.

Parameters
dateThe date.
Returns
The cell model.

Definition at line 303 of file TimelinePanel.java.

static <T> ExcelSheetExport org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getExport ( DataFetcher< DataSource, T >  dataFetcher,
ExcelExportFunction< T >  excelConverter,
String  sheetName,
DataSource  ds 
)
staticprotectedinherited

Returns an excel sheet export given the fetching of data or null if no export created.

Parameters
dataFetcherThe means of fetching data.
excelConverterThe means of converting data to excel.
sheetNameThe name of the sheet (for error handling reporting).
dsThe data source to use for fetching data.
Returns
The excel sheet export or null if no export could be generated.

Definition at line 538 of file BaseDataSourceSummaryPanel.java.

static <T> T org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getFetchResult ( DataFetcher< DataSource, T >  dataFetcher,
String  sheetName,
DataSource  ds 
)
staticprotectedinherited

Runs a data fetcher and returns the result handling any possible errors with a log message.

Parameters
dataFetcherThe means of fetching the data.
sheetNameThe name of the sheet.
dsThe data source.
Returns
The fetched data.

Definition at line 473 of file BaseDataSourceSummaryPanel.java.

MenuItem org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getFileNavigateItem ( String  path)
protectedinherited

Creates a menu item to navigate to a file.

Parameters
pathThe path to the file.
Returns
The menu item or null if file cannot be found in data source.

Definition at line 308 of file BaseDataSourceSummaryPanel.java.

MenuItem org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getFileNavigateItem ( AbstractFile  file)
protectedinherited

Given the relevant file, navigates to the file in the tree and closes data source summary dialog if open.

Parameters
fileThe file.
Returns
The menu item list for a go to artifact menu item.

Definition at line 336 of file BaseDataSourceSummaryPanel.java.

static <T,CextendsExcelCellModel> ExcelSheetExport org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getTableExport ( List< ColumnModel< T, C >>  columnsModel,
String  sheetName,
List< T >  data 
)
staticprotectedinherited

Returns an excel table export of the data or null if no export created.

Parameters
columnsModelThe model for the columns.
sheetNameThe name for the sheet.
dataThe data to be exported.
Returns
The excel table export or null if no export could be generated.

Definition at line 554 of file BaseDataSourceSummaryPanel.java.

static <T,CextendsExcelCellModel> ExcelSheetExport org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.getTableExport ( DataFetcher< DataSource, List< T >>  dataFetcher,
List< ColumnModel< T, C >>  columnsModel,
String  sheetName,
DataSource  ds 
)
staticprotectedinherited

Returns an excel table export of the data or null if no export created.

Parameters
dataFetcherThe means of fetching data for the data source and the export.
columnsModelThe model for the columns.
sheetNameThe name for the sheet.
dsThe data source.
Returns
The excel export or null if no export created.

Definition at line 572 of file BaseDataSourceSummaryPanel.java.

static DateFormat org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.getUtcFormat ( String  formatString)
staticprivate

Creates a DateFormat formatter that uses UTC for time zone.

Parameters
formatStringThe date format string.
Returns
The data format.

Definition at line 91 of file TimelinePanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.handleResult ( DataFetchResult< TimelineSummaryData result)
private
void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.initComponents ( )
private

This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

Definition at line 340 of file TimelinePanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.notifyParentClose ( )
protectedinherited

Sends event that parent should close.

Definition at line 373 of file BaseDataSourceSummaryPanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.onNewDataSource ( DataSource  dataSource)
protected

Definition at line 286 of file TimelinePanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.onNewDataSource ( List< DataFetchComponents< DataSource,?>>  dataFetchComponents,
List<?extends LoadableComponent<?>>  loadableComponents,
DataSource  dataSource 
)
protectedinherited

Utility method that shows a loading screen with loadable components, create swing workers from the datafetch components and data source argument and submits them to be executed.

Parameters
dataFetchComponentsThe components to register.
loadableComponentsThe components to set to a loading screen.
dataSourceThe data source argument.

Definition at line 591 of file BaseDataSourceSummaryPanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.openFilteredChart ( )
private
void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.openFilteredChart ( DataSource  dataSource,
Date  minDate,
Date  maxDate 
)
private

Action that occurs when 'View in Timeline' button is pressed.

Parameters
dataSourceThe data source to filter to.
minDateThe min date for the zoom of the window.
maxDateThe max date for the zoom of the window.

Definition at line 248 of file TimelinePanel.java.

References org.sleuthkit.autopsy.timeline.TimeLineModule.getController(), org.sleuthkit.autopsy.datasourcesummary.datamodel.TimelineDataSourceUtils.getDataSourceFilterState(), org.sleuthkit.autopsy.timeline.TimeLineController.pushFilters(), and org.sleuthkit.autopsy.timeline.OpenTimelineAction.showTimeline().

List<BarChartSeries> org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.parseChartData ( List< DailyActivityAmount recentDaysActivity,
boolean  showIntermediateDates 
)
private

Converts DailyActivityAmount data retrieved from TimelineSummary into data to be displayed as a bar chart.

Parameters
recentDaysActivityThe data retrieved from TimelineSummary.
showIntermediateDatesIf true, shows all dates. If false, shows only first and last date.
Returns
The data to be displayed in the BarChart.

Definition at line 154 of file TimelinePanel.java.

References org.sleuthkit.autopsy.datasourcesummary.datamodel.TimelineSummary.DailyActivityAmount.getArtifactActivityCount(), org.sleuthkit.autopsy.datasourcesummary.datamodel.TimelineSummary.DailyActivityAmount.getDay(), and org.sleuthkit.autopsy.datasourcesummary.datamodel.TimelineSummary.DailyActivityAmount.getFileActivityCount().

void org.sleuthkit.autopsy.datasourcesummary.ui.BaseDataSourceSummaryPanel.submit ( List<?extends SwingWorker<?,?>>  workers)
protectedinherited

Submits the following swing workers for execution in sequential order. If there are any previous workers, those workers are cancelled.

Parameters
workersThe workers to submit for execution.

Definition at line 401 of file BaseDataSourceSummaryPanel.java.

void org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.viewInTimelineBtnActionPerformed ( java.awt.event.ActionEvent  evt)
private

Definition at line 419 of file TimelinePanel.java.

Member Data Documentation

final Color org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.ARTIFACT_EVT_COLOR = new Color(21, 227, 100)
staticprivate

Definition at line 143 of file TimelinePanel.java.

final DateFormat org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.CHART_FORMAT = getUtcFormat("MMM d, yyyy")
staticprivate

Definition at line 82 of file TimelinePanel.java.

TimelineSummaryData org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.curTimelineData = null
private

Definition at line 183 of file TimelinePanel.java.

final List<DataFetchComponents<DataSource, ?> > org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.dataFetchComponents
private

Definition at line 108 of file TimelinePanel.java.

final DataFetcher<DataSource, TimelineSummaryData> org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.dataFetcher
private

Definition at line 105 of file TimelinePanel.java.

final DateFormat org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.EARLIEST_LATEST_FORMAT = getUtcFormat(EARLIEST_LATEST_FORMAT_STR)
staticprivate

Definition at line 81 of file TimelinePanel.java.

final String org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.EARLIEST_LATEST_FORMAT_STR = "MMM d, yyyy"
staticprivate

Definition at line 80 of file TimelinePanel.java.

final LoadableLabel org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.earliestLabel = new LoadableLabel(Bundle.TimelinePanel_earliestLabel_title())
private

Definition at line 97 of file TimelinePanel.java.

final Color org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.FILE_EVT_COLOR = new Color(228, 22, 28)
staticprivate

Definition at line 142 of file TimelinePanel.java.

final IngestRunningLabel org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.ingestRunningLabel = new IngestRunningLabel()
private

Definition at line 96 of file TimelinePanel.java.

final BarChartPanel org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.last30DaysChart = new BarChartPanel(Bundle.TimlinePanel_last30DaysChart_title(), "", "")
private

Definition at line 99 of file TimelinePanel.java.

final LoadableLabel org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.latestLabel = new LoadableLabel(Bundle.TimelinePanel_latestLabel_title())
private

Definition at line 98 of file TimelinePanel.java.

final List<LoadableComponent<?> > org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.loadableComponents = Arrays.asList(earliestLabel, latestLabel, last30DaysChart)
private

Definition at line 103 of file TimelinePanel.java.

final Logger org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.logger = Logger.getLogger(TimelinePanel.class.getName())
staticprivate

Definition at line 77 of file TimelinePanel.java.

final int org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.MOST_RECENT_DAYS_COUNT = 30
staticprivate

Definition at line 83 of file TimelinePanel.java.

final long org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.serialVersionUID = 1L
staticprivate

Definition at line 78 of file TimelinePanel.java.

final Object org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.timelineBtnLock = new Object()
private

Definition at line 182 of file TimelinePanel.java.

final TimelineDataSourceUtils org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.timelineUtils = TimelineDataSourceUtils.getInstance()
private

Definition at line 100 of file TimelinePanel.java.

javax.swing.JButton org.sleuthkit.autopsy.datasourcesummary.ui.TimelinePanel.viewInTimelineBtn
private

Definition at line 424 of file TimelinePanel.java.


The documentation for this class was generated from the following file:

Copyright © 2012-2021 Basis Technology. Generated on: Thu Jul 8 2021
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.