Autopsy  4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer Class Reference

Inherits JPanel, and org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Classes

interface  DateTimePanel
 
class  SortByDateTime
 

Public Member Functions

 ContextViewer ()
 
DataContentViewer createInstance ()
 
Component getComponent ()
 
default String getTitle (Node node)
 
String getTitle ()
 
String getToolTip ()
 
int isPreferred (Node node)
 
boolean isSupported (Node node)
 
void resetComponent ()
 
void setNode (Node selectedNode)
 

Private Member Functions

void addArtifactToPanels (BlackboardArtifact associatedArtifact) throws TskCoreException
 
void addAssociatedArtifactToPanel (BlackboardArtifact artifact) throws TskCoreException
 
void appendAttributeString (StringBuilder sb, BlackboardAttribute.ATTRIBUTE_TYPE attribType, Map< BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute > attributesMap, String prependStr)
 
Long getArtifactDateTime (BlackboardArtifact artifact) throws TskCoreException
 
Map< BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute > getAttributesMap (BlackboardArtifact artifact) throws TskCoreException
 
void initComponents ()
 
String msgArtifactToAbbreviatedString (BlackboardArtifact artifact) throws TskCoreException
 
void populatePanels (AbstractFile sourceFile) throws NoCurrentCaseException, TskCoreException
 
String programExecArtifactToString (BlackboardArtifact artifact) throws TskCoreException
 
String recentDocArtifactToString (BlackboardArtifact artifact) throws TskCoreException
 
String webDownloadArtifactToString (BlackboardArtifact artifact) throws TskCoreException
 

Private Attributes

final List< ContextSourcePanelcontextSourcePanels = new ArrayList<>()
 
final List< ContextUsagePanelcontextUsagePanels = new ArrayList<>()
 
javax.swing.JScrollPane jScrollPane
 
javax.swing.JPanel jSourcePanel
 
javax.swing.JPanel jUnknownPanel
 
javax.swing.JPanel jUsagePanel
 

Static Private Attributes

static final int ARTIFACT_STR_MAX_LEN = 1024
 
static final int ATTRIBUTE_STR_MAX_LEN = 200
 
static final List< BlackboardArtifact.ARTIFACT_TYPE > CONTEXT_ARTIFACTS = new ArrayList<>()
 
static final Insets DATA_ROW_INSETS = new Insets(0, ContentViewerDefaults.getSectionIndent(), ContentViewerDefaults.getLineSpacing(), 0)
 
static final Insets FIRST_HEADER_INSETS = new Insets(0, 0, 0, 0)
 
static final Insets HEADER_INSETS = new Insets(ContentViewerDefaults.getSectionSpacing(), 0, ContentViewerDefaults.getLineSpacing(), 0)
 
static final Logger logger = Logger.getLogger(ContextViewer.class.getName())
 
static final long serialVersionUID = 1L
 

Detailed Description

Displays additional context for the selected file, such as its source, and usage, if known.

Definition at line 56 of file ContextViewer.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.ContextViewer ( )

Creates new form ContextViewer

Definition at line 79 of file ContextViewer.java.

Member Function Documentation

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.addArtifactToPanels ( BlackboardArtifact  associatedArtifact) throws TskCoreException
private

Adds th passed in artifact to the appropriate source or usage panel

Parameters
associatedArtifact- associated artifact
Exceptions
TskCoreException

Definition at line 310 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.addAssociatedArtifactToPanel ( BlackboardArtifact  artifact) throws TskCoreException
private

Resolves an TSK_ASSOCIATED_OBJECT artifact and adds it to the appropriate panel

Parameters
artifactArtifact that may provide context.
Exceptions
NoCurrentCaseException
TskCoreException

Definition at line 284 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.appendAttributeString ( StringBuilder  sb,
BlackboardAttribute.ATTRIBUTE_TYPE  attribType,
Map< BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute >  attributesMap,
String  prependStr 
)
private

Looks up specified attribute in the given map and, if found, appends its value to the given string builder.

Parameters
sbString builder to append to.
attribTypeAttribute type to look for.
attributesMapAttributes map.
prependStrOptional string that is prepended before the attribute value.

Definition at line 481 of file ContextViewer.java.

DataContentViewer org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.createInstance ( )

Create and return a new instance of your viewer. The reason that this is needed is because the specific viewer modules will be found via NetBeans Lookup and the type will only be DataContentViewer. This method is used to get an instance of your specific type.

Returns
A new instance of the viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 170 of file ContextViewer.java.

Long org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.getArtifactDateTime ( BlackboardArtifact  artifact) throws TskCoreException
private

Return the dateTime value for the given message artifact.

Parameters
artifact
Returns
Long dateTime value or null if the attribute was not found.
Exceptions
TskCoreException

Definition at line 536 of file ContextViewer.java.

Map<BlackboardAttribute.ATTRIBUTE_TYPE, BlackboardAttribute> org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.getAttributesMap ( BlackboardArtifact  artifact) throws TskCoreException
private

Gets all attributes for the given artifact, and returns a map of attributes keyed by attribute type.

Parameters
artifactArtifact for which to get the attributes.
Returns
Map of attribute type and value.
Exceptions
TskCoreException

Definition at line 506 of file ContextViewer.java.

Component org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.getComponent ( )

Return the Swing Component to display. Implementations of this method that extend JPanel and do a 'return this;'. Otherwise return an internal instance of the JPanel.

Returns
the component which is displayed for this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 175 of file ContextViewer.java.

default String org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle ( Node  node)
inherited

Returns the title of this viewer to display in the tab.

Parameters
nodeThe node to be viewed in the DataContentViewer.
Returns
the title of DataContentViewer.

Implemented in org.sleuthkit.autopsy.contentviewers.Metadata.

Definition at line 61 of file DataContentViewer.java.

References org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.getTitle().

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.getTitle ( )

Returns the title of this viewer to display in the tab.

Returns
the title of DataContentViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 160 of file ContextViewer.java.

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.getToolTip ( )

Returns a short description of this viewer to use as a tool tip for its tab.

Returns
the tooltip for this TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 165 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.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 92 of file ContextViewer.java.

References org.sleuthkit.autopsy.contentviewers.layout.ContentViewerDefaults.getHeaderFont().

int org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.isPreferred ( Node  node)

Checks whether the given viewer is preferred for the Node. This is a bit subjective, but the idea is that Autopsy wants to display the most relevant tab. The more generic the viewer, the lower the return value should be. This will only be called on viewers that support the given node (i.e., isSupported() has already returned true).

The following are some examples of the current levels in use. If the selected node is an artifact, the level may be determined by both the artifact and its associated file.

Level 8 - Used for viewers that summarize a data artifact and display a relevant subset to help the examiner decide if they should look into it further. Not currently used by any modules, but an example would be a module that summarizes an email message.

Level 7 - Used for data artifact viewers. These have higher priority over file content viewers because a Node will likely have the ‘source’ file for a data artifact and we want to give the artifact priority. Currently used by the Data Artifacts viewer.

Level 6 - Used for type-specific file content viewers that summarize the file content and display a relevant subset. These viewers help the examiner determine if the file is worth looking into further. Examples of this would be Video Triage Module that displays a subset of a video or a document.

Level 5 - Used for type-specific file content viewers that are optimized for that type, such as displaying an image or a PDF file with images and proper layout. Currently used by the Application viewer.

Level 4 - Used for type-specific file content viewers that are not optimized. For example, displaying only the plain text from a PDF would be at this level, but displaying the same PDF with images and layout would be level 5. Currently used by the Text viewer that returns text from Solr.

Level 3 - Used for viewing Data Artifacts that refer to files and the user may want to view the files more than the artifact itself. This is currently used by the Data Artifact viewer when a Web Download artifact is selected.

Level 2 - Used for viewing Analysis Results. This is a lower priority than Data Artifacts and file content because Analysis Results are used to identify content of interest and therefore the content itself should be shown. Currently used by the Analysis Results viewer. * Level 1 - Used for metadata viewers that give more information and context about the primary file or artifact. Currently used by Metadata, Annotations, Context, Other Occurrences, and OS Account.

Level 0 - Used for general purpose file content viewers that are not file specific and will always be enabled. Currently used by Text/Strings and Hex.

Parameters
nodeNode to check for preference
Returns
an int (0-10) higher return means the viewer has higher priority

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 209 of file ContextViewer.java.

References org.sleuthkit.autopsy.contentviewers.utils.ViewerPriority.viewerPriority.LevelOne.

boolean org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.isSupported ( Node  node)

Checks whether the given node is supported by the viewer. This will be used to enable or disable the tab for the viewer.

Parameters
nodeNode to check for support
Returns
True if the node can be displayed / processed, else false

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 186 of file ContextViewer.java.

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.msgArtifactToAbbreviatedString ( BlackboardArtifact  artifact) throws TskCoreException
private

Returns a abbreviated display string for a message artifact.

Parameters
artifactartifact to get download source URL from.
Returns
Display string for message artifact.
Exceptions
TskCoreException

Definition at line 452 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.populatePanels ( AbstractFile  sourceFile) throws NoCurrentCaseException, TskCoreException
private

Looks for context providing artifacts for the given file and populates the source context.

Parameters
sourceFileFile for which to show the context.
Exceptions
NoCurrentCaseException
TskCoreException

Definition at line 226 of file ContextViewer.java.

References org.sleuthkit.autopsy.casemodule.Case.getCurrentCaseThrows(), org.sleuthkit.autopsy.contentviewers.layout.ContentViewerDefaults.getPanelBackground(), org.sleuthkit.autopsy.contentviewers.layout.ContentViewerDefaults.getPanelInsets(), and org.sleuthkit.autopsy.casemodule.Case.getSleuthkitCase().

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.programExecArtifactToString ( BlackboardArtifact  artifact) throws TskCoreException
private

Returns a display string with Program Execution artifact.

Parameters
artifactartifact to get doc from.
Returns
Display string with download URL and date/time.
Exceptions
TskCoreException

Definition at line 421 of file ContextViewer.java.

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.recentDocArtifactToString ( BlackboardArtifact  artifact) throws TskCoreException
private

Returns a display string with recent Doc artifact.

Parameters
artifactartifact to get doc from.
Returns
Display string with download URL and date/time.
Exceptions
TskCoreException

Definition at line 391 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 180 of file ContextViewer.java.

void org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.setNode ( Node  selectedNode)

Autopsy will call this when this panel is focused with the file that should be analyzed. When called with null, must clear all references to previous nodes.

Parameters
selectedNodethe node which is used to determine what is displayed in this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.DataContentViewer.

Definition at line 140 of file ContextViewer.java.

String org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.webDownloadArtifactToString ( BlackboardArtifact  artifact) throws TskCoreException
private

Returns a display string with download source URL from the given artifact.

Parameters
artifactartifact to get download source URL from.
Returns
Display string with download URL and date/time.
Exceptions
TskCoreException

Definition at line 365 of file ContextViewer.java.

Member Data Documentation

final int org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.ARTIFACT_STR_MAX_LEN = 1024
staticprivate

Definition at line 60 of file ContextViewer.java.

final int org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.ATTRIBUTE_STR_MAX_LEN = 200
staticprivate

Definition at line 61 of file ContextViewer.java.

final List<BlackboardArtifact.ARTIFACT_TYPE> org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.CONTEXT_ARTIFACTS = new ArrayList<>()
staticprivate

Definition at line 68 of file ContextViewer.java.

final List<ContextSourcePanel> org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.contextSourcePanels = new ArrayList<>()
private

Definition at line 69 of file ContextViewer.java.

final List<ContextUsagePanel> org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.contextUsagePanels = new ArrayList<>()
private

Definition at line 70 of file ContextViewer.java.

final Insets org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.DATA_ROW_INSETS = new Insets(0, ContentViewerDefaults.getSectionIndent(), ContentViewerDefaults.getLineSpacing(), 0)
staticprivate

Definition at line 65 of file ContextViewer.java.

final Insets org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.FIRST_HEADER_INSETS = new Insets(0, 0, 0, 0)
staticprivate

Definition at line 63 of file ContextViewer.java.

final Insets org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.HEADER_INSETS = new Insets(ContentViewerDefaults.getSectionSpacing(), 0, ContentViewerDefaults.getLineSpacing(), 0)
staticprivate

Definition at line 64 of file ContextViewer.java.

javax.swing.JScrollPane org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.jScrollPane
private

Definition at line 573 of file ContextViewer.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.jSourcePanel
private

Definition at line 574 of file ContextViewer.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.jUnknownPanel
private

Definition at line 575 of file ContextViewer.java.

javax.swing.JPanel org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.jUsagePanel
private

Definition at line 576 of file ContextViewer.java.

final Logger org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.logger = Logger.getLogger(ContextViewer.class.getName())
staticprivate

Definition at line 59 of file ContextViewer.java.

final long org.sleuthkit.autopsy.contentviewers.contextviewer.ContextViewer.serialVersionUID = 1L
staticprivate

Definition at line 58 of file ContextViewer.java.


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

Copyright © 2012-2022 Basis Technology. Generated on: Tue Jun 27 2023
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.