Author: tpalsulich
Date: Sat Mar 14 22:00:41 2015
New Revision: 1666756
URL: http://svn.apache.org/r1666756
Log:
TIKA-1117. Don't let iWorkPackageParser close the given InputStream.
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java?rev=1666756&r1=1666755&r2=1666756&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
(original)
+++
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java
Sat Mar 14 22:00:41 2015
@@ -216,7 +216,7 @@ public class IWorkPackageParser extends
entry = zip.getNextZipEntry();
}
- zip.close();
+ // Don't close the zip InputStream (TIKA-1117).
}
}
Modified:
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
URL:
http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java?rev=1666756&r1=1666755&r2=1666756&view=diff
==============================================================================
---
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
(original)
+++
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
Sat Mar 14 22:00:41 2015
@@ -49,6 +49,20 @@ public class IWorkParserTest {
parseContext.set(Parser.class, new AutoDetectParser());
}
+ /**
+ * Check the given InputStream is not closed by the Parser (TIKA-1117).
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testStreamNotClosed() throws Exception {
+ InputStream input =
IWorkParserTest.class.getResourceAsStream("/test-documents/testKeynote.key");
+ Metadata metadata = new Metadata();
+ ContentHandler handler = new BodyContentHandler();
+ iWorkParser.parse(input, handler, metadata, parseContext);
+ input.read(); // Will throw an Exception if the stream was already
closed.
+ }
+
@Test
public void testParseKeynote() throws Exception {
InputStream input =
IWorkParserTest.class.getResourceAsStream("/test-documents/testKeynote.key");