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);