Rename the outlook extractor to be more consistent with other extractors

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@897249 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2010-01-08 16:18:52 +00:00
parent cefe4e1d28
commit 98cea49eb5
5 changed files with 23 additions and 20 deletions

View File

@ -34,7 +34,7 @@
<changes>
<release version="3.7-SNAPSHOT" date="2010-??-??">
<action dev="POI-DEVELOPERS" type="fix">Add a text extractor to HSMF for simpler extraction of text from .msg files</action>
<action dev="POI-DEVELOPERS" type="fix">Add a text extractor (OutlookTextExtractor) to HSMF for simpler extraction of text from .msg files</action>
<action dev="POI-DEVELOPERS" type="fix">Some improvements to HSMF parsing of .msg files</action>
<action dev="POI-DEVELOPERS" type="fix">Initialise the link type of HSSFHyperLink, so that getType() on it works</action>
<action dev="POI-DEVELOPERS" type="fix">48425 - improved performance of DateUtil.isCellDateFormatted() </action>

View File

@ -31,7 +31,7 @@ import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hdgf.extractor.VisioTextExtractor;
import org.apache.poi.hslf.extractor.PowerPointExtractor;
import org.apache.poi.hsmf.extractor.HSMFTextExtactor;
import org.apache.poi.hsmf.extractor.OutlookTextExtactor;
import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@ -142,7 +142,7 @@ public class ExtractorFactory {
if(entry.getName().equals("__substg1.0_1000001E") ||
entry.getName().equals("__substg1.0_0047001E") ||
entry.getName().equals("__substg1.0_0037001E")) {
return new HSMFTextExtactor(poifsDir, fs);
return new OutlookTextExtactor(poifsDir, fs);
}
}
throw new IllegalArgumentException("No supported documents found in the OLE2 stream");

View File

@ -25,7 +25,7 @@ import org.apache.poi.POITextExtractor;
import org.apache.poi.POIDataSamples;
import org.apache.poi.hdgf.extractor.VisioTextExtractor;
import org.apache.poi.hslf.extractor.PowerPointExtractor;
import org.apache.poi.hsmf.extractor.HSMFTextExtactor;
import org.apache.poi.hsmf.extractor.OutlookTextExtactor;
import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
@ -169,7 +169,7 @@ public class TestExtractorFactory extends TestCase {
// Outlook msg
assertTrue(
ExtractorFactory.createExtractor(msg)
instanceof HSMFTextExtactor
instanceof OutlookTextExtactor
);
assertTrue(
ExtractorFactory.createExtractor(msg).getText().length() > 50
@ -248,7 +248,7 @@ public class TestExtractorFactory extends TestCase {
// Outlook msg
assertTrue(
ExtractorFactory.createExtractor(new FileInputStream(msg))
instanceof HSMFTextExtactor
instanceof OutlookTextExtactor
);
assertTrue(
ExtractorFactory.createExtractor(new FileInputStream(msg)).getText().length() > 50
@ -303,7 +303,7 @@ public class TestExtractorFactory extends TestCase {
// Outlook msg
assertTrue(
ExtractorFactory.createExtractor(new POIFSFileSystem(new FileInputStream(msg)))
instanceof HSMFTextExtactor
instanceof OutlookTextExtactor
);
assertTrue(
ExtractorFactory.createExtractor(new POIFSFileSystem(new FileInputStream(msg))).getText().length() > 50

View File

@ -26,17 +26,21 @@ import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
import org.apache.poi.poifs.filesystem.DirectoryNode;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class HSMFTextExtactor extends POIOLE2TextExtractor {
public HSMFTextExtactor(MAPIMessage msg) {
/**
* A text extractor for HSMF (Outlook) .msg files.
* Outputs in a format somewhat like a plain text email.
*/
public class OutlookTextExtactor extends POIOLE2TextExtractor {
public OutlookTextExtactor(MAPIMessage msg) {
super(msg);
}
public HSMFTextExtactor(DirectoryNode poifsDir, POIFSFileSystem fs) throws IOException {
public OutlookTextExtactor(DirectoryNode poifsDir, POIFSFileSystem fs) throws IOException {
this(new MAPIMessage(poifsDir, fs));
}
public HSMFTextExtactor(POIFSFileSystem fs) throws IOException {
public OutlookTextExtactor(POIFSFileSystem fs) throws IOException {
this(new MAPIMessage(fs));
}
public HSMFTextExtactor(InputStream inp) throws IOException {
public OutlookTextExtactor(InputStream inp) throws IOException {
this(new MAPIMessage(inp));
}
@ -74,5 +78,4 @@ public class HSMFTextExtactor extends POIOLE2TextExtractor {
return s.toString();
}
}

View File

@ -29,10 +29,10 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* Tests to verify that the text extractor works
*/
public final class TestHSMFTextExtractor extends TestCase {
public final class TestOutlookTextExtractor extends TestCase {
private POIDataSamples samples;
public TestHSMFTextExtractor() throws IOException {
public TestOutlookTextExtractor() throws IOException {
samples = POIDataSamples.getHSMFInstance();
}
@ -49,7 +49,7 @@ public final class TestHSMFTextExtractor extends TestCase {
);
MAPIMessage msg = new MAPIMessage(simple);
HSMFTextExtactor ext = new HSMFTextExtactor(msg);
OutlookTextExtactor ext = new OutlookTextExtactor(msg);
String text = ext.getText();
assertContains(text, "From: Kevin Roast\n");
@ -66,7 +66,7 @@ public final class TestHSMFTextExtractor extends TestCase {
new FileInputStream(samples.getFile("simple_test_msg.msg"))
));
HSMFTextExtactor ext = new HSMFTextExtactor(msg);
OutlookTextExtactor ext = new OutlookTextExtactor(msg);
String text = ext.getText();
assertContains(text, "From: Travis Ferguson\n");
@ -79,13 +79,13 @@ public final class TestHSMFTextExtractor extends TestCase {
}
public void testConstructors() throws Exception {
String inp = (new HSMFTextExtactor(new FileInputStream(
String inp = (new OutlookTextExtactor(new FileInputStream(
samples.getFile("simple_test_msg.msg")
)).getText());
String poifs = (new HSMFTextExtactor(new POIFSFileSystem(new FileInputStream(
String poifs = (new OutlookTextExtactor(new POIFSFileSystem(new FileInputStream(
samples.getFile("simple_test_msg.msg")
))).getText());
String mapi = (new HSMFTextExtactor(new MAPIMessage(new FileInputStream(
String mapi = (new OutlookTextExtactor(new MAPIMessage(new FileInputStream(
samples.getFile("simple_test_msg.msg")
))).getText());