]> source.dussan.org Git - poi.git/commitdiff
close input streams for parts
authorPJ Fanning <fanningpj@apache.org>
Tue, 28 Dec 2021 02:42:29 +0000 (02:42 +0000)
committerPJ Fanning <fanningpj@apache.org>
Tue, 28 Dec 2021 02:42:29 +0000 (02:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1896463 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFMasterContents.java
poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFMasters.java
poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFPageContents.java
poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XDGFPages.java
poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/XmlVisioDocument.java
poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
poi-ooxml/src/main/java/org/apache/poi/xssf/binary/XSSFBHyperlinksTable.java
poi-ooxml/src/main/java/org/apache/poi/xssf/eventusermodel/XSSFBReader.java
poi/src/test/java9/module-info.class

index efe0512efacde8d41ce3c3e9e2ca70370c11e1a1..b357e5cb4368c615d26e04201d175a800c948955 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.xdgf.usermodel;
 
 import java.io.IOException;
+import java.io.InputStream;
 
 import com.microsoft.schemas.office.visio.x2012.main.MasterContentsDocument;
 import org.apache.poi.ooxml.POIXMLException;
@@ -44,8 +45,8 @@ public class XDGFMasterContents extends XDGFBaseContents {
 
         try {
 
-            try {
-                _pageContents = MasterContentsDocument.Factory.parse(getPackagePart().getInputStream()).getMasterContents();
+            try (InputStream stream = getPackagePart().getInputStream()) {
+                _pageContents = MasterContentsDocument.Factory.parse(stream).getMasterContents();
             } catch (XmlException | IOException e) {
                 throw new POIXMLException(e);
             }
index da79bc4e1ad1049058b17fd60598415166623f6f..7bc97dd79fa9ad319fa5e4acd049e1f941a028d7 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.xdgf.usermodel;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -59,8 +60,8 @@ public class XDGFMasters extends XDGFXMLDocumentPart {
     @Override
     protected void onDocumentRead() {
         try {
-            try {
-                _mastersObject = MastersDocument.Factory.parse(getPackagePart().getInputStream()).getMasters();
+            try (InputStream stream = getPackagePart().getInputStream()) {
+                _mastersObject = MastersDocument.Factory.parse(stream).getMasters();
             } catch (XmlException | IOException e) {
                 throw new POIXMLException(e);
             }
index 4f9303db831e258d4585edd59422a1ac83a73865..413c9bb9e6cbaec9b2c1aa9958f528b452fc29ad 100644 (file)
@@ -18,6 +18,7 @@
 package org.apache.poi.xdgf.usermodel;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -43,8 +44,8 @@ public class XDGFPageContents extends XDGFBaseContents {
     @Override
     protected void onDocumentRead() {
         try {
-            try {
-                _pageContents = PageContentsDocument.Factory.parse(getPackagePart().getInputStream()).getPageContents();
+            try (InputStream stream = getPackagePart().getInputStream()) {
+                _pageContents = PageContentsDocument.Factory.parse(stream).getPageContents();
             } catch (XmlException | IOException e) {
                 throw new POIXMLException(e);
             }
index dbdf7aaa4ddeac6c35d4ec3e903ec243430f8c5d..ab6077449ecfcd1b710162583d0d5c9370a1bc05 100644 (file)
@@ -17,6 +17,7 @@
 package org.apache.poi.xdgf.usermodel;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -58,8 +59,8 @@ public class XDGFPages extends XDGFXMLDocumentPart {
     @Override
     protected void onDocumentRead() {
         try {
-            try {
-                _pagesObject = PagesDocument.Factory.parse(getPackagePart().getInputStream()).getPages();
+            try (InputStream stream = getPackagePart().getInputStream()) {
+                _pagesObject = PagesDocument.Factory.parse(stream).getPages();
             } catch (XmlException | IOException e) {
                 throw new POIXMLException(e);
             }
index a1534f7c27cada504967e22d854eca74ab418e64..12135ce1dc131f1b3211973775fdb5a03c97b3bd 100644 (file)
@@ -64,8 +64,8 @@ public class XmlVisioDocument extends POIXMLDocument {
 
         VisioDocumentType document;
 
-        try {
-            document = VisioDocumentDocument1.Factory.parse(getPackagePart().getInputStream()).getVisioDocument();
+        try (InputStream stream = getPackagePart().getInputStream()){
+            document = VisioDocumentDocument1.Factory.parse(stream).getVisioDocument();
         } catch (XmlException | IOException e) {
             throw new POIXMLException(e);
         }
index c2a0bd81a9d9201f2d5dcbce3834d560d6c3a5c9..2f580eebe77ddd0fd319c5d6cda916379c75cc79 100644 (file)
@@ -85,8 +85,8 @@ public final class XSLFPictureData extends POIXMLDocumentPart implements Picture
      * @return the Picture data.
      */
     public byte[] getData() {
-        try {
-            return IOUtils.toByteArray(getInputStream());
+        try (InputStream stream = getInputStream()) {
+            return IOUtils.toByteArray(stream);
         } catch (IOException e) {
             throw new POIXMLException(e);
         }
index ca76fb03320b734bfa8c8b8701fdaff7eca33b68..b89e0ac9438e924b37f2e558e97349efbf7401c3 100644 (file)
@@ -60,8 +60,10 @@ public class XSSFBHyperlinksTable {
         //load the urls from the sheet .rels
         loadUrlsFromSheetRels(sheetPart);
         //now load the hyperlinks from the bottom of the sheet
-        HyperlinkSheetScraper scraper = new HyperlinkSheetScraper(sheetPart.getInputStream());
-        scraper.parse();
+        try (InputStream stream = sheetPart.getInputStream()) {
+            HyperlinkSheetScraper scraper = new HyperlinkSheetScraper(stream);
+            scraper.parse();
+        }
     }
 
     /**
index 883fce2c9b7103b91370e657c28000ef1f04f9ca..c8f7fba0f754952991fb54b77d780baa879ff859 100644 (file)
@@ -111,8 +111,9 @@ public class XSSFBReader extends XSSFReader {
         if(parts.size() == 0) return null;
 
         // Create the Styles Table, and associate the Themes if present
-        return new XSSFBStylesTable(parts.get(0).getInputStream());
-
+        try (InputStream stream = parts.get(0).getInputStream()) {
+            return new XSSFBStylesTable(stream);
+        }
     }
 
     public static class SheetIterator extends XSSFReader.SheetIterator {
@@ -133,9 +134,11 @@ public class XSSFBReader extends XSSFReader {
 
         @Override
         protected Iterator<XSSFSheetRef> createSheetIteratorFromWB(PackagePart wb) throws IOException {
-            SheetRefLoader sheetRefLoader = new SheetRefLoader(wb.getInputStream());
-            sheetRefLoader.parse();
-            return sheetRefLoader.getSheets().iterator();
+            try (InputStream stream = wb.getInputStream()) {
+                SheetRefLoader sheetRefLoader = new SheetRefLoader(stream);
+                sheetRefLoader.parse();
+                return sheetRefLoader.getSheets().iterator();
+            }
         }
 
         /**
index c07ff8f76b4d3a6bff99efc8beb76945684c3a4c..c8b29ddc20b7bb94b88c7e8d874c2c3cd7e3433a 100644 (file)
Binary files a/poi/src/test/java9/module-info.class and b/poi/src/test/java9/module-info.class differ