You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2019/12/15 14:53:12 UTC

svn commit: r1871590 [1/2] - in /poi/trunk/src: examples/src/org/apache/poi/hsmf/examples/ examples/src/org/apache/poi/hssf/usermodel/examples/ java/org/apache/poi/hssf/dev/ java/org/apache/poi/hssf/eventusermodel/ java/org/apache/poi/poifs/crypt/stand...

Author: centic
Date: Sun Dec 15 14:53:11 2019
New Revision: 1871590

URL: http://svn.apache.org/viewvc?rev=1871590&view=rev
Log:
Replace manual close with try-with-resources

Modified:
    poi/trunk/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java
    poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java
    poi/trunk/src/java/org/apache/poi/hssf/dev/FormulaViewer.java
    poi/trunk/src/java/org/apache/poi/hssf/eventusermodel/HSSFEventFactory.java
    poi/trunk/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java
    poi/trunk/src/java/org/apache/poi/ss/format/CellElapsedFormatter.java
    poi/trunk/src/java/org/apache/poi/ss/format/CellGeneralFormatter.java
    poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java
    poi/trunk/src/java/org/apache/poi/util/FontMetricsDumper.java
    poi/trunk/src/java/org/apache/poi/util/HexRead.java
    poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/agile/AgileEncryptor.java
    poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFMetroShape.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/TestPOIXMLDocument.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestFormulaParser.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextParagraph.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextRun.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hmef/extractor/HMEFContentsExtractor.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java
    poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordUtils.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/extractor/TestVisioExtractor.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/TestCompressedRTF.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/HSLFTestDataSamples.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/TestEncryptedFile.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/record/TestCurrentUserAtom.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
    poi/trunk/src/testcases/org/apache/poi/hssf/model/TestFormulaParser.java
    poi/trunk/src/testcases/org/apache/poi/hssf/record/TestLbsDataSubRecord.java
    poi/trunk/src/testcases/org/apache/poi/poifs/nio/TestDataSource.java
    poi/trunk/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java
    poi/trunk/src/testcases/org/apache/poi/ss/formula/functions/TestFixed.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestDataFormat.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestPicture.java

Modified: poi/trunk/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hsmf/examples/Msg2txt.java Sun Dec 15 14:53:11 2019
@@ -63,62 +63,56 @@ public class Msg2txt {
 	public void processMessage() throws IOException {
 		String txtFileName = fileNameStem + ".txt";
 		String attDirName = fileNameStem + "-att";
-		PrintWriter txtOut = null;
-		try {
-			txtOut = new PrintWriter(txtFileName);
-			try {
-				String displayFrom = msg.getDisplayFrom();
-				txtOut.println("From: "+displayFrom);
-			} catch (ChunkNotFoundException e) {
-				// ignore
-			}
-			try {
-				String displayTo = msg.getDisplayTo();
-				txtOut.println("To: "+displayTo);
-			} catch (ChunkNotFoundException e) {
-				// ignore
-			}
-			try {
-				String displayCC = msg.getDisplayCC();
-				txtOut.println("CC: "+displayCC);
-			} catch (ChunkNotFoundException e) {
-				// ignore
-			}
-			try {
-				String displayBCC = msg.getDisplayBCC();
-				txtOut.println("BCC: "+displayBCC);
-			} catch (ChunkNotFoundException e) {
-				// ignore
-			}
-			try {
-				String subject = msg.getSubject();
-				txtOut.println("Subject: "+subject);
-			} catch (ChunkNotFoundException e) {
-				// ignore
-			}
-			try {
-				String body = msg.getTextBody();
-				txtOut.println(body);
-			} catch (ChunkNotFoundException e) {
-				System.err.println("No message body");
-			}
-			
-			AttachmentChunks[] attachments = msg.getAttachmentFiles();
-			if(attachments.length > 0) {
-				File d = new File(attDirName);
-				if(d.mkdir()) {
-					for(AttachmentChunks attachment : attachments) {
-						processAttachment(attachment, d);
-					}
-				} else {
-					System.err.println("Can't create directory "+attDirName);
-				}
-			}
-		} finally {
-			if(txtOut != null) {
-				txtOut.close();
-			}
-		}
+        try (PrintWriter txtOut = new PrintWriter(txtFileName)) {
+            try {
+                String displayFrom = msg.getDisplayFrom();
+                txtOut.println("From: " + displayFrom);
+            } catch (ChunkNotFoundException e) {
+                // ignore
+            }
+            try {
+                String displayTo = msg.getDisplayTo();
+                txtOut.println("To: " + displayTo);
+            } catch (ChunkNotFoundException e) {
+                // ignore
+            }
+            try {
+                String displayCC = msg.getDisplayCC();
+                txtOut.println("CC: " + displayCC);
+            } catch (ChunkNotFoundException e) {
+                // ignore
+            }
+            try {
+                String displayBCC = msg.getDisplayBCC();
+                txtOut.println("BCC: " + displayBCC);
+            } catch (ChunkNotFoundException e) {
+                // ignore
+            }
+            try {
+                String subject = msg.getSubject();
+                txtOut.println("Subject: " + subject);
+            } catch (ChunkNotFoundException e) {
+                // ignore
+            }
+            try {
+                String body = msg.getTextBody();
+                txtOut.println(body);
+            } catch (ChunkNotFoundException e) {
+                System.err.println("No message body");
+            }
+
+            AttachmentChunks[] attachments = msg.getAttachmentFiles();
+            if (attachments.length > 0) {
+                File d = new File(attDirName);
+                if (d.mkdir()) {
+                    for (AttachmentChunks attachment : attachments) {
+                        processAttachment(attachment, d);
+                    }
+                } else {
+                    System.err.println("Can't create directory " + attDirName);
+                }
+            }
+        }
 	}
 	
 	/**
@@ -137,15 +131,9 @@ public class Msg2txt {
 	   }
 	   
 		File f = new File(dir, fileName);
-		OutputStream fileOut = null;
-		try {
-			fileOut = new FileOutputStream(f);
-			fileOut.write(attachment.getAttachData().getValue());
-		} finally {
-			if(fileOut != null) {
-				fileOut.close();
-			}
-		}
+        try (OutputStream fileOut = new FileOutputStream(f)) {
+            fileOut.write(attachment.getAttachData().getValue());
+        }
 	}
 	
 	/**

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawing.java Sun Dec 15 14:53:11 2019
@@ -173,23 +173,12 @@ public class OfficeDrawing {
     private static int loadPicture( String path, HSSFWorkbook wb ) throws IOException
     {
         int pictureIndex;
-        FileInputStream fis = null;
-        ByteArrayOutputStream bos = null;
-        try
-        {
-            fis = new FileInputStream( path);
-            bos = new ByteArrayOutputStream( );
+        try (FileInputStream fis = new FileInputStream(path);
+             ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
             int c;
-            while ( (c = fis.read()) != -1)
-                bos.write( c );
-            pictureIndex = wb.addPicture( bos.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG );
-        }
-        finally
-        {
-            if (fis != null)
-                fis.close();
-            if (bos != null)
-                bos.close();
+            while ((c = fis.read()) != -1)
+                bos.write(c);
+            pictureIndex = wb.addPicture(bos.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG);
         }
         return pictureIndex;
     }

Modified: poi/trunk/src/java/org/apache/poi/hssf/dev/FormulaViewer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/dev/FormulaViewer.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/dev/FormulaViewer.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/dev/FormulaViewer.java Sun Dec 15 14:53:11 2019
@@ -55,10 +55,8 @@ public class FormulaViewer
      * @throws IOException if the file contained errors 
      */
     public void run() throws IOException {
-        POIFSFileSystem fs  = new POIFSFileSystem(new File(file), true);
-        try {
-            InputStream is = BiffViewer.getPOIFSInputStream(fs);
-            try {
+        try (POIFSFileSystem fs = new POIFSFileSystem(new File(file), true)) {
+            try (InputStream is = BiffViewer.getPOIFSInputStream(fs)) {
                 List<Record> records = RecordFactory.createRecords(is);
 
                 for (Record record : records) {
@@ -70,11 +68,7 @@ public class FormulaViewer
                         }
                     }
                 }
-            } finally {
-                is.close();
             }
-        } finally {
-            fs.close();
         }
     }
     

Modified: poi/trunk/src/java/org/apache/poi/hssf/eventusermodel/HSSFEventFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/eventusermodel/HSSFEventFactory.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hssf/eventusermodel/HSSFEventFactory.java (original)
+++ poi/trunk/src/java/org/apache/poi/hssf/eventusermodel/HSSFEventFactory.java Sun Dec 15 14:53:11 2019
@@ -76,11 +76,8 @@ public class HSSFEventFactory {
             name = WORKBOOK_DIR_ENTRY_NAMES[0];
         }
 
-        InputStream in = dir.createDocumentInputStream(name);
-        try {
+        try (InputStream in = dir.createDocumentInputStream(name)) {
             processEvents(req, in);
-        } finally {
-            in.close();
         }
     }
 
@@ -111,12 +108,9 @@ public class HSSFEventFactory {
 	 */
 	public short abortableProcessWorkbookEvents(HSSFRequest req, DirectoryNode dir)
 		throws IOException, HSSFUserException {
-		InputStream in = dir.createDocumentInputStream("Workbook");
-		try {
-		    return abortableProcessEvents(req, in);
-		} finally {
-		    in.close();
-		}
+        try (InputStream in = dir.createDocumentInputStream("Workbook")) {
+            return abortableProcessEvents(req, in);
+        }
 	}
 
 	/**

Modified: poi/trunk/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java (original)
+++ poi/trunk/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java Sun Dec 15 14:53:11 2019
@@ -186,11 +186,8 @@ public class StandardEncryptor extends E
                 // value, depending on the block size of the chosen encryption algorithm
                 leos.writeLong(countBytes);
 
-                FileInputStream fis = new FileInputStream(fileOut);
-                try {
+                try (FileInputStream fis = new FileInputStream(fileOut)) {
                     IOUtils.copy(fis, leos);
-                } finally {
-                    fis.close();
                 }
                 if (!fileOut.delete()) {
                     logger.log(POILogger.ERROR, "Can't delete temporary encryption file: "+fileOut);

Modified: poi/trunk/src/java/org/apache/poi/ss/format/CellElapsedFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/format/CellElapsedFormatter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/format/CellElapsedFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/format/CellElapsedFormatter.java Sun Dec 15 14:53:11 2019
@@ -200,11 +200,8 @@ public class CellElapsedFormatter extend
             parts[i] = specs.get(i).valueFor(elapsed);
         }
 
-        Formatter formatter = new Formatter(toAppendTo, Locale.ROOT);
-        try {
+        try (Formatter formatter = new Formatter(toAppendTo, Locale.ROOT)) {
             formatter.format(printfFmt, parts);
-        } finally {
-            formatter.close();
         }
     }
 

Modified: poi/trunk/src/java/org/apache/poi/ss/format/CellGeneralFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/format/CellGeneralFormatter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/format/CellGeneralFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/format/CellGeneralFormatter.java Sun Dec 15 14:53:11 2019
@@ -63,11 +63,8 @@ public class CellGeneralFormatter extend
                 stripZeros = false;
             }
 
-            Formatter formatter = new Formatter(toAppendTo, locale);
-            try {
+            try (Formatter formatter = new Formatter(toAppendTo, locale)) {
                 formatter.format(locale, fmt, value);
-            } finally {
-                formatter.close();
             }
             if (stripZeros) {
                 // strip off trailing zeros

Modified: poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/format/CellNumberFormatter.java Sun Dec 15 14:53:11 2019
@@ -456,11 +456,8 @@ public class CellNumberFormatter extends
             writeFraction(value, null, fractional, output, mods);
         } else {
             StringBuffer result = new StringBuffer();
-            Formatter f = new Formatter(result, locale);
-            try {
+            try (Formatter f = new Formatter(result, locale)) {
                 f.format(locale, printfFmt, value);
-            } finally {
-                f.close();
             }
 
             if (numerator == null) {
@@ -734,11 +731,8 @@ public class CellNumberFormatter extends
     private void writeSingleInteger(String fmt, int num, StringBuffer output, List<Special> numSpecials, Set<CellNumberStringMod> mods) {
 
         StringBuffer sb = new StringBuffer();
-        Formatter formatter = new Formatter(sb, locale);
-        try {
+        try (Formatter formatter = new Formatter(sb, locale)) {
             formatter.format(locale, fmt, num);
-        } finally {
-            formatter.close();
         }
         writeInteger(sb, output, numSpecials, mods, false);
     }

Modified: poi/trunk/src/java/org/apache/poi/util/FontMetricsDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/util/FontMetricsDumper.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/util/FontMetricsDumper.java (original)
+++ poi/trunk/src/java/org/apache/poi/util/FontMetricsDumper.java Sun Dec 15 14:53:11 2019
@@ -66,11 +66,8 @@ public class FontMetricsDumper {
             props.setProperty("font." + fontName + ".widths", widths.toString());
         }
 
-        OutputStream fileOut = new FileOutputStream("font_metrics.properties");
-        try {
+        try (OutputStream fileOut = new FileOutputStream("font_metrics.properties")) {
             props.store(fileOut, "Font Metrics");
-        } finally {
-            fileOut.close();
         }
     }
 }

Modified: poi/trunk/src/java/org/apache/poi/util/HexRead.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/util/HexRead.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/util/HexRead.java (original)
+++ poi/trunk/src/java/org/apache/poi/util/HexRead.java Sun Dec 15 14:53:11 2019
@@ -36,11 +36,8 @@ public class HexRead {
      */
     public static byte[] readData( String filename ) throws IOException {
         File file = new File( filename );
-        InputStream stream = new FileInputStream( file );
-        try {
-            return readData( stream, -1 );
-        } finally {
-            stream.close();
+        try (InputStream stream = new FileInputStream(file)) {
+            return readData(stream, -1);
         }
     }
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/agile/AgileEncryptor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/agile/AgileEncryptor.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/agile/AgileEncryptor.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/poifs/crypt/agile/AgileEncryptor.java Sun Dec 15 14:53:11 2019
@@ -252,15 +252,12 @@ public class AgileEncryptor extends Encr
         byte[] buf = new byte[1024];
         LittleEndian.putLong(buf, 0, oleStreamSize);
         integrityMD.update(buf, 0, LittleEndianConsts.LONG_SIZE);
-        
-        InputStream fis = new FileInputStream(tmpFile);
-        try {
+
+        try (InputStream fis = new FileInputStream(tmpFile)) {
             int readBytes;
             while ((readBytes = fis.read(buf)) != -1) {
                 integrityMD.update(buf, 0, readBytes);
             }
-        } finally {
-        	fis.close();
         }
 
         byte[] hmacValue = integrityMD.doFinal();

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFMetroShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFMetroShape.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFMetroShape.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFMetroShape.java Sun Dec 15 14:53:11 2019
@@ -46,17 +46,11 @@ public class XSLFMetroShape {
     public static Shape<?,?> parseShape(byte[] metroBytes)
     throws InvalidFormatException, IOException, XmlException {
         PackagePartName shapePN = PackagingURIHelper.createPartName("/drs/shapexml.xml");
-        OPCPackage pkg = null;
-        try {
-            pkg = OPCPackage.open(new ByteArrayInputStream(metroBytes));
+        try (OPCPackage pkg = OPCPackage.open(new ByteArrayInputStream(metroBytes))) {
             PackagePart shapePart = pkg.getPart(shapePN);
             CTGroupShape gs = CTGroupShape.Factory.parse(shapePart.getInputStream(), DEFAULT_XML_OPTIONS);
             XSLFGroupShape xgs = new XSLFGroupShape(gs, null);
-            return xgs.getShapes().get(0);               
-        } finally {
-            if (pkg != null) {
-                pkg.close();
-            }
+            return xgs.getShapes().get(0);
         }
     }
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Sun Dec 15 14:53:11 2019
@@ -1459,20 +1459,10 @@ public class XWPFDocument extends POIXML
             xwpfPicData = (XWPFPictureData) createRelationship(relDesc, XWPFFactory.getInstance(), idx);
             /* write bytes to new part */
             PackagePart picDataPart = xwpfPicData.getPackagePart();
-            OutputStream out = null;
-            try {
-                out = picDataPart.getOutputStream();
+            try (OutputStream out = picDataPart.getOutputStream()) {
                 out.write(pictureData);
             } catch (IOException e) {
                 throw new POIXMLException(e);
-            } finally {
-                try {
-                    if (out != null) {
-                        out.close();
-                    }
-                } catch (IOException e) {
-                    // ignore
-                }
             }
 
             registerPackagePictureData(xwpfPicData);

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFEndnotes.java Sun Dec 15 14:53:11 2019
@@ -112,17 +112,11 @@ public class XWPFEndnotes extends XWPFAb
     @Override
     protected void onDocumentRead() throws IOException {
         EndnotesDocument notesDoc;
-        InputStream is = null;
-        try {
-            is = getPackagePart().getInputStream();            
+        try (InputStream is = getPackagePart().getInputStream()) {
             notesDoc = EndnotesDocument.Factory.parse(is, DEFAULT_XML_OPTIONS);
             ctEndnotes = notesDoc.getEndnotes();
         } catch (XmlException e) {
             throw new POIXMLException();
-        } finally {
-            if (is != null) {
-                is.close();
-            }
         }
     
         for (CTFtnEdn note : ctEndnotes.getEndnoteList()) {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFooter.java Sun Dec 15 14:53:11 2019
@@ -90,9 +90,7 @@ public class XWPFFooter extends XWPFHead
     protected void onDocumentRead() throws IOException {
         super.onDocumentRead();
         FtrDocument ftrDocument = null;
-        InputStream is = null;
-        try {
-            is = getPackagePart().getInputStream();
+        try (InputStream is = getPackagePart().getInputStream()) {
             ftrDocument = FtrDocument.Factory.parse(is, DEFAULT_XML_OPTIONS);
             headerFooter = ftrDocument.getFtr();
             // parse the document with cursor and add
@@ -119,10 +117,6 @@ public class XWPFFooter extends XWPFHead
             cursor.dispose();
         } catch (Exception e) {
             throw new POIXMLException(e);
-        } finally {
-            if (is != null) {
-                is.close();
-            }
         }
     }
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java Sun Dec 15 14:53:11 2019
@@ -112,17 +112,11 @@ public class XWPFFootnotes extends XWPFA
     @Override
     protected void onDocumentRead() throws IOException {
         FootnotesDocument notesDoc;
-        InputStream is = null;
-        try {
-            is = getPackagePart().getInputStream();
+        try (InputStream is = getPackagePart().getInputStream()) {
             notesDoc = FootnotesDocument.Factory.parse(is, DEFAULT_XML_OPTIONS);
             ctFootnotes = notesDoc.getFootnotes();
         } catch (XmlException e) {
             throw new POIXMLException();
-        } finally {
-            if (is != null) {
-                is.close();
-            }
         }
     
         for (CTFtnEdn note : ctFootnotes.getFootnoteList()) {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeader.java Sun Dec 15 14:53:11 2019
@@ -93,9 +93,7 @@ public class XWPFHeader extends XWPFHead
     protected void onDocumentRead() throws IOException {
         super.onDocumentRead();
         HdrDocument hdrDocument = null;
-        InputStream is = null;
-        try {
-            is = getPackagePart().getInputStream();
+        try (InputStream is = getPackagePart().getInputStream()) {
             hdrDocument = HdrDocument.Factory.parse(is, DEFAULT_XML_OPTIONS);
             headerFooter = hdrDocument.getHdr();
             // parse the document with cursor and add
@@ -122,10 +120,6 @@ public class XWPFHeader extends XWPFHead
             cursor.dispose();
         } catch (XmlException e) {
             throw new POIXMLException(e);
-        } finally {
-            if (is != null) {
-                is.close();
-            }
         }
     }
 

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFHeaderFooter.java Sun Dec 15 14:53:11 2019
@@ -250,18 +250,10 @@ public abstract class XWPFHeaderFooter e
             xwpfPicData = (XWPFPictureData) createRelationship(relDesc, XWPFFactory.getInstance(), idx);
             /* write bytes to new part */
             PackagePart picDataPart = xwpfPicData.getPackagePart();
-            OutputStream out = null;
-            try {
-                out = picDataPart.getOutputStream();
+            try (OutputStream out = picDataPart.getOutputStream()) {
                 out.write(pictureData);
             } catch (IOException e) {
                 throw new POIXMLException(e);
-            } finally {
-                try {
-                    if (out != null) out.close();
-                } catch (IOException e) {
-                    // ignore
-                }
             }
 
             document.registerPackagePictureData(xwpfPicData);
@@ -314,7 +306,7 @@ public abstract class XWPFHeaderFooter e
 
     /**
      * Adds a new paragraph at the end of the header or footer
-     * 
+     *
      * @return new {@link XWPFParagraph} object
      */
     public XWPFParagraph createParagraph() {
@@ -323,10 +315,10 @@ public abstract class XWPFHeaderFooter e
         bodyElements.add(paragraph);
         return paragraph;
     }
-    
+
     /**
      * Adds a new table at the end of the header or footer
-     * 
+     *
      * @param rows - number of rows in the table
      * @param cols - number of columns in the table
      * @return new {@link XWPFTable} object
@@ -337,7 +329,7 @@ public abstract class XWPFHeaderFooter e
         bodyElements.add(table);
         return table;
     }
-    
+
     /**
      * Removes a specific paragraph from this header / footer
      *
@@ -353,11 +345,11 @@ public abstract class XWPFHeaderFooter e
             bodyElements.remove(paragraph);
         }
     }
-    
+
     /**
      * Removes a specific table from this header / footer
-     * 
-     * @param table - {@link XWPFTable} object to remove 
+     *
+     * @param table - {@link XWPFTable} object to remove
      */
     public void removeTable(XWPFTable table) {
         if (tables.contains(table)) {
@@ -369,7 +361,7 @@ public abstract class XWPFHeaderFooter e
             bodyElements.remove(table);
         }
     }
-    
+
     /**
      * Clears all paragraphs and tables from this header / footer
      */
@@ -381,7 +373,7 @@ public abstract class XWPFHeaderFooter e
        tables.clear();
        bodyElements.clear();
     }
-    
+
     /**
      * add a new paragraph at position of the cursor
      *
@@ -590,14 +582,14 @@ public abstract class XWPFHeaderFooter e
     public POIXMLDocumentPart getPart() {
         return this;
     }
-    
+
     @Override
     protected void prepareForCommit() {
         // must contain at least an empty paragraph
         if (bodyElements.size() == 0) {
             createParagraph();
         }
-        
+
         // Cells must contain at least an empty paragraph
         for (XWPFTable tbl : tables) {
             for (XWPFTableRow row : tbl.tableRows) {
@@ -609,6 +601,6 @@ public abstract class XWPFHeaderFooter e
             }
         }
         super.prepareForCommit();
-        
+
     }
 }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFStyles.java Sun Dec 15 14:53:11 2019
@@ -80,15 +80,12 @@ public class XWPFStyles extends POIXMLDo
     @Override
     protected void onDocumentRead() throws IOException {
         StylesDocument stylesDoc;
-        InputStream is = getPackagePart().getInputStream();
-        try {
+        try (InputStream is = getPackagePart().getInputStream()) {
             stylesDoc = StylesDocument.Factory.parse(is, DEFAULT_XML_OPTIONS);
             setStyles(stylesDoc.getStyles());
             latentStyles = new XWPFLatentStyles(ctStyles.getLatentStyles(), this);
         } catch (XmlException e) {
             throw new POIXMLException("Unable to read styles", e);
-        } finally {
-            is.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/TestPOIXMLDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/TestPOIXMLDocument.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/TestPOIXMLDocument.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ooxml/TestPOIXMLDocument.java Sun Dec 15 14:53:11 2019
@@ -225,16 +225,13 @@ public final class TestPOIXMLDocument {
         POIDataSamples pds = POIDataSamples.getDocumentInstance();
         @SuppressWarnings("resource")
         OPCPackage pkg = PackageHelper.open(pds.openResourceAsStream("WordWithAttachments.docx"));
-        OPCParser doc = new OPCParser(pkg);
-        try {
+        try (OPCParser doc = new OPCParser(pkg)) {
             doc.parse(new TestFactory());
-    
-            for(POIXMLDocumentPart rel : doc.getRelations()){
+
+            for (POIXMLDocumentPart rel : doc.getRelations()) {
                 //TODO finish me
                 assertNotNull(rel);
             }
-        } finally {
-        	doc.close();
         }
     }
     
@@ -243,10 +240,9 @@ public final class TestPOIXMLDocument {
         POIDataSamples pds = POIDataSamples.getDocumentInstance();
         @SuppressWarnings("resource")
         OPCPackage pkg = PackageHelper.open(pds.openResourceAsStream("WordWithAttachments.docx"));
-        OPCParser doc = new OPCParser(pkg);
-        try {
+        try (OPCParser doc = new OPCParser(pkg)) {
             doc.parse(new TestFactory());
-            
+
             // Non-indexed parts: Word is taken, Excel is not
             assertEquals(-1, doc.getNextPartNumber(XWPFRelation.DOCUMENT, 0));
             assertEquals(-1, doc.getNextPartNumber(XWPFRelation.DOCUMENT, -1));
@@ -254,20 +250,18 @@ public final class TestPOIXMLDocument {
             assertEquals(0, doc.getNextPartNumber(XSSFRelation.WORKBOOK, 0));
             assertEquals(0, doc.getNextPartNumber(XSSFRelation.WORKBOOK, -1));
             assertEquals(0, doc.getNextPartNumber(XSSFRelation.WORKBOOK, 99));
-            
+
             // Indexed parts:
             // Has 2 headers
             assertEquals(0, doc.getNextPartNumber(XWPFRelation.HEADER, 0));
             assertEquals(3, doc.getNextPartNumber(XWPFRelation.HEADER, -1));
             assertEquals(3, doc.getNextPartNumber(XWPFRelation.HEADER, 1));
             assertEquals(8, doc.getNextPartNumber(XWPFRelation.HEADER, 8));
-            
+
             // Has no Excel Sheets
             assertEquals(0, doc.getNextPartNumber(XSSFRelation.WORKSHEET, 0));
             assertEquals(1, doc.getNextPartNumber(XSSFRelation.WORKSHEET, -1));
             assertEquals(1, doc.getNextPartNumber(XSSFRelation.WORKSHEET, 1));
-        } finally {
-            doc.close();
         }
     }
 
@@ -315,12 +309,9 @@ public final class TestPOIXMLDocument {
     @Test(expected=POIXMLException.class)
     public void testInvalidCoreRel() throws IOException {
         POIDataSamples pds = POIDataSamples.getDiagramInstance();
-        OPCPackage open = PackageHelper.open(pds.openResourceAsStream("test.vsdx"));
-        
-        try {
+
+        try (OPCPackage open = PackageHelper.open(pds.openResourceAsStream("test.vsdx"))) {
             new POIXMLDocumentPart(open, "somethingillegal");
-        } finally {
-            open.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/sl/draw/TestDrawPictureShape.java Sun Dec 15 14:53:11 2019
@@ -55,13 +55,10 @@ public class TestDrawPictureShape {
 
     /** a generic way to open a sample slideshow document **/
     public static SlideShow<?,?> openSampleDocument(String sampleName) throws IOException {
-        InputStream is = ssSamples.openResourceAsStream(sampleName);
-        try {
+        try (InputStream is = ssSamples.openResourceAsStream(sampleName)) {
             return SlideShowFactory.create(is);
         } catch (Exception e) {
             throw new RuntimeException(e);
-        } finally {
-            is.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestFormulaParser.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestFormulaParser.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestFormulaParser.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestFormulaParser.java Sun Dec 15 14:53:11 2019
@@ -102,43 +102,42 @@ public class TestFormulaParser {
     public void testMacroFunction() throws Exception {
         // testNames.xlsm contains a VB function called 'myFunc'
         final String testFile = "testNames.xlsm";
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook(testFile);
-        try {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook(testFile)) {
             XSSFEvaluationWorkbook workbook = XSSFEvaluationWorkbook.create(wb);
-    
+
             //Expected ptg stack: [NamePtg(myFunc), StringPtg(arg), (additional operands would go here...), FunctionPtg(myFunc)]
             Ptg[] ptg = FormulaParser.parse("myFunc(\"arg\")", workbook, FormulaType.CELL, -1);
             assertEquals(3, ptg.length);
-    
+
             // the name gets encoded as the first operand on the stack
             NameXPxg tname = (NameXPxg) ptg[0];
             assertEquals("myFunc", tname.toFormulaString());
-            
+
             // the function's arguments are pushed onto the stack from left-to-right as OperandPtgs
             StringPtg arg = (StringPtg) ptg[1];
             assertEquals("arg", arg.getValue());
-    
+
             // The external FunctionPtg is the last Ptg added to the stack
             // During formula evaluation, this Ptg pops off the the appropriate number of
-            // arguments (getNumberOfOperands()) and pushes the result on the stack 
+            // arguments (getNumberOfOperands()) and pushes the result on the stack
             AbstractFunctionPtg tfunc = (AbstractFunctionPtg) ptg[2];
             assertTrue(tfunc.isExternalFunction());
-            
+
             // confirm formula parsing is case-insensitive
             FormulaParser.parse("mYfUnC(\"arg\")", workbook, FormulaType.CELL, -1);
-            
+
             // confirm formula parsing doesn't care about argument count or type
             // this should only throw an error when evaluating the formula.
             FormulaParser.parse("myFunc()", workbook, FormulaType.CELL, -1);
             FormulaParser.parse("myFunc(\"arg\", 0, TRUE)", workbook, FormulaType.CELL, -1);
-            
+
             // A completely unknown formula name (not saved in workbook) should still be parseable and renderable
             // but will throw an NotImplementedFunctionException or return a #NAME? error value if evaluated.
             FormulaParser.parse("yourFunc(\"arg\")", workbook, FormulaType.CELL, -1);
-            
+
             // Make sure workbook can be written and read
             XSSFTestDataSamples.writeOutAndReadBack(wb).close();
-            
+
             // Manually check to make sure file isn't corrupted
             // TODO: develop a process for occasionally manually reviewing workbooks
             // to verify workbooks are not corrupted
@@ -149,17 +148,14 @@ public class TestFormulaParser {
             wb.write(fos);
             fos.close();
             */
-        } finally {
-            wb.close();
         }
     }
     
     @Test
     public void testParserErrors() throws Exception {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("testNames.xlsm");
-        try {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("testNames.xlsm")) {
             XSSFEvaluationWorkbook workbook = XSSFEvaluationWorkbook.create(wb);
-            
+
             parseExpectedException("(");
             parseExpectedException(")");
             parseExpectedException("+");
@@ -167,8 +163,6 @@ public class TestFormulaParser {
             parseExpectedException("IF()");
             parseExpectedException("IF("); //no closing paren
             parseExpectedException("myFunc(", workbook); //no closing paren
-        } finally {
-            wb.close();
         }
     }
     

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/TestStructuredReferences.java Sun Dec 15 14:53:11 2019
@@ -65,9 +65,8 @@ public class TestStructuredReferences {
     
     @Test
     public void testTableFormulas() throws Exception {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("StructuredReferences.xlsx");
-        try {
-            
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("StructuredReferences.xlsx")) {
+
             final FormulaEvaluator eval = new XSSFFormulaEvaluator(wb);
             final XSSFSheet tableSheet = wb.getSheet("Table");
             final XSSFSheet formulaSheet = wb.getSheet("Formulas");
@@ -75,21 +74,21 @@ public class TestStructuredReferences {
             confirm(eval, tableSheet.getRow(5).getCell(0), 49);
             confirm(eval, formulaSheet.getRow(0).getCell(0), 209);
             confirm(eval, formulaSheet.getRow(1).getCell(0), "one");
-            
+
             // test changing a table value, to see if the caches are properly cleared
             // Issue 59814
-            
+
             // this test passes before the fix for 59814
             tableSheet.getRow(1).getCell(1).setCellValue("ONEA");
             confirm(eval, formulaSheet.getRow(1).getCell(0), "ONEA");
-            
+
             // test adding a row to a table, issue 59814
             Row newRow = tableSheet.getRow(7);
             if (newRow == null) newRow = tableSheet.createRow(7);
             newRow.createCell(0, CellType.FORMULA).setCellFormula("\\_Prime.1[[#This Row],[@Number]]*\\_Prime.1[[#This Row],[@Number]]");
             newRow.createCell(1, CellType.STRING).setCellValue("thirteen");
             newRow.createCell(2, CellType.NUMERIC).setCellValue(13);
-            
+
             // update Table
             final XSSFTable table = wb.getTable("\\_Prime.1");
             final AreaReference newArea = wb.getCreationHelper().createAreaReference(
@@ -102,11 +101,9 @@ public class TestStructuredReferences {
             table.updateReferences();
 
             // these fail before the fix for 59814
-            confirm(eval, tableSheet.getRow(7).getCell(0), 13*13);
-            confirm(eval, formulaSheet.getRow(0).getCell(0), 209 + 13*13);
+            confirm(eval, tableSheet.getRow(7).getCell(0), 13 * 13);
+            confirm(eval, formulaSheet.getRow(0).getCell(0), 209 + 13 * 13);
 
-        } finally {
-            wb.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFEventBasedExcelExtractor.java Sun Dec 15 14:53:11 2019
@@ -184,16 +184,13 @@ public class TestXSSFEventBasedExcelExtr
 	    */
     @Test
     public void testShapes() throws Exception{
-	    XSSFEventBasedExcelExtractor ooxmlExtractor = getExtractor("WithTextBox.xlsx");
-	       
-	    try {
-    	    String text = ooxmlExtractor.getText();
-			assertContains(text, "Line 1");
-			assertContains(text, "Line 2");
-			assertContains(text, "Line 3");
-	    } finally {
-	        ooxmlExtractor.close();
-	    }
+
+        try (XSSFEventBasedExcelExtractor ooxmlExtractor = getExtractor("WithTextBox.xlsx")) {
+            String text = ooxmlExtractor.getText();
+            assertContains(text, "Line 1");
+            assertContains(text, "Line 2");
+            assertContains(text, "Line 3");
+        }
     }
 
     /**
@@ -206,21 +203,14 @@ public class TestXSSFEventBasedExcelExtr
 
         String expectedOutput = "Sheet1\n99.99\n";
 
-        XSSFExcelExtractor extractor = new XSSFExcelExtractor(
-                XSSFTestDataSamples.openSampleWorkbook("56011.xlsx"));
-        try {
+        try (XSSFExcelExtractor extractor = new XSSFExcelExtractor(
+                XSSFTestDataSamples.openSampleWorkbook("56011.xlsx"))) {
             assertEquals(expectedOutput, extractor.getText().replace(",", "."));
-        } finally {
-            extractor.close();
         }
 
-        XSSFEventBasedExcelExtractor fixture =
-                new XSSFEventBasedExcelExtractor(
-                        XSSFTestDataSamples.openSamplePackage("56011.xlsx"));
-        try {
+        try (XSSFEventBasedExcelExtractor fixture = new XSSFEventBasedExcelExtractor(
+                XSSFTestDataSamples.openSamplePackage("56011.xlsx"))) {
             assertEquals(expectedOutput, fixture.getText().replace(",", "."));
-        } finally {
-            fixture.close();
         }
     }
 
@@ -242,25 +232,18 @@ public class TestXSSFEventBasedExcelExtr
                 "Sheet1\n" +
                 "abc\t123\n";
 
-        XSSFExcelExtractor extractor = new XSSFExcelExtractor(
-                XSSFTestDataSamples.openSampleWorkbook("headerFooterTest.xlsx"));
-        try {
+        try (XSSFExcelExtractor extractor = new XSSFExcelExtractor(
+                XSSFTestDataSamples.openSampleWorkbook("headerFooterTest.xlsx"))) {
             assertEquals(expectedOutputWithHeadersAndFooters, extractor.getText());
             extractor.setIncludeHeadersFooters(false);
             assertEquals(expectedOutputWithoutHeadersAndFooters, extractor.getText());
-        } finally {
-            extractor.close();
         }
 
-        XSSFEventBasedExcelExtractor fixture =
-                new XSSFEventBasedExcelExtractor(
-                        XSSFTestDataSamples.openSamplePackage("headerFooterTest.xlsx"));
-        try {
+        try (XSSFEventBasedExcelExtractor fixture = new XSSFEventBasedExcelExtractor(
+                XSSFTestDataSamples.openSamplePackage("headerFooterTest.xlsx"))) {
             assertEquals(expectedOutputWithHeadersAndFooters, fixture.getText());
             fixture.setIncludeHeadersFooters(false);
             assertEquals(expectedOutputWithoutHeadersAndFooters, fixture.getText());
-        } finally {
-            fixture.close();
         }
     }
 
@@ -307,48 +290,35 @@ public class TestXSSFEventBasedExcelExtr
                 "Comment by Shaun Kalley: Comment A7\tComment by Shaun Kalley: Comment B7\n" +
                 "Comment by Shaun Kalley: Comment A8\tComment by Shaun Kalley: Comment B8\n";
 
-        XSSFExcelExtractor extractor = new XSSFExcelExtractor(
-                XSSFTestDataSamples.openSampleWorkbook("commentTest.xlsx"));
-        try {
+        try (XSSFExcelExtractor extractor = new XSSFExcelExtractor(
+                XSSFTestDataSamples.openSampleWorkbook("commentTest.xlsx"))) {
             assertEquals(expectedOutputWithoutComments, extractor.getText());
             extractor.setIncludeCellComments(true);
             assertEquals(nonEventBasedExtractorOutputWithComments, extractor.getText());
-        } finally {
-            extractor.close();
         }
 
-        XSSFEventBasedExcelExtractor fixture =
-                new XSSFEventBasedExcelExtractor(
-                        XSSFTestDataSamples.openSamplePackage("commentTest.xlsx"));
-        try {
+        try (XSSFEventBasedExcelExtractor fixture = new XSSFEventBasedExcelExtractor(
+                XSSFTestDataSamples.openSamplePackage("commentTest.xlsx"))) {
             assertEquals(expectedOutputWithoutComments, fixture.getText());
             fixture.setIncludeCellComments(true);
             assertEquals(eventBasedExtractorOutputWithComments, fixture.getText());
-        } finally {
-            fixture.close();
         }
     }
     
     @Test
     public void testFile56278_normal() throws Exception {
         // first with normal Text Extractor
-        POIXMLTextExtractor extractor = new XSSFExcelExtractor(
-                XSSFTestDataSamples.openSampleWorkbook("56278.xlsx"));
-        try {
+        try (POIXMLTextExtractor extractor = new XSSFExcelExtractor(
+                XSSFTestDataSamples.openSampleWorkbook("56278.xlsx"))) {
             assertNotNull(extractor.getText());
-        } finally {
-            extractor.close();
         }
     }
     
     @Test
     public void testFile56278_event() throws Exception {
         // then with event based one
-        POIXMLTextExtractor extractor = getExtractor("56278.xlsx");        
-        try {
+        try (POIXMLTextExtractor extractor = getExtractor("56278.xlsx")) {
             assertNotNull(extractor.getText());
-        } finally {
-            extractor.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java Sun Dec 15 14:53:11 2019
@@ -217,29 +217,23 @@ public class TestXSSFExcelExtractor exte
 	 * Simple test for text box text
 	 */
 	public void testTextBoxes() throws IOException {
-	    XSSFExcelExtractor extractor = getExtractor("WithTextBox.xlsx");
-	    try {
-    	    extractor.setFormulasNotResults(true);
-    	    String text = extractor.getText();
-    	    assertContains(text, "Line 1");
-    	    assertContains(text, "Line 2");
-    	    assertContains(text, "Line 3");
-	    } finally {
-	        extractor.close();
-	    }
+        try (XSSFExcelExtractor extractor = getExtractor("WithTextBox.xlsx")) {
+            extractor.setFormulasNotResults(true);
+            String text = extractor.getText();
+            assertContains(text, "Line 1");
+            assertContains(text, "Line 2");
+            assertContains(text, "Line 3");
+        }
 	}
 
 	public void testPhoneticRuns() throws Exception {
-		XSSFExcelExtractor extractor = getExtractor("51519.xlsx");
-		try {
-			String text = extractor.getText();
-			assertContains(text, "\u8C4A\u7530");
-			//this shows up only as a phonetic run and should not appear
-			//in the extracted text
-			assertNotContained(text, "\u30CB\u30DB\u30F3");
-		} finally {
-			extractor.close();
-		}
+        try (XSSFExcelExtractor extractor = getExtractor("51519.xlsx")) {
+            String text = extractor.getText();
+            assertContains(text, "\u8C4A\u7530");
+            //this shows up only as a phonetic run and should not appear
+            //in the extracted text
+            assertNotContained(text, "\u30CB\u30DB\u30F3");
+        }
 
 	}
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFDataValidation.java Sun Dec 15 14:53:11 2019
@@ -37,26 +37,23 @@ public class TestSXSSFDataValidation ext
 
     @Test
     public void test53965() throws Exception {
-        SXSSFWorkbook wb = new SXSSFWorkbook();
-        try {
+        try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
             Sheet sheet = wb.createSheet();
             List<? extends DataValidation> lst = sheet.getDataValidations();    //<-- works
             assertEquals(0, lst.size());
-    
+
             //create the cell that will have the validation applied
             sheet.createRow(0).createCell(0);
-    
+
             DataValidationHelper dataValidationHelper = sheet.getDataValidationHelper();
             DataValidationConstraint constraint = dataValidationHelper.createCustomConstraint("SUM($A$1:$A$1) <= 3500");
             CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
             DataValidation validation = dataValidationHelper.createValidation(constraint, addressList);
             sheet.addValidationData(validation);
-    
+
             // this line caused XmlValueOutOfRangeException , see Bugzilla 3965
             lst = sheet.getDataValidations();
             assertEquals(1, lst.size());
-        } finally {
-            wb.close();
         }
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java Sun Dec 15 14:53:11 2019
@@ -111,20 +111,17 @@ public final class TestSXSSFSheet extend
 
     @Test
     public void overrideFlushedRows() throws IOException {
-        Workbook wb = new SXSSFWorkbook(3);
-        try {
+        try (Workbook wb = new SXSSFWorkbook(3)) {
             Sheet sheet = wb.createSheet();
-    
+
             sheet.createRow(1);
             sheet.createRow(2);
             sheet.createRow(3);
             sheet.createRow(4);
-    
+
             thrown.expect(Throwable.class);
             thrown.expectMessage("Attempting to write a row[1] in the range [0,1] that is already written to disk.");
             sheet.createRow(1);
-        } finally {
-            wb.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSheetDataWriter.java Sun Dec 15 14:53:11 2019
@@ -61,14 +61,10 @@ public final class TestSheetDataWriter {
             writer.outputQuotedString(unicodeSurrogates);
             writer.close();
             File file = writer.getTempFile();
-            FileInputStream is = new FileInputStream(file);
-            String text;
-            try {
-                text = new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8);
-            } finally {
-                is.close();
+            try (FileInputStream is = new FileInputStream(file)) {
+                String text = new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8);
+                assertEquals(unicodeSurrogates, text);
             }
-            assertEquals(unicodeSurrogates, text);
         } finally {
             IOUtils.closeQuietly(writer);
         }
@@ -80,14 +76,10 @@ public final class TestSheetDataWriter {
             writer.outputQuotedString("\r\n");
             writer.close();
             File file = writer.getTempFile();
-            FileInputStream is = new FileInputStream(file);
-            String text;
-            try {
-                text = new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8);
-            } finally {
-                is.close();
+            try (FileInputStream is = new FileInputStream(file)) {
+                String text = new String(IOUtils.toByteArray(is), StandardCharsets.UTF_8);
+                assertEquals("&#xd;&#xa;", text);
             }
-            assertEquals("&#xd;&#xa;", text);
         } finally {
             IOUtils.closeQuietly(writer);
         }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFComment.java Sun Dec 15 14:53:11 2019
@@ -196,8 +196,7 @@ public final class TestXSSFComment exten
 
     @Test
     public void testBug58175() throws IOException {
-        Workbook wb = new SXSSFWorkbook();
-        try {
+        try (Workbook wb = new SXSSFWorkbook()) {
             Sheet sheet = wb.createSheet();
 
             Row row = sheet.createRow(1);
@@ -241,35 +240,32 @@ public final class TestXSSFComment exten
                         + ", 0";
                 vmlShape2.getClientDataArray(0).setAnchorArray(0, position);
             }
-            
+
             CellAddress ref = new CellAddress(ca.getRow1(), ca.getCol1());
             XSSFComment shape2 = new XSSFComment(comments, comments.newComment(ref), vmlShape2);
-        
+
             assertEquals(shape1.getAuthor(), shape2.getAuthor());
             assertEquals(shape1.getClientAnchor(), shape2.getClientAnchor());
             assertEquals(shape1.getColumn(), shape2.getColumn());
             assertEquals(shape1.getRow(), shape2.getRow());
             assertEquals(shape1.getCTComment().toString(), shape2.getCTComment().toString());
             assertEquals(shape1.getCTComment().getRef(), shape2.getCTComment().getRef());
-            
+
             /*CommentsTable table1 = shape1.getCommentsTable();
             CommentsTable table2 = shape2.getCommentsTable();
             assertEquals(table1.getCTComments().toString(), table2.getCTComments().toString());
             assertEquals(table1.getNumberOfComments(), table2.getNumberOfComments());
             assertEquals(table1.getRelations(), table2.getRelations());*/
-            
-            assertEquals("The vmlShapes should have equal content afterwards", 
+
+            assertEquals("The vmlShapes should have equal content afterwards",
                     vmlShape1.toString().replaceAll("_x0000_s\\d+", "_x0000_s0000"), vmlShape2.toString().replaceAll("_x0000_s\\d+", "_x0000_s0000"));
-        } finally {
-            wb.close();
         }
     }
 
     @Ignore("Used for manual testing with opening the resulting Workbook in Excel")
     @Test
     public void testBug58175a() throws IOException {
-        Workbook wb = new SXSSFWorkbook();
-        try {
+        try (Workbook wb = new SXSSFWorkbook()) {
             Sheet sheet = wb.createSheet();
 
             Row row = sheet.createRow(1);
@@ -294,7 +290,7 @@ public final class TestXSSFComment exten
             comment.setString(str);
             comment.setAuthor("Apache POI");
 
-            /* fixed the problem as well 
+            /* fixed the problem as well
              * comment.setColumn(cell.getColumnIndex());
              * comment.setRow(cell.getRowIndex());
              */
@@ -302,14 +298,9 @@ public final class TestXSSFComment exten
             // Assign the comment to the cell
             cell.setCellComment(comment);
 
-            OutputStream out = new FileOutputStream("C:\\temp\\58175.xlsx");
-            try {
+            try (OutputStream out = new FileOutputStream("C:\\temp\\58175.xlsx")) {
                 wb.write(out);
-            } finally {
-                out.close();
             }
-        } finally {
-            wb.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDrawing.java Sun Dec 15 14:53:11 2019
@@ -175,12 +175,9 @@ public class TestXSSFDrawing {
             XSSFDrawing drawing = sheet.createDrawingPatriarch();
             assertNotNull(drawing);
         }
-        OPCPackage pkg = wb.getPackage();
-        try {
+        try (OPCPackage pkg = wb.getPackage()) {
             assertEquals(3, pkg.getPartsByContentType(XSSFRelation.DRAWINGS.getContentType()).size());
             checkRewrite(wb);
-        } finally {
-            pkg.close();
         }
         wb.close();
     }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java Sun Dec 15 14:53:11 2019
@@ -33,23 +33,22 @@ public class TestXSSFSheetMergeRegions {
 
     @Test
     public void testMergeRegionsSpeed() throws IOException {
-        final XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("57893-many-merges.xlsx");
-        try {
+        try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("57893-many-merges.xlsx")) {
             long millis = Long.MAX_VALUE;
 
-            // in order to reduce the number of false positives we run it a few times before we fail, 
-            // sometimes it fails on machines that are busy at the moment.  
-            for(int i = 0;i < 5;i++) {
+            // in order to reduce the number of false positives we run it a few times before we fail,
+            // sometimes it fails on machines that are busy at the moment.
+            for (int i = 0; i < 5; i++) {
                 millis = runTest(wb);
-                if(millis < 2000) {
+                if (millis < 2000) {
                     break;
                 }
-                LOG.log(POILogger.INFO,"Retry " + i + " because run-time is too high: " + millis);
+                LOG.log(POILogger.INFO, "Retry " + i + " because run-time is too high: " + millis);
             }
 
             boolean inGump = false;
             String version = System.getProperty("version.id");
-            if(version != null && version.startsWith("gump-")) {
+            if (version != null && version.startsWith("gump-")) {
                 inGump = true;
             }
 
@@ -57,8 +56,6 @@ public class TestXSSFSheetMergeRegions {
             // when running in Gump, the VM is very slow, so we should allow much more time
             assertTrue("Should have taken <2000 ms to iterate 50k merged regions but took " + millis,
                     inGump ? millis < 8000 : millis < 2000);
-        } finally {
-            wb.close();
         }
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextParagraph.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextParagraph.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextParagraph.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextParagraph.java Sun Dec 15 14:53:11 2019
@@ -27,28 +27,27 @@ import org.junit.Test;
 public class TestXSSFTextParagraph {
     @Test
     public void testXSSFTextParagraph() throws IOException {
-        XSSFWorkbook wb = new XSSFWorkbook();
-        try {
+        try (XSSFWorkbook wb = new XSSFWorkbook()) {
             XSSFSheet sheet = wb.createSheet();
             XSSFDrawing drawing = sheet.createDrawingPatriarch();
-    
+
             XSSFTextBox shape = drawing.createTextbox(new XSSFClientAnchor(0, 0, 0, 0, 2, 2, 3, 4));
             XSSFRichTextString rt = new XSSFRichTextString("Test String");
-    
+
             XSSFFont font = wb.createFont();
             Color color = new Color(0, 255, 255);
             font.setColor(new XSSFColor(color, wb.getStylesSource().getIndexedColors()));
             font.setFontName("Arial");
             rt.applyFont(font);
-    
+
             shape.setText(rt);
-            
+
             List<XSSFTextParagraph> paras = shape.getTextParagraphs();
             assertEquals(1, paras.size());
-    
+
             XSSFTextParagraph text = paras.get(0);
             assertEquals("Test String", text.getText());
-            
+
             assertFalse(text.isBullet());
             assertNotNull(text.getXmlObject());
             assertEquals(shape.getCTShape(), text.getParentShape());
@@ -59,7 +58,7 @@ public class TestXSSFTextParagraph {
             assertEquals(2, text.getTextRuns().size());
             text.addNewTextRun();
             assertEquals(3, text.getTextRuns().size());
-            
+
             assertEquals(TextAlign.LEFT, text.getTextAlign());
             text.setTextAlign(null);
             assertEquals(TextAlign.LEFT, text.getTextAlign());
@@ -69,7 +68,7 @@ public class TestXSSFTextParagraph {
             assertEquals(TextAlign.RIGHT, text.getTextAlign());
             text.setTextAlign(null);
             assertEquals(TextAlign.LEFT, text.getTextAlign());
-            
+
             text.setTextFontAlign(TextFontAlign.BASELINE);
             assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
             text.setTextFontAlign(TextFontAlign.BOTTOM);
@@ -78,19 +77,19 @@ public class TestXSSFTextParagraph {
             assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
             text.setTextFontAlign(null);
             assertEquals(TextFontAlign.BASELINE, text.getTextFontAlign());
-            
+
             assertNull(text.getBulletFont());
             text.setBulletFont("Arial");
             assertEquals("Arial", text.getBulletFont());
-            
+
             assertNull(text.getBulletCharacter());
             text.setBulletCharacter(".");
             assertEquals(".", text.getBulletCharacter());
-            
+
             assertNull(text.getBulletFontColor());
             text.setBulletFontColor(color);
             assertEquals(color, text.getBulletFontColor());
-            
+
             assertEquals(100.0, text.getBulletFontSize(), 0.01);
             text.setBulletFontSize(1.0);
             assertEquals(1.0, text.getBulletFontSize(), 0.01);
@@ -112,7 +111,7 @@ public class TestXSSFTextParagraph {
             assertEquals(0.0, text.getIndent(), 0.01);
             text.setIndent(-1.0);
             assertEquals(0.0, text.getIndent(), 0.01);
-            
+
             assertEquals(0.0, text.getLeftMargin(), 0.01);
             text.setLeftMargin(3.0);
             assertEquals(3.0, text.getLeftMargin(), 0.01);
@@ -120,7 +119,7 @@ public class TestXSSFTextParagraph {
             assertEquals(0.0, text.getLeftMargin(), 0.01);
             text.setLeftMargin(-1.0);
             assertEquals(0.0, text.getLeftMargin(), 0.01);
-            
+
             assertEquals(0.0, text.getRightMargin(), 0.01);
             text.setRightMargin(4.5);
             assertEquals(4.5, text.getRightMargin(), 0.01);
@@ -128,13 +127,13 @@ public class TestXSSFTextParagraph {
             assertEquals(0.0, text.getRightMargin(), 0.01);
             text.setRightMargin(-1.0);
             assertEquals(0.0, text.getRightMargin(), 0.01);
-            
+
             assertEquals(0.0, text.getDefaultTabSize(), 0.01);
-            
+
             assertEquals(0.0, text.getTabStop(0), 0.01);
             text.addTabStop(3.14);
             assertEquals(3.14, text.getTabStop(0), 0.01);
-            
+
             assertEquals(100.0, text.getLineSpacing(), 0.01);
             text.setLineSpacing(3.15);
             assertEquals(3.15, text.getLineSpacing(), 0.01);
@@ -152,13 +151,13 @@ public class TestXSSFTextParagraph {
             assertEquals(6.17, text.getSpaceAfter(), 0.01);
             text.setSpaceAfter(-8.17);
             assertEquals(-8.17, text.getSpaceAfter(), 0.01);
-            
+
             assertEquals(0, text.getLevel());
             text.setLevel(1);
             assertEquals(1, text.getLevel());
             text.setLevel(4);
             assertEquals(4, text.getLevel());
-            
+
             assertTrue(text.isBullet());
             assertFalse(text.isBulletAutoNumber());
             text.setBullet(false);
@@ -170,7 +169,7 @@ public class TestXSSFTextParagraph {
             assertFalse(text.isBulletAutoNumber());
             assertEquals(0, text.getBulletAutoNumberStart());
             assertEquals(ListAutoNumber.ARABIC_PLAIN, text.getBulletAutoNumberScheme());
-            
+
             text.setBullet(false);
             assertFalse(text.isBullet());
             text.setBullet(ListAutoNumber.CIRCLE_NUM_DB_PLAIN);
@@ -187,12 +186,10 @@ public class TestXSSFTextParagraph {
             assertEquals(10, text.getBulletAutoNumberStart());
             assertEquals(ListAutoNumber.CIRCLE_NUM_WD_BLACK_PLAIN, text.getBulletAutoNumberScheme());
 
-            
+
             assertNotNull(text.toString());
-            
+
             new XSSFTextParagraph(text.getXmlObject(), shape.getCTShape());
-        } finally {
-            wb.close();
         }
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextRun.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextRun.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFTextRun.java Sun Dec 15 14:53:11 2019
@@ -27,11 +27,10 @@ import org.junit.Test;
 public class TestXSSFTextRun {
     @Test
     public void testXSSFTextParagraph() throws IOException {
-        XSSFWorkbook wb = new XSSFWorkbook();
-        try {
+        try (XSSFWorkbook wb = new XSSFWorkbook()) {
             XSSFSheet sheet = wb.createSheet();
             XSSFDrawing drawing = sheet.createDrawingPatriarch();
-    
+
             XSSFTextBox shape = drawing.createTextbox(new XSSFClientAnchor(0, 0, 0, 0, 2, 2, 3, 4));
 
             XSSFTextParagraph para = shape.addNewTextParagraph();
@@ -41,17 +40,17 @@ public class TestXSSFTextRun {
             assertEquals(1, runs.size());
             XSSFTextRun run = runs.get(0);
             assertEquals("Line 1", run.getText());
-            
+
             assertNotNull(run.getParentParagraph());
             assertNotNull(run.getXmlObject());
             assertNotNull(run.getRPr());
-            
-            assertEquals(new Color(0,0,0), run.getFontColor());
-            
+
+            assertEquals(new Color(0, 0, 0), run.getFontColor());
+
             Color color = new Color(0, 255, 255);
             run.setFontColor(color);
             assertEquals(color, run.getFontColor());
-            
+
             assertEquals(11.0, run.getFontSize(), 0.01);
             run.setFontSize(12.32);
             assertEquals(12.32, run.getFontSize(), 0.01);
@@ -66,7 +65,7 @@ public class TestXSSFTextRun {
                 assertTrue(e.getMessage().contains("0.9"));
             }
             assertEquals(11.0, run.getFontSize(), 0.01);
-            
+
             assertEquals(0.0, run.getCharacterSpacing(), 0.01);
             run.setCharacterSpacing(12.31);
             assertEquals(12.31, run.getCharacterSpacing(), 0.01);
@@ -74,28 +73,28 @@ public class TestXSSFTextRun {
             assertEquals(0.0, run.getCharacterSpacing(), 0.01);
             run.setCharacterSpacing(0.0);
             assertEquals(0.0, run.getCharacterSpacing(), 0.01);
-            
+
             assertEquals("Calibri", run.getFontFamily());
-            run.setFontFamily("Arial", (byte)1, (byte)1, false);
+            run.setFontFamily("Arial", (byte) 1, (byte) 1, false);
             assertEquals("Arial", run.getFontFamily());
-            run.setFontFamily("Arial", (byte)-1, (byte)1, false);
+            run.setFontFamily("Arial", (byte) -1, (byte) 1, false);
             assertEquals("Arial", run.getFontFamily());
-            run.setFontFamily("Arial", (byte)1, (byte)-1, false);
+            run.setFontFamily("Arial", (byte) 1, (byte) -1, false);
             assertEquals("Arial", run.getFontFamily());
-            run.setFontFamily("Arial", (byte)1, (byte)1, true);
+            run.setFontFamily("Arial", (byte) 1, (byte) 1, true);
             assertEquals("Arial", run.getFontFamily());
-            run.setFontFamily(null, (byte)1, (byte)1, false);
+            run.setFontFamily(null, (byte) 1, (byte) 1, false);
             assertEquals("Calibri", run.getFontFamily());
-            run.setFontFamily(null, (byte)1, (byte)1, false);
+            run.setFontFamily(null, (byte) 1, (byte) 1, false);
             assertEquals("Calibri", run.getFontFamily());
 
             run.setFont("Arial");
             assertEquals("Arial", run.getFontFamily());
-            
-            assertEquals((byte)0, run.getPitchAndFamily());
+
+            assertEquals((byte) 0, run.getPitchAndFamily());
             run.setFont(null);
-            assertEquals((byte)0, run.getPitchAndFamily());
-            
+            assertEquals((byte) 0, run.getPitchAndFamily());
+
             assertFalse(run.isStrikethrough());
             run.setStrikethrough(true);
             assertTrue(run.isStrikethrough());
@@ -113,7 +112,7 @@ public class TestXSSFTextRun {
             assertTrue(run.isSubscript());
             run.setSubscript(false);
             assertFalse(run.isSubscript());
-            
+
             assertEquals(TextCap.NONE, run.getTextCap());
 
             assertFalse(run.isBold());
@@ -133,10 +132,8 @@ public class TestXSSFTextRun {
             assertTrue(run.isUnderline());
             run.setUnderline(false);
             assertFalse(run.isUnderline());
-            
+
             assertNotNull(run.toString());
-        } finally {
-            wb.close();
         }
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFVMLDrawing.java Sun Dec 15 14:53:11 2019
@@ -112,11 +112,8 @@ public class TestXSSFVMLDrawing {
     public void testFindCommentShape() throws IOException, XmlException {
         
         XSSFVMLDrawing vml = new XSSFVMLDrawing();
-        InputStream stream = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("vmlDrawing1.vml");
-        try {
+        try (InputStream stream = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("vmlDrawing1.vml")) {
             vml.read(stream);
-        } finally {
-            stream.close();
         }
 
         CTShape sh_a1 = vml.findCommentShape(0, 0);
@@ -150,11 +147,8 @@ public class TestXSSFVMLDrawing {
     @Test
     public void testRemoveCommentShape() throws IOException, XmlException {
         XSSFVMLDrawing vml = new XSSFVMLDrawing();
-        InputStream stream = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("vmlDrawing1.vml");
-        try {
+        try (InputStream stream = POIDataSamples.getSpreadSheetInstance().openResourceAsStream("vmlDrawing1.vml")) {
             vml.read(stream);
-        } finally {
-            stream.close();
         }
 
         CTShape sh_a1 = vml.findCommentShape(0, 0);
@@ -168,11 +162,8 @@ public class TestXSSFVMLDrawing {
     @Test
     public void testEvilUnclosedBRFixing() throws IOException, XmlException {
         XSSFVMLDrawing vml = new XSSFVMLDrawing();
-        InputStream stream = POIDataSamples.getOpenXML4JInstance().openResourceAsStream("bug-60626.vml");
-        try {
+        try (InputStream stream = POIDataSamples.getOpenXML4JInstance().openResourceAsStream("bug-60626.vml")) {
             vml.read(stream);
-        } finally {
-            stream.close();
         }
         Pattern p = Pattern.compile("<br/>");
         int count = 0;

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java Sun Dec 15 14:53:11 2019
@@ -36,14 +36,14 @@ import org.apache.poi.poifs.filesystem.P
  */
 public final class VSDDumper {
     final static String tabs = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
-    
+
     private final PrintStream ps;
     private final HDGFDiagram hdgf;
     VSDDumper(PrintStream ps, HDGFDiagram hdgf) {
         this.ps = ps;
         this.hdgf = hdgf;
     }
-    
+
 	public static void main(String[] args) throws Exception {
 		if(args.length == 0) {
 			System.err.println("Use:");
@@ -53,11 +53,11 @@ public final class VSDDumper {
 
 		try (POIFSFileSystem poifs = new POIFSFileSystem(new File(args[0]));
 			 HDGFDiagram hdgf = new HDGFDiagram(poifs)) {
-			PrintStream ps = System.out;
-			ps.println("Opened " + args[0]);
-			VSDDumper vd = new VSDDumper(ps, hdgf);
-			vd.dumpFile();
-		}
+            PrintStream ps = System.out;
+            ps.println("Opened " + args[0]);
+            VSDDumper vd = new VSDDumper(ps, hdgf);
+            vd.dumpFile();
+        }
 	}
 
 	public void dumpFile() {
@@ -65,7 +65,7 @@ public final class VSDDumper {
         ps.println();
         dumpStream(hdgf.getTrailerStream(), 0);
 	}
-	
+
 	private void dumpStream(Stream stream, int indent) {
 		Pointer ptr = stream.getPointer();
 		dumpVal("Stream at", ptr.getOffset(), indent);
@@ -111,7 +111,7 @@ public final class VSDDumper {
             dumpVal(command.getDefinition().getName(), ""+command.getValue(), indent+1);
         }
 	}
-	
+
 	private void dumpVal(String label, long value, int indent) {
         ps.print(tabs.substring(0,indent));
         ps.print(label);
@@ -130,6 +130,6 @@ public final class VSDDumper {
         ps.print(tabs.substring(0,indent));
         ps.print(label);
         ps.print('\t');
-        ps.println(value);      
+        ps.println(value);
     }
 }

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java Sun Dec 15 14:53:11 2019
@@ -52,14 +52,11 @@ public final class HMEFDumper {
             continue;
          }
 
-         InputStream stream = new FileInputStream(arg);
-         try {
-            HMEFDumper dumper = new HMEFDumper(stream);
-            dumper.setTruncatePropertyData(truncatePropData);
-            dumper.dump();
-         } finally {
-            stream.close();
-         }
+          try (InputStream stream = new FileInputStream(arg)) {
+              HMEFDumper dumper = new HMEFDumper(stream);
+              dumper.setTruncatePropertyData(truncatePropData);
+              dumper.dump();
+          }
       }
    }
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/extractor/HMEFContentsExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/extractor/HMEFContentsExtractor.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/extractor/HMEFContentsExtractor.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/extractor/HMEFContentsExtractor.java Sun Dec 15 14:53:11 2019
@@ -93,19 +93,16 @@ public final class HMEFContentsExtractor
             }
             dest = new File(name + ".txt");
         }
-        
-        OutputStream fout = new FileOutputStream(dest);
-        try {
+
+        try (OutputStream fout = new FileOutputStream(dest)) {
             if (body instanceof MAPIStringAttribute) {
                 // Save in a predictable encoding, not raw bytes
-                String text = ((MAPIStringAttribute)body).getDataString();
+                String text = ((MAPIStringAttribute) body).getDataString();
                 fout.write(text.getBytes(StringUtil.UTF8));
             } else {
                 // Save the raw bytes, should be raw RTF
                 fout.write(body.getData());
             }
-        } finally {
-            fout.close();
         }
     }
     
@@ -156,11 +153,8 @@ public final class HMEFContentsExtractor
             
             // Save it
             File file = new File(dir, filename);
-            OutputStream fout = new FileOutputStream(file);
-            try {
-                fout.write( att.getContents() );
-            } finally {
-                fout.close();
+            try (OutputStream fout = new FileOutputStream(file)) {
+                fout.write(att.getContents());
             }
         }
     }

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java?rev=1871590&r1=1871589&r2=1871590&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java Sun Dec 15 14:53:11 2019
@@ -65,30 +65,27 @@ public final class PICT extends Metafile
         }
         byte[] chunk = new byte[4096];
         ByteArrayOutputStream out = new ByteArrayOutputStream(header.getWmfSize());
-        InflaterInputStream inflater = new InflaterInputStream( bis );
-        try {
+        try (InflaterInputStream inflater = new InflaterInputStream(bis)) {
             int count;
-            while ((count = inflater.read(chunk)) >=0 ) {
-                out.write(chunk,0,count);
+            while ((count = inflater.read(chunk)) >= 0) {
+                out.write(chunk, 0, count);
                 // PICT zip-stream can be erroneous, so we clear the array to determine
                 // the maximum of read bytes, after the inflater crashed
-                bytefill(chunk, (byte)0);
+                bytefill(chunk, (byte) 0);
             }
         } catch (Exception e) {
             int lastLen;
-            for (lastLen=chunk.length-1; lastLen>=0 && chunk[lastLen] == 0; lastLen--);
+            for (lastLen = chunk.length - 1; lastLen >= 0 && chunk[lastLen] == 0; lastLen--) ;
             if (++lastLen > 0) {
                 if (header.getWmfSize() > out.size()) {
                     // sometimes the wmfsize is smaller than the amount of already successfully read bytes
                     // in this case we take the lastLen as-is, otherwise we truncate it to the given size
                     lastLen = Math.min(lastLen, header.getWmfSize() - out.size());
                 }
-                out.write(chunk,0,lastLen);
+                out.write(chunk, 0, lastLen);
             }
             // End of picture marker for PICT is 0x00 0xFF
-            LOG.log(POILogger.ERROR, "PICT zip-stream is invalid, read as much as possible. Uncompressed length of header: "+header.getWmfSize()+" / Read bytes: "+out.size(), e);
-        } finally {
-            inflater.close();
+            LOG.log(POILogger.ERROR, "PICT zip-stream is invalid, read as much as possible. Uncompressed length of header: " + header.getWmfSize() + " / Read bytes: " + out.size(), e);
         }
         return out.toByteArray();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org