Merge branch 'develop' into TL-logarithmic-axis-label

This commit is contained in:
jmillman 2016-05-05 11:45:40 -04:00
commit 95c2b470ef
3 changed files with 62 additions and 52 deletions

View File

@ -18,11 +18,9 @@
*/ */
package org.sleuthkit.autopsy.directorytree; package org.sleuthkit.autopsy.directorytree;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.actions.AddContentTagAction;
import java.awt.Toolkit;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Font; import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
@ -37,6 +35,8 @@ import javax.swing.JFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.actions.AddContentTagAction;
import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint;
import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
@ -112,6 +112,9 @@ public class ExplorerNodeActionVisitor extends ContentVisitor.Default<List<? ext
@Override @Override
public List<? extends Action> visit(final VirtualDirectory d) { public List<? extends Action> visit(final VirtualDirectory d) {
List<Action> actions = new ArrayList<>(); List<Action> actions = new ArrayList<>();
if (!d.isDataSource()) {
actions.add(AddContentTagAction.getInstance());
}
actions.add(ExtractAction.getInstance()); actions.add(ExtractAction.getInstance());
actions.addAll(ContextMenuExtensionPoint.getActions()); actions.addAll(ContextMenuExtensionPoint.getActions());
return actions; return actions;

View File

@ -150,7 +150,7 @@ class ImageExtractor {
} }
} }
} catch (TskCoreException e) { } catch (TskCoreException e) {
logger.log(Level.INFO, "Error checking if file already has been processed, skipping: {0}", parentFileName); //NON-NLS logger.log(Level.WARNING, String.format("Error checking if file already has been processed, skipping: %s", parentFileName), e); //NON-NLS
return; return;
} }
switch (abstractFileExtractionFormat) { switch (abstractFileExtractionFormat) {
@ -209,9 +209,9 @@ class ImageExtractor {
HWPFDocument doc = null; HWPFDocument doc = null;
try { try {
doc = new HWPFDocument(new ReadContentInputStream(af)); doc = new HWPFDocument(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -220,9 +220,9 @@ class ImageExtractor {
try { try {
pictureTable = doc.getPicturesTable(); pictureTable = doc.getPicturesTable();
listOfAllPictures = pictureTable.getAllPictures(); listOfAllPictures = pictureTable.getAllPictures();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -241,9 +241,9 @@ class ImageExtractor {
String fileName = picture.suggestFullFileName(); String fileName = picture.suggestFullFileName();
try { try {
data = picture.getContent(); data = picture.getContent();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
@ -267,17 +267,17 @@ class ImageExtractor {
XWPFDocument docx = null; XWPFDocument docx = null;
try { try {
docx = new XWPFDocument(new ReadContentInputStream(af)); docx = new XWPFDocument(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
List<XWPFPictureData> listOfAllPictures = null; List<XWPFPictureData> listOfAllPictures = null;
try { try {
listOfAllPictures = docx.getAllPictures(); listOfAllPictures = docx.getAllPictures();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -299,9 +299,9 @@ class ImageExtractor {
String fileName = xwpfPicture.getFileName(); String fileName = xwpfPicture.getFileName();
try { try {
data = xwpfPicture.getData(); data = xwpfPicture.getData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
@ -323,9 +323,9 @@ class ImageExtractor {
SlideShow ppt = null; SlideShow ppt = null;
try { try {
ppt = new SlideShow(new ReadContentInputStream(af)); ppt = new SlideShow(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -333,9 +333,9 @@ class ImageExtractor {
PictureData[] listOfAllPictures = null; PictureData[] listOfAllPictures = null;
try { try {
listOfAllPictures = ppt.getPictureData(); listOfAllPictures = ppt.getPictureData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -385,9 +385,9 @@ class ImageExtractor {
String imageName = UNKNOWN_NAME_PREFIX + i + ext; //NON-NLS String imageName = UNKNOWN_NAME_PREFIX + i + ext; //NON-NLS
try { try {
data = pictureData.getData(); data = pictureData.getData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);
@ -410,17 +410,17 @@ class ImageExtractor {
XMLSlideShow pptx; XMLSlideShow pptx;
try { try {
pptx = new XMLSlideShow(new ReadContentInputStream(af)); pptx = new XMLSlideShow(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
List<XSLFPictureData> listOfAllPictures = null; List<XSLFPictureData> listOfAllPictures = null;
try { try {
listOfAllPictures = pptx.getAllPictures(); listOfAllPictures = pptx.getAllPictures();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -446,9 +446,9 @@ class ImageExtractor {
String fileName = xslsPicture.getFileName(); String fileName = xslsPicture.getFileName();
try { try {
data = xslsPicture.getData(); data = xslsPicture.getData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
@ -474,18 +474,18 @@ class ImageExtractor {
Workbook xls; Workbook xls;
try { try {
xls = new HSSFWorkbook(new ReadContentInputStream(af)); xls = new HSSFWorkbook(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, "{0}{1}", new Object[]{NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()), af.getName()}); //NON-NLS logger.log(Level.WARNING, String.format("%s%s", NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()), af.getName()), ex); //NON-NLS
return null; return null;
} }
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null; List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
try { try {
listOfAllPictures = xls.getAllPictures(); listOfAllPictures = xls.getAllPictures();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -509,9 +509,9 @@ class ImageExtractor {
String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension(); //NON-NLS String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension(); //NON-NLS
try { try {
data = pictureData.getData(); data = pictureData.getData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);
@ -535,18 +535,18 @@ class ImageExtractor {
Workbook xlsx; Workbook xlsx;
try { try {
xlsx = new XSSFWorkbook(new ReadContentInputStream(af)); xlsx = new XSSFWorkbook(new ReadContentInputStream(af));
} catch (Throwable ignore) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null; List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
try { try {
listOfAllPictures = xlsx.getAllPictures(); listOfAllPictures = xlsx.getAllPictures();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -570,9 +570,9 @@ class ImageExtractor {
String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension(); String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension();
try { try {
data = pictureData.getData(); data = pictureData.getData();
} catch (Exception ignore) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING // log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data); writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);

View File

@ -210,16 +210,23 @@ class TermComponentQuery implements KeywordSearchQuery {
@Override @Override
public QueryResults performQuery() throws NoOpenCoreException { public QueryResults performQuery() throws NoOpenCoreException {
/*
* Execute the regex query to get a list of terms that match the regex.
* Note that the field that is being searched is tokenized based on
* whitespace.
*/
final SolrQuery q = createQuery(); final SolrQuery q = createQuery();
q.setShowDebugInfo(DEBUG); q.setShowDebugInfo(DEBUG);
q.setTermsLimit(MAX_TERMS_RESULTS); q.setTermsLimit(MAX_TERMS_RESULTS);
logger.log(Level.INFO, "Query: {0}", q.toString()); //NON-NLS logger.log(Level.INFO, "Query: {0}", q.toString()); //NON-NLS
terms = executeQuery(q); terms = executeQuery(q);
/*
* For each term that matched the regex, query for the term to get the
* full set of document hits.
*/
QueryResults results = new QueryResults(this, keywordList); QueryResults results = new QueryResults(this, keywordList);
int resultSize = 0; int resultSize = 0;
for (Term term : terms) { for (Term term : terms) {
final String termStr = KeywordSearchUtil.escapeLuceneQuery(term.getTerm()); final String termStr = KeywordSearchUtil.escapeLuceneQuery(term.getTerm());