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