You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ma...@apache.org on 2012/01/31 15:38:43 UTC

svn commit: r1238621 - in /tika/trunk/tika-parsers/src: main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java test/java/org/apache/tika/detect/TestContainerAwareDetector.java test/resources/test-documents/testDOTM.dotm

Author: maxcom
Date: Tue Jan 31 14:38:43 2012
New Revision: 1238621

URL: http://svn.apache.org/viewvc?rev=1238621&view=rev
Log:
TIKA-854: No text extraction for Word macroenabled template

Added:
    tika/trunk/tika-parsers/src/test/resources/test-documents/testDOTM.dotm   (with props)
Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
    tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java?rev=1238621&r1=1238620&r2=1238621&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/ZipContainerDetector.java Tue Jan 31 14:38:43 2012
@@ -18,6 +18,7 @@ package org.apache.tika.parser.pkg;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.regex.Pattern;
 
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipFile;
@@ -40,6 +41,7 @@ import org.apache.tika.parser.iwork.IWor
  *  to figure out exactly what the file is
  */
 public class ZipContainerDetector implements Detector {
+    private static final Pattern MACRO_TEMPLATE_PATTERN = Pattern.compile("macroenabledtemplate$", Pattern.CASE_INSENSITIVE);
 
     /** Serial version UID */
     private static final long serialVersionUID = 2891763938430295453L;
@@ -163,6 +165,10 @@ public class ZipContainerDetector implem
             docType = docType.toLowerCase() + ".12";
         }
 
+        if(docType.toLowerCase().endsWith("macroenabledtemplate")) {
+            docType = MACRO_TEMPLATE_PATTERN.matcher(docType).replaceAll("macroenabled.12");
+        }
+
         // Build the MediaType object and return
         return MediaType.parse(docType);
     }

Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java?rev=1238621&r1=1238620&r2=1238621&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java Tue Jan 31 14:38:43 2012
@@ -178,7 +178,8 @@ public class TestContainerAwareDetector 
         assertTypeByData("testPPT.pptm", "application/vnd.ms-powerpoint.presentation.macroenabled.12");
         assertTypeByData("testPPT.ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow");
         assertTypeByData("testPPT.ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12");
-        
+        assertTypeByData("testDOTM.dotm", "application/vnd.ms-word.template.macroEnabled.12");
+
         // .xlsb is an OOXML file containing the binary parts, and not
         //  an OLE2 file as you might initially expect!
         assertTypeByData("testEXCEL.xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12");

Added: tika/trunk/tika-parsers/src/test/resources/test-documents/testDOTM.dotm
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/resources/test-documents/testDOTM.dotm?rev=1238621&view=auto
==============================================================================
Binary file - no diff available.

Propchange: tika/trunk/tika-parsers/src/test/resources/test-documents/testDOTM.dotm
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream