Additions to the mboxparser/MboxFileIngestService.java class with some preliminary logic

This commit is contained in:
Alex Ebadirad 2012-06-07 15:34:43 -07:00
parent caa565da66
commit a17fbe6fef

View File

@ -1,6 +1,3 @@
/* /*
* Autopsy Forensic Browser * Autopsy Forensic Browser
* *
@ -20,15 +17,21 @@
* limitations under the License. * limitations under the License.
*/ */
package org.sleuthkit.autopsy.mboxparser; package org.sleuthkit.autopsy.mboxparser;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.apache.tika.exception.TikaException;
import org.sleuthkit.autopsy.ingest.IngestManagerProxy; import org.sleuthkit.autopsy.ingest.IngestManagerProxy;
import org.sleuthkit.autopsy.ingest.IngestMessage; import org.sleuthkit.autopsy.ingest.IngestMessage;
import org.sleuthkit.autopsy.ingest.IngestMessage.MessageType; import org.sleuthkit.autopsy.ingest.IngestMessage.MessageType;
import org.sleuthkit.autopsy.ingest.IngestServiceAbstract.*; import org.sleuthkit.autopsy.ingest.IngestServiceAbstract.*;
import org.sleuthkit.autopsy.ingest.IngestServiceAbstractFile; import org.sleuthkit.autopsy.ingest.IngestServiceAbstractFile;
import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.AbstractFile;
import org.sleuthkit.datamodel.ReadContentInputStream;
import org.sleuthkit.datamodel.TskException;
import org.xml.sax.SAXException;
public class MboxFileIngestService implements IngestServiceAbstractFile { public class MboxFileIngestService implements IngestServiceAbstractFile {
@ -47,16 +50,36 @@ public class MboxFileIngestService implements IngestServiceAbstractFile {
@Override @Override
public ProcessResult process(AbstractFile fsContent) { public ProcessResult process(AbstractFile fsContent) {
managerProxy.postMessage(IngestMessage.createMessage(++messageId, MessageType.INFO, this, "Processing " + fsContent.getName())); managerProxy.postMessage(IngestMessage.createMessage(++messageId, MessageType.INFO, this, "Processing " + fsContent.getName()));
MboxEmailParser mbox = new MboxEmailParser();
boolean isMbox = false;
//service specific AbstractFile processing code here
try { try {
Thread.sleep(100); byte[] t = new byte[(int) 128];
} catch (InterruptedException e) { int byteRead = fsContent.read(t, 0, 128);
isMbox = mbox.detectMediaTypeFromBytes(t, fsContent.getName());
} catch (TskException ex) {
Logger.getLogger(MboxFileIngestService.class.getName()).log(Level.SEVERE, null, ex);
}
if (isMbox) {
try {
ReadContentInputStream contentStream = new ReadContentInputStream(fsContent);
mbox.parse(contentStream);
} catch (FileNotFoundException ex) {
Logger.getLogger(MboxFileIngestService.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(MboxFileIngestService.class.getName()).log(Level.SEVERE, null, ex);
} catch (SAXException ex) {
Logger.getLogger(MboxFileIngestService.class.getName()).log(Level.SEVERE, null, ex);
} catch (TikaException ex) {
Logger.getLogger(MboxFileIngestService.class.getName()).log(Level.SEVERE, null, ex);
}
} }
return ProcessResult.OK ; return ProcessResult.OK ;
} }
@Override @Override
public void complete() { public void complete() {
logger.log(Level.INFO, "complete()"); logger.log(Level.INFO, "complete()");