Merge pull request #2705 from dgrove727/2446_ImageExtractorExceptionHandling

New catch blocks added to silently catch/return on errors.
This commit is contained in:
Richard Cordovano 2017-04-25 11:04:13 -04:00 committed by GitHub
commit 2fe53c33c7
2 changed files with 92 additions and 108 deletions

View File

@ -31,7 +31,6 @@ EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err=Ppt conta
EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err=Pptx container could not be initialized while reading: {0} EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err=Pptx container could not be initialized while reading: {0}
EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err=Xls container could not be initialized while reading: {0} EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err=Xls container could not be initialized while reading: {0}
EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err=Xlsx container could not be initialized while reading: {0} EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err=Xlsx container could not be initialized while reading: {0}
EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err=Embedded File Extractor is unable to read content of {0}
EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=Unable to add the derived files to the database. EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=Unable to add the derived files to the database.
EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=Could not get path for image extraction from Abstract File\: {0} EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=Could not get path for image extraction from Abstract File\: {0}
EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=Could not get path for image extraction from Abstract File: {0} EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=Could not get path for image extraction from Abstract File: {0}

View File

@ -1,7 +1,7 @@
/* /*
* Autopsy Forensic Browser * Autopsy Forensic Browser
* *
* Copyright 2011-2015 Basis Technology Corp. * Copyright 2011-2017 Basis Technology Corp.
* Contact: carrier <at> sleuthkit <dot> org * Contact: carrier <at> sleuthkit <dot> org
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
@ -25,6 +25,8 @@ import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import org.apache.poi.OldFileFormatException;
import org.apache.poi.POIXMLException;
import org.apache.poi.hslf.model.Picture; import org.apache.poi.hslf.model.Picture;
import org.apache.poi.hslf.usermodel.PictureData; import org.apache.poi.hslf.usermodel.PictureData;
import org.apache.poi.hslf.usermodel.SlideShow; import org.apache.poi.hslf.usermodel.SlideShow;
@ -120,7 +122,7 @@ class ImageExtractor {
} }
return false; return false;
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
logger.log(Level.WARNING, "Error executing FileTypeDetector.getFileType()", ex); // NON-NLS logger.log(Level.SEVERE, "Error executing FileTypeDetector.getFileType()", ex); // NON-NLS
return false; return false;
} }
} }
@ -152,7 +154,7 @@ class ImageExtractor {
} }
} }
} catch (TskCoreException e) { } catch (TskCoreException e) {
logger.log(Level.WARNING, String.format("Error checking if file already has been processed, skipping: %s", parentFileName), e); //NON-NLS logger.log(Level.SEVERE, String.format("Error checking if file already has been processed, skipping: %s", parentFileName), e); //NON-NLS
return; return;
} }
switch (abstractFileExtractionFormat) { switch (abstractFileExtractionFormat) {
@ -189,7 +191,7 @@ class ImageExtractor {
extractedImage.getCtime(), extractedImage.getCrtime(), extractedImage.getAtime(), extractedImage.getAtime(), extractedImage.getCtime(), extractedImage.getCrtime(), extractedImage.getAtime(), extractedImage.getAtime(),
true, abstractFile, null, EmbeddedFileExtractorModuleFactory.getModuleName(), null, null, TskData.EncodingType.XOR1)); true, abstractFile, null, EmbeddedFileExtractorModuleFactory.getModuleName(), null, null, TskData.EncodingType.XOR1));
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg"), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg"), ex); //NON-NLS
} }
} }
if (!listOfExtractedImages.isEmpty()) { if (!listOfExtractedImages.isEmpty()) {
@ -207,24 +209,24 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromDoc(AbstractFile af) { private List<ExtractedImage> extractImagesFromDoc(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; List<org.apache.poi.hwpf.usermodel.Picture> listOfAllPictures;
HWPFDocument doc = null;
try { try {
doc = new HWPFDocument(new ReadContentInputStream(af)); HWPFDocument doc = new HWPFDocument(new ReadContentInputStream(af));
PicturesTable pictureTable = doc.getPicturesTable();
listOfAllPictures = pictureTable.getAllPictures();
} catch (OldFileFormatException | IOException ex) {
// OldFileFormatException:
// Thrown when the document version is unsupported (Word 95 and
// older)
// IOException:
// Thrown when the document has issues being read.
return null;
} catch (Throwable ex) { } 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()), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err", af.getName()), ex); //NON-NLS
return null;
}
PicturesTable pictureTable = null;
List<org.apache.poi.hwpf.usermodel.Picture> listOfAllPictures = null;
try {
pictureTable = doc.getPicturesTable();
listOfAllPictures = pictureTable.getAllPictures();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -237,15 +239,13 @@ class ImageExtractor {
if (outputFolderPath == null) { if (outputFolderPath == null) {
return null; return null;
} }
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (org.apache.poi.hwpf.usermodel.Picture picture : listOfAllPictures) { for (org.apache.poi.hwpf.usermodel.Picture picture : listOfAllPictures) {
String fileName = picture.suggestFullFileName(); String fileName = picture.suggestFullFileName();
try { try {
data = picture.getContent(); data = picture.getContent();
} catch (Exception ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);
@ -265,21 +265,22 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromDocx(AbstractFile af) { private List<ExtractedImage> extractImagesFromDocx(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; List<XWPFPictureData> listOfAllPictures = null;
XWPFDocument docx = null;
try { try {
docx = new XWPFDocument(new ReadContentInputStream(af)); XWPFDocument docx = new XWPFDocument(new ReadContentInputStream(af));
listOfAllPictures = docx.getAllPictures();
} catch (POIXMLException | IOException ex) {
// POIXMLException:
// Thrown when document fails to load
// IOException:
// Thrown when the document has issues being read.
return null;
} catch (Throwable ex) { } 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()), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err", af.getName()), ex); //NON-NLS
return null;
}
List<XWPFPictureData> listOfAllPictures = null;
try {
listOfAllPictures = docx.getAllPictures();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -292,18 +293,15 @@ class ImageExtractor {
outputFolderPath = getOutputFolderPath(this.parentFileName); outputFolderPath = getOutputFolderPath(this.parentFileName);
} }
if (outputFolderPath == null) { if (outputFolderPath == null) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImageFrom.outputPath.exception.msg", af.getName())); //NON-NLS
return null; return null;
} }
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (XWPFPictureData xwpfPicture : listOfAllPictures) { for (XWPFPictureData xwpfPicture : listOfAllPictures) {
String fileName = xwpfPicture.getFileName(); String fileName = xwpfPicture.getFileName();
try { try {
data = xwpfPicture.getData(); data = xwpfPicture.getData();
} catch (Exception ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);
@ -321,23 +319,22 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromPpt(AbstractFile af) { private List<ExtractedImage> extractImagesFromPpt(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; PictureData[] listOfAllPictures = null;
SlideShow ppt = null;
try { try {
ppt = new SlideShow(new ReadContentInputStream(af)); SlideShow ppt = new SlideShow(new ReadContentInputStream(af));
listOfAllPictures = ppt.getPictureData();
} catch (OldFileFormatException | IOException ex) {
// OldFileFormatException:
// Thrown when the document version is unsupported
// IOException:
// Thrown when the document has issues being read
return null;
} catch (Throwable ex) { } 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()), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err", af.getName()), ex); //NON-NLS
return null;
}
//extract all pictures contained in the presentation
PictureData[] listOfAllPictures = null;
try {
listOfAllPictures = ppt.getPictureData();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -350,14 +347,13 @@ class ImageExtractor {
outputFolderPath = getOutputFolderPath(this.parentFileName); outputFolderPath = getOutputFolderPath(this.parentFileName);
} }
if (outputFolderPath == null) { if (outputFolderPath == null) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImageFrom.outputPath.exception.msg", af.getName())); //NON-NLS
return null; return null;
} }
// extract the images to the above initialized outputFolder. // extract the images to the above initialized outputFolder.
// extraction path - outputFolder/image_number.ext // extraction path - outputFolder/image_number.ext
int i = 0; int i = 0;
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (PictureData pictureData : listOfAllPictures) { for (PictureData pictureData : listOfAllPictures) {
@ -388,8 +384,6 @@ class ImageExtractor {
try { try {
data = pictureData.getData(); data = pictureData.getData();
} catch (Exception ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);
@ -408,21 +402,22 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromPptx(AbstractFile af) { private List<ExtractedImage> extractImagesFromPptx(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; List<XSLFPictureData> listOfAllPictures = null;
XMLSlideShow pptx;
try { try {
pptx = new XMLSlideShow(new ReadContentInputStream(af)); XMLSlideShow pptx = new XMLSlideShow(new ReadContentInputStream(af));
listOfAllPictures = pptx.getAllPictures();
} catch (POIXMLException | IOException ex) {
// POIXMLException:
// Thrown when document fails to load.
// IOException:
// Thrown when the document has issues being read
return null;
} catch (Throwable ex) { } 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()), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err", af.getName()), ex); //NON-NLS
return null;
}
List<XSLFPictureData> listOfAllPictures = null;
try {
listOfAllPictures = pptx.getAllPictures();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -435,11 +430,10 @@ class ImageExtractor {
outputFolderPath = getOutputFolderPath(this.parentFileName); outputFolderPath = getOutputFolderPath(this.parentFileName);
} }
if (outputFolderPath == null) { if (outputFolderPath == null) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImageFrom.outputPath.exception.msg", af.getName())); //NON-NLS
return null; return null;
} }
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (XSLFPictureData xslsPicture : listOfAllPictures) { for (XSLFPictureData xslsPicture : listOfAllPictures) {
@ -449,8 +443,6 @@ class ImageExtractor {
try { try {
data = xslsPicture.getData(); data = xslsPicture.getData();
} catch (Exception ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);
@ -471,23 +463,22 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromXls(AbstractFile af) { private List<ExtractedImage> extractImagesFromXls(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
Workbook xls;
try { try {
xls = new HSSFWorkbook(new ReadContentInputStream(af)); Workbook xls = new HSSFWorkbook(new ReadContentInputStream(af));
listOfAllPictures = xls.getAllPictures();
} catch (OldFileFormatException | IOException ex) {
// OldFileFormatException:
// Thrown when the document version is unsupported
// IOException:
// Thrown when the document has issues being read
return null;
} catch (Throwable ex) { } catch (Throwable ex) {
// instantiating POI containers throw RuntimeExceptions // instantiating POI containers throw RuntimeExceptions
logger.log(Level.WARNING, String.format("%s%s", NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()), af.getName()), ex); //NON-NLS logger.log(Level.SEVERE, String.format("%s%s", NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()), af.getName()), ex); //NON-NLS
return null;
}
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
try {
listOfAllPictures = xls.getAllPictures();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -500,20 +491,17 @@ class ImageExtractor {
outputFolderPath = getOutputFolderPath(this.parentFileName); outputFolderPath = getOutputFolderPath(this.parentFileName);
} }
if (outputFolderPath == null) { if (outputFolderPath == null) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImageFrom.outputPath.exception.msg", af.getName())); //NON-NLS
return null; return null;
} }
int i = 0; int i = 0;
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) { for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) {
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 ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);
@ -533,22 +521,22 @@ class ImageExtractor {
* extracted. * extracted.
*/ */
private List<ExtractedImage> extractImagesFromXlsx(AbstractFile af) { private List<ExtractedImage> extractImagesFromXlsx(AbstractFile af) {
List<ExtractedImage> listOfExtractedImages; List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
Workbook xlsx;
try { try {
xlsx = new XSSFWorkbook(new ReadContentInputStream(af)); Workbook xlsx = new XSSFWorkbook(new ReadContentInputStream(af));
listOfAllPictures = xlsx.getAllPictures();
} catch (POIXMLException | IOException ex) {
// POIXMLException:
// Thrown when document fails to load.
// IOException:
// Thrown when the document has issues being read
return null;
} catch (Throwable ex) { } 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()), ex); //NON-NLS logger.log(Level.SEVERE, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err", af.getName()), ex); //NON-NLS
return null;
}
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
try {
listOfAllPictures = xlsx.getAllPictures();
} catch (Exception ex) {
// log internal Java and Apache errors as WARNING
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName()), ex); //NON-NLS
return null; return null;
} }
@ -561,20 +549,17 @@ class ImageExtractor {
outputFolderPath = getOutputFolderPath(this.parentFileName); outputFolderPath = getOutputFolderPath(this.parentFileName);
} }
if (outputFolderPath == null) { if (outputFolderPath == null) {
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.extractImageFrom.outputPath.exception.msg", af.getName())); //NON-NLS
return null; return null;
} }
int i = 0; int i = 0;
listOfExtractedImages = new ArrayList<>(); List<ExtractedImage> listOfExtractedImages = new ArrayList<>();
byte[] data = null; byte[] data = null;
for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) { for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) {
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 ex) { } catch (Exception ex) {
// log internal Java and Apache errors as WARNING
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);