You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2014/09/08 19:44:51 UTC
svn commit: r1623448 -
/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
Author: nick
Date: Mon Sep 8 17:44:51 2014
New Revision: 1623448
URL: http://svn.apache.org/r1623448
Log:
If we open a new NPOIFS object from a TikaInputStream, attach the opened container to the stream so it gets auto-closed when parsing is complete TIKA-1410
Modified:
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java?rev=1623448&r1=1623447&r2=1623448&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java Mon Sep 8 17:44:51 2014
@@ -158,10 +158,15 @@ public class OfficeParser extends Abstra
root = ((NPOIFSFileSystem) container).getRoot();
} else if (container instanceof DirectoryNode) {
root = (DirectoryNode) container;
- } else if (tstream.hasFile()) {
- root = new NPOIFSFileSystem(tstream.getFile(), true).getRoot();
} else {
- root = new NPOIFSFileSystem(new CloseShieldInputStream(tstream)).getRoot();
+ NPOIFSFileSystem fs;
+ if (tstream.hasFile()) {
+ fs = new NPOIFSFileSystem(tstream.getFile(), true);
+ } else {
+ fs = new NPOIFSFileSystem(new CloseShieldInputStream(tstream));
+ }
+ tstream.setOpenContainer(fs);
+ root = fs.getRoot();
}
}
parse(root, context, metadata, xhtml);