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

Inherits org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.


class  NextFindActionListener
class  NextPageActionListener
class  PrevFindActionListener
class  PrevPageActionListener
class  SolrIsFullyIndexedCache
class  SourceChangeActionListener

Public Member Functions

 ExtractedTextViewer ()
TextViewer createInstance ()
synchronized Component getComponent ()
String getTitle ()
String getToolTip ()
int isPreferred (Node node)
boolean isSupported (Node node)
void resetComponent ()
void setNode (Node selectedNode)
void setNode (final Node node)

Private Member Functions

boolean ableToExtractTextFromFile (AbstractFile file)
ExtractedText getRawArtifactText (BlackboardArtifact artifact) throws TskCoreException, NoCurrentCaseException
void nextPage ()
void previousPage ()
void scrollToCurrentHit ()
void setPanel (String contentName, List< ExtractedText > sources)
boolean solrHasFullyIndexedContent (Long objectId)

Static Private Member Functions

static ExtractedText getAccountsText (Content content, Lookup nodeLookup) throws TskCoreException

Private Attributes

volatile Node currentNode = null
ExtractedText currentSource = null
FileTypeDetector fileTypeDetector = null
ExtractedContentPanel panel
SolrIsFullyIndexedCache solrCache = null

Static Private Attributes

static final Logger logger = Logger.getLogger(ExtractedTextViewer.class.getName())
static final BlackboardAttribute.Type TSK_ACCOUNT_TYPE = new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE)
static final BlackboardAttribute.Type TSK_ASSOCIATED_ARTIFACT_TYPE = new BlackboardAttribute.Type(TSK_ASSOCIATED_ARTIFACT)

Detailed Description

A text viewer that displays the indexed text associated with a file or an artifact, possibly marked up with HTML to highlight keyword hits.

Definition at line 63 of file

Constructor & Destructor Documentation

org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.ExtractedTextViewer ( )

Constructs a text viewer that displays the indexed text associated with a file or an artifact, possibly marked up with HTML to highlight keyword hits. If text for the Content has not been fully indexed by Solr then attempt to extract text using one of text extractors.

Definition at line 84 of file

References org.sleuthkit.autopsy.casemodule.Case.addEventTypeSubscriber(), org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.SolrIsFullyIndexedCache.clearCache(), and org.sleuthkit.autopsy.casemodule.Case.Events.CURRENT_CASE.

Member Function Documentation

boolean org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.ableToExtractTextFromFile ( AbstractFile  file)

Check if we can extract text for this file type using one of our text extractors. NOTE: the logic in this method should be similar and based on the logic of how KeywordSearchIngestModule decides which files to index.

fileAbstract File
true if text can be extracted from file, else false

Definition at line 494 of file

References org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector.getMIMEType().

TextViewer org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.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 TextViewer. This method is used to get an instance of your specific type.

A new instance of the viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 314 of file

static ExtractedText org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.getAccountsText ( Content  content,
Lookup  nodeLookup 
) throws TskCoreException

Definition at line 281 of file

synchronized Component org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.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.

the component which is displayed for this viewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 319 of file

ExtractedText org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.getRawArtifactText ( BlackboardArtifact  artifact) throws TskCoreException, NoCurrentCaseException
String org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.getTitle ( )

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

the title of TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 304 of file

String org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.getToolTip ( )

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

the tooltip for this TextViewer

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 309 of file

int org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.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 6 - 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 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.

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

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 430 of file

boolean org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.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.

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

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 340 of file

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.nextPage ( )

Definition at line 634 of file

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.previousPage ( )

Definition at line 667 of file

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.resetComponent ( )

Resets the contents of the viewer / component.

Implements org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.

Definition at line 332 of file

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.scrollToCurrentHit ( )

Definition at line 294 of file

void org.sleuthkit.autopsy.corecomponentinterfaces.TextViewer.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.

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

Implemented in org.sleuthkit.autopsy.contentviewers.textcontentviewer.StringsTextViewer.

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.setNode ( final Node  node)

Sets the node displayed by the text viewer.

nodeThe node to display

Pull the search results, file, artifact and report objects (if any) from the lookup.

Definition at line 104 of file

void org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.setPanel ( String  contentName,
List< ExtractedText >  sources 

Set the MarkupSources for the panel to display (safe to call even if the panel hasn't been created yet)

contentNameThe name of the content to be displayed
sourcesA list of ExtractedText that have different 'views' of the content.

Definition at line 442 of file

boolean org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.solrHasFullyIndexedContent ( Long  objectId)

Check if Solr has indexed ALL of the content for a given node. Note that in some situations Solr only indexes parts of a file. This happens when an in-line KWS finds a KW hit in the file - only the chunks with the KW hit (+/- 1 chunk) get indexed by Solr. That is not enough for the purposes of this text viewer as we need to display all of the text in the file.

true if Solr has content, else false

Definition at line 460 of file

References org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.SolrIsFullyIndexedCache.containsKey(), org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.SolrIsFullyIndexedCache.getCombination(), org.sleuthkit.autopsy.keywordsearch.KeywordSearch.getServer(), org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.SolrIsFullyIndexedCache.putCombination(), and org.sleuthkit.autopsy.keywordsearch.Server.queryIsFullyIndexed().

Member Data Documentation

volatile Node org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.currentNode = null

Definition at line 71 of file

ExtractedText org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.currentSource = null

Definition at line 72 of file

FileTypeDetector org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.fileTypeDetector = null

Definition at line 73 of file

final Logger org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.logger = Logger.getLogger(ExtractedTextViewer.class.getName())

Definition at line 65 of file

ExtractedContentPanel org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.panel

Definition at line 70 of file

SolrIsFullyIndexedCache org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.solrCache = null

Definition at line 76 of file

final BlackboardAttribute.Type org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.TSK_ACCOUNT_TYPE = new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ACCOUNT_TYPE)

Definition at line 68 of file

final BlackboardAttribute.Type org.sleuthkit.autopsy.keywordsearch.ExtractedTextViewer.TSK_ASSOCIATED_ARTIFACT_TYPE = new BlackboardAttribute.Type(TSK_ASSOCIATED_ARTIFACT)

Definition at line 67 of file

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

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