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 2015/01/06 02:39:08 UTC
svn commit: r1649710 - in /tika/trunk: CHANGES.txt
tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
Author: tallison
Date: Tue Jan 6 01:39:08 2015
New Revision: 1649710
URL: http://svn.apache.org/r1649710
Log:
TIKA-1506: close PSTFile's file handle after parsing
Modified:
tika/trunk/CHANGES.txt
tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
Modified: tika/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/tika/trunk/CHANGES.txt?rev=1649710&r1=1649709&r2=1649710&view=diff
==============================================================================
--- tika/trunk/CHANGES.txt (original)
+++ tika/trunk/CHANGES.txt Tue Jan 6 01:39:08 2015
@@ -1,4 +1,7 @@
-Release 1.7 - 1/1/2015
+Release 1.7 - 1/5/2015
+
+ * Fixed resource leak in OutlookPSTParser that caused TikaException
+ when invoked via AutoDetectParser on Windows (TIKA-1506).
* HTML tags are properly stripped from content by FeedParser
(TIKA-1500).
Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java?rev=1649710&r1=1649709&r2=1649710&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/mbox/OutlookPSTParser.java Tue Jan 6 01:39:08 2015
@@ -74,8 +74,9 @@ public class OutlookPSTParser extends Ab
xhtml.startDocument();
TikaInputStream in = TikaInputStream.get(stream);
+ PSTFile pstFile = null;
try {
- PSTFile pstFile = new PSTFile(in.getFile().getPath());
+ pstFile = new PSTFile(in.getFile().getPath());
metadata.set(Metadata.CONTENT_LENGTH, valueOf(pstFile.getFileHandle().length()));
boolean isValid = pstFile.getFileHandle().getFD().valid();
metadata.set("isValid", valueOf(isValid));
@@ -84,6 +85,14 @@ public class OutlookPSTParser extends Ab
}
} catch (Exception e) {
throw new TikaException(e.getMessage(), e);
+ } finally {
+ if (pstFile != null && pstFile.getFileHandle() != null) {
+ try{
+ pstFile.getFileHandle().close();
+ } catch (IOException e) {
+ //swallow closing exception
+ }
+ }
}
xhtml.endDocument();
Modified: tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java?rev=1649710&r1=1649709&r2=1649710&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java (original)
+++ tika/trunk/tika-parsers/src/test/java/org/apache/tika/parser/mbox/OutlookPSTParserTest.java Tue Jan 6 01:39:08 2015
@@ -50,7 +50,7 @@ public class OutlookPSTParserTest extend
@Test
public void testParse() throws Exception {
- OutlookPSTParser pstParser = new OutlookPSTParser();
+ Parser pstParser = new AutoDetectParser();
Metadata metadata = new Metadata();
ContentHandler handler = new ToHTMLContentHandler();