Repository: tika
Updated Branches:
  refs/heads/master 73aaa1bce -> 1924c3f3f


resource leaks discovered while working on 2.x (TIKA-1855).


Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/6a8bb0df
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/6a8bb0df
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/6a8bb0df

Branch: refs/heads/master
Commit: 6a8bb0dfda6831a96822257ccfdedfecb458f393
Parents: bf2d405
Author: tballison <[email protected]>
Authored: Mon Mar 21 21:26:30 2016 -0400
Committer: tballison <[email protected]>
Committed: Mon Mar 21 21:26:30 2016 -0400

----------------------------------------------------------------------
 .../apache/tika/parser/isatab/ISArchiveParser.java  |  8 ++++----
 .../org/apache/tika/parser/netcdf/NetCDFParser.java | 16 +++++++++-------
 2 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tika/blob/6a8bb0df/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java 
b/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java
index 4398999..256c189 100644
--- 
a/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java
+++ 
b/tika-parsers/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java
@@ -111,10 +111,9 @@ public class ISArchiveParser implements Parser {
                }
                
                String investigation = investigationList[0]; // TODO add to 
metadata?
-               InputStream stream = TikaInputStream.get(new File(this.location 
+ investigation));
-               
-               ISATabUtils.parseInvestigation(stream, xhtml, metadata, 
context, this.studyFileName);
-               
+               try (InputStream stream = TikaInputStream.get(new 
File(this.location + investigation))) {
+                       ISATabUtils.parseInvestigation(stream, xhtml, metadata, 
context, this.studyFileName);
+               }
                xhtml.element("h1", "INVESTIGATION " + 
metadata.get("Investigation Identifier"));
        }
 
@@ -130,6 +129,7 @@ public class ISArchiveParser implements Parser {
                        xhtml.element("h3", "ASSAY " + assayFileName);
                        InputStream stream = TikaInputStream.get(new 
File(this.location + assayFileName));
                        ISATabUtils.parseAssay(stream, xhtml, metadata, 
context);
+                       stream.close();
                        xhtml.endElement("div");
                }
        }

http://git-wip-us.apache.org/repos/asf/tika/blob/6a8bb0df/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
----------------------------------------------------------------------
diff --git 
a/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java 
b/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
index 57254f8..2b9f282 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/netcdf/NetCDFParser.java
@@ -21,11 +21,10 @@ package org.apache.tika.parser.netcdf;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collections;
-import java.util.Set;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.tika.exception.TikaException;
-import org.apache.tika.io.TemporaryResources;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.Property;
@@ -37,11 +36,10 @@ import org.apache.tika.parser.Parser;
 import org.apache.tika.sax.XHTMLContentHandler;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
-
 import ucar.nc2.Attribute;
+import ucar.nc2.Dimension;
 import ucar.nc2.NetcdfFile;
 import ucar.nc2.Variable;
-import ucar.nc2.Dimension;
 
 /**
  * A {@link Parser} for <a
@@ -82,9 +80,10 @@ public class NetCDFParser extends AbstractParser {
                       Metadata metadata, ParseContext context) throws 
IOException,
             SAXException, TikaException {
 
-        TikaInputStream tis = TikaInputStream.get(stream, new 
TemporaryResources());
+        TikaInputStream tis = TikaInputStream.get(stream);
+        NetcdfFile ncFile = null;
         try {
-            NetcdfFile ncFile = 
NetcdfFile.open(tis.getFile().getAbsolutePath());
+            ncFile = NetcdfFile.open(tis.getFile().getAbsolutePath());
             metadata.set("File-Type-Description", 
ncFile.getFileTypeDescription());
             // first parse out the set of global attributes
             for (Attribute attr : ncFile.getGlobalAttributes()) {
@@ -129,9 +128,12 @@ public class NetCDFParser extends AbstractParser {
             xhtml.endElement("ul");
 
             xhtml.endDocument();
-
         } catch (IOException e) {
             throw new TikaException("NetCDF parse error", e);
+        } finally {
+            if (ncFile != null) {
+                ncFile.close();
+            }
         }
     }
 

Reply via email to