]> source.dussan.org Git - poi.git/commitdiff
move string literals out to array that can be for-looped over
authorJaven O'Neal <onealj@apache.org>
Sun, 10 Jul 2016 01:29:30 +0000 (01:29 +0000)
committerJaven O'Neal <onealj@apache.org>
Sun, 10 Jul 2016 01:29:30 +0000 (01:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1752053 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java

index a57b57a7c14337e45e53679e06607a89b0ba3258..ce9c819faee208b60a5e147eef3f8c4aff1d3fa0 100644 (file)
@@ -327,19 +327,24 @@ public class ExtractorFactory {
             return new PublisherTextExtractor(poifsDir);
         }
 
-        if (poifsDir.hasEntry("__substg1.0_1000001E") || poifsDir.hasEntry("__substg1.0_1000001F")
-                || poifsDir.hasEntry("__substg1.0_0047001E")
-                || poifsDir.hasEntry("__substg1.0_0047001F")
-                || poifsDir.hasEntry("__substg1.0_0037001E")
-                || poifsDir.hasEntry("__substg1.0_0037001F"))
-        {
-            return new OutlookTextExtactor(poifsDir);
+        final String[] outlookEntryNames = new String[] {
+                // message bodies, saved as plain text (PtypString)
+                // https://msdn.microsoft.com/en-us/library/cc433490(v=exchg.80).aspx 
+                "__substg1.0_1000001E", //PidTagBody
+                "__substg1.0_1000001F", //PidTagBody
+                "__substg1.0_0047001E", //PidTagMessageSubmissionId
+                "__substg1.0_0047001F", //PidTagMessageSubmissionId
+                "__substg1.0_0037001E", //PidTagSubject
+                "__substg1.0_0037001F", //PidTagSubject
+        };
+        for (String entryName : outlookEntryNames) {
+            if (poifsDir.hasEntry(entryName)) {
+                return new OutlookTextExtactor(poifsDir);
+            }
         }
 
-        for (Iterator<Entry> entries = poifsDir.getEntries(); entries.hasNext();) {
-            Entry entry = entries.next();
-
-            if (entry.getName().equals("Package")) {
+        for (String entryName : poifsDir.getEntryNames()) {
+            if (entryName.equals("Package")) {
                 OPCPackage pkg = OPCPackage.open(poifsDir.createDocumentInputStream("Package"));
                 return createExtractor(pkg);
             }