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