mirror of
https://github.com/elisspace/autopsy.git
synced 2026-10-02 15:29:54 +00:00
log internal Java and Apache errors as WARNING in Embedded File Extractor
This commit is contained in:
@@ -35,6 +35,7 @@ EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err=Ppt conta
|
||||
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.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.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}
|
||||
|
||||
@@ -25,7 +25,6 @@ import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import org.apache.poi.OldFileFormatException;
|
||||
import org.apache.poi.hslf.model.Picture;
|
||||
import org.apache.poi.hslf.usermodel.PictureData;
|
||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||
@@ -210,13 +209,23 @@ class ImageExtractor {
|
||||
HWPFDocument doc = null;
|
||||
try {
|
||||
doc = new HWPFDocument(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
PicturesTable pictureTable = doc.getPicturesTable();
|
||||
List<org.apache.poi.hwpf.usermodel.Picture> listOfAllPictures = pictureTable.getAllPictures();
|
||||
|
||||
PicturesTable pictureTable = null;
|
||||
List<org.apache.poi.hwpf.usermodel.Picture> listOfAllPictures = null;
|
||||
try {
|
||||
pictureTable = doc.getPicturesTable();
|
||||
listOfAllPictures = pictureTable.getAllPictures();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
String outputFolderPath;
|
||||
if (listOfAllPictures.isEmpty()) {
|
||||
return null;
|
||||
@@ -227,9 +236,17 @@ class ImageExtractor {
|
||||
return null;
|
||||
}
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (org.apache.poi.hwpf.usermodel.Picture picture : listOfAllPictures) {
|
||||
String fileName = picture.suggestFullFileName();
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), picture.getContent());
|
||||
try {
|
||||
data = picture.getContent();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
|
||||
// TODO Extract more info from the Picture viz ctime, crtime, atime, mtime
|
||||
listOfExtractedImages.add(new ExtractedImage(fileName, getFileRelativePath(fileName), picture.getSize(), af));
|
||||
}
|
||||
@@ -250,12 +267,19 @@ class ImageExtractor {
|
||||
XWPFDocument docx = null;
|
||||
try {
|
||||
docx = new XWPFDocument(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
List<XWPFPictureData> listOfAllPictures = docx.getAllPictures();
|
||||
List<XWPFPictureData> listOfAllPictures = null;
|
||||
try {
|
||||
listOfAllPictures = docx.getAllPictures();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
// if no images are extracted from the PPT, return null, else initialize
|
||||
// the output folder for image extraction.
|
||||
@@ -270,9 +294,17 @@ class ImageExtractor {
|
||||
return null;
|
||||
}
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (XWPFPictureData xwpfPicture : listOfAllPictures) {
|
||||
String fileName = xwpfPicture.getFileName();
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), xwpfPicture.getData());
|
||||
try {
|
||||
data = xwpfPicture.getData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
|
||||
listOfExtractedImages.add(new ExtractedImage(fileName, getFileRelativePath(fileName), xwpfPicture.getData().length, af));
|
||||
}
|
||||
return listOfExtractedImages;
|
||||
@@ -291,14 +323,21 @@ class ImageExtractor {
|
||||
SlideShow ppt = null;
|
||||
try {
|
||||
ppt = new SlideShow(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
//extract all pictures contained in the presentation
|
||||
PictureData[] listOfAllPictures = ppt.getPictureData();
|
||||
PictureData[] listOfAllPictures = null;
|
||||
try {
|
||||
listOfAllPictures = ppt.getPictureData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
// if no images are extracted from the PPT, return null, else initialize
|
||||
// the output folder for image extraction.
|
||||
@@ -317,6 +356,7 @@ class ImageExtractor {
|
||||
// extraction path - outputFolder/image_number.ext
|
||||
int i = 0;
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (PictureData pictureData : listOfAllPictures) {
|
||||
|
||||
// Get image extension, generate image name, write image to the module
|
||||
@@ -343,7 +383,14 @@ class ImageExtractor {
|
||||
continue;
|
||||
}
|
||||
String imageName = UNKNOWN_NAME_PREFIX + i + ext; //NON-NLS
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), pictureData.getData());
|
||||
try {
|
||||
data = pictureData.getData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);
|
||||
listOfExtractedImages.add(new ExtractedImage(imageName, getFileRelativePath(imageName), pictureData.getData().length, af));
|
||||
i++;
|
||||
}
|
||||
@@ -363,12 +410,19 @@ class ImageExtractor {
|
||||
XMLSlideShow pptx;
|
||||
try {
|
||||
pptx = new XMLSlideShow(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
List<XSLFPictureData> listOfAllPictures = pptx.getAllPictures();
|
||||
List<XSLFPictureData> listOfAllPictures = null;
|
||||
try {
|
||||
listOfAllPictures = pptx.getAllPictures();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
// if no images are extracted from the PPT, return null, else initialize
|
||||
// the output folder for image extraction.
|
||||
@@ -384,12 +438,20 @@ class ImageExtractor {
|
||||
}
|
||||
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (XSLFPictureData xslsPicture : listOfAllPictures) {
|
||||
|
||||
// get image file name, write it to the module outputFolder, and add
|
||||
// it to the listOfExtractedImageAbstractFiles.
|
||||
String fileName = xslsPicture.getFileName();
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), xslsPicture.getData());
|
||||
try {
|
||||
data = xslsPicture.getData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, fileName).toString(), data);
|
||||
listOfExtractedImages.add(new ExtractedImage(fileName, getFileRelativePath(fileName), xslsPicture.getData().length, af));
|
||||
|
||||
}
|
||||
@@ -412,13 +474,21 @@ class ImageExtractor {
|
||||
Workbook xls;
|
||||
try {
|
||||
xls = new HSSFWorkbook(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()) + af.getName()); //NON-NLS
|
||||
logger.log(Level.WARNING, "{0}{1}", new Object[]{NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err", af.getName()), af.getName()}); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = xls.getAllPictures();
|
||||
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
|
||||
try {
|
||||
listOfAllPictures = xls.getAllPictures();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
// if no images are extracted from the PPT, return null, else initialize
|
||||
// the output folder for image extraction.
|
||||
String outputFolderPath;
|
||||
@@ -434,9 +504,17 @@ class ImageExtractor {
|
||||
|
||||
int i = 0;
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) {
|
||||
String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension(); //NON-NLS
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), pictureData.getData());
|
||||
try {
|
||||
data = pictureData.getData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);
|
||||
listOfExtractedImages.add(new ExtractedImage(imageName, getFileRelativePath(imageName), pictureData.getData().length, af));
|
||||
i++;
|
||||
}
|
||||
@@ -457,13 +535,21 @@ class ImageExtractor {
|
||||
Workbook xlsx;
|
||||
try {
|
||||
xlsx = new XSSFWorkbook(new ReadContentInputStream(af));
|
||||
} catch (Throwable ex) {
|
||||
} catch (Throwable ignore) {
|
||||
// instantiating POI containers throw RuntimeExceptions
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = xlsx.getAllPictures();
|
||||
List<? extends org.apache.poi.ss.usermodel.PictureData> listOfAllPictures = null;
|
||||
try {
|
||||
listOfAllPictures = xlsx.getAllPictures();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
|
||||
// if no images are extracted from the PPT, return null, else initialize
|
||||
// the output folder for image extraction.
|
||||
String outputFolderPath;
|
||||
@@ -479,9 +565,17 @@ class ImageExtractor {
|
||||
|
||||
int i = 0;
|
||||
listOfExtractedImages = new ArrayList<>();
|
||||
byte[] data = null;
|
||||
for (org.apache.poi.ss.usermodel.PictureData pictureData : listOfAllPictures) {
|
||||
String imageName = UNKNOWN_NAME_PREFIX + i + "." + pictureData.suggestFileExtension();
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), pictureData.getData());
|
||||
try {
|
||||
data = pictureData.getData();
|
||||
} catch (Exception ignore) {
|
||||
// log internal Java and Apache errors as WARNING
|
||||
logger.log(Level.WARNING, NbBundle.getMessage(this.getClass(), "EmbeddedFileExtractorIngestModule.ImageExtractor.processing.err", af.getName())); //NON-NLS
|
||||
return null;
|
||||
}
|
||||
writeExtractedImage(Paths.get(outputFolderPath, imageName).toString(), data);
|
||||
listOfExtractedImages.add(new ExtractedImage(imageName, getFileRelativePath(imageName), pictureData.getData().length, af));
|
||||
i++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user