You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2016/12/20 18:27:25 UTC

tika git commit: TIKA-2221 -- correctly catch and convert encrypted document exception to EncryptedDocumentException in WordParser via Matthew Caruana Galizia

Repository: tika
Updated Branches:
  refs/heads/master 376318fc1 -> c62410443


TIKA-2221 -- correctly catch and convert encrypted document exception to EncryptedDocumentException in WordParser via Matthew Caruana Galizia


Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/c6241044
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/c6241044
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/c6241044

Branch: refs/heads/master
Commit: c62410443ca88f8118f50e6ee521a13a22f64729
Parents: 376318f
Author: tballison <ta...@mitre.org>
Authored: Tue Dec 20 13:27:18 2016 -0500
Committer: tballison <ta...@mitre.org>
Committed: Tue Dec 20 13:27:18 2016 -0500

----------------------------------------------------------------------
 .../org/apache/tika/parser/microsoft/WordExtractor.java  |  3 +++
 .../org/apache/tika/parser/microsoft/WordParserTest.java | 11 +++++++++++
 2 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tika/blob/c6241044/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
index 6fd8f8e..8096d8c 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java
@@ -50,6 +50,7 @@ import org.apache.poi.poifs.filesystem.DirectoryEntry;
 import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
+import org.apache.tika.exception.EncryptedDocumentException;
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
@@ -151,6 +152,8 @@ public class WordExtractor extends AbstractPOIFSExtractor {
         HWPFDocument document;
         try {
             document = new HWPFDocument(root);
+        } catch (org.apache.poi.EncryptedDocumentException e) {
+                throw new EncryptedDocumentException(e);
         } catch (OldWordFileFormatException e) {
             parseWord6(root, xhtml);
             return;

http://git-wip-us.apache.org/repos/asf/tika/blob/c6241044/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
----------------------------------------------------------------------
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
index 9660363..abb15c7 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/microsoft/WordParserTest.java
@@ -19,6 +19,7 @@ package org.apache.tika.parser.microsoft;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.InputStream;
 import java.util.Arrays;
@@ -554,5 +555,15 @@ public class WordParserTest extends TikaTest {
         //moveFrom is deleted in .doc files
         assertContainsCount("Second paragraph", r.xml, 2);
     }
+
+    @Test
+    public void testProtected() throws Exception {
+        try {
+            getXML("testWORD_protected_passtika.doc");
+            fail("should have thrown encrypted document exception");
+        } catch (org.apache.tika.exception.EncryptedDocumentException e) {
+
+        }
+    }
 }