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 2017/09/22 21:16:11 UTC

svn commit: r1809354 [2/4] - in /poi/trunk/src/examples/src/org/apache/poi: crypt/examples/ hpsf/examples/ hslf/examples/ hsmf/examples/ hssf/usermodel/examples/ hwpf/ ss/examples/ ss/examples/formula/ xslf/usermodel/ xslf/usermodel/tutorial/ xssf/even...

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/MergedCells.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/MergedCells.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/MergedCells.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/MergedCells.java Fri Sep 22 21:16:09 2017
@@ -31,19 +31,19 @@ import org.apache.poi.ss.util.CellRangeA
  */
 public class MergedCells {
    public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet("new sheet");
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+             HSSFSheet sheet = wb.createSheet("new sheet");
 
-        HSSFRow row = sheet.createRow(1);
-        HSSFCell cell = row.createCell(1);
-        cell.setCellValue("This is a test of merging");
+             HSSFRow row = sheet.createRow(1);
+             HSSFCell cell = row.createCell(1);
+             cell.setCellValue("This is a test of merging");
 
-        sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 2));
+             sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 2));
 
-        // Write the output to a file
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+             // Write the output to a file
+             try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                  wb.write(fileOut);
+             }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewLinesInCells.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewLinesInCells.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewLinesInCells.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewLinesInCells.java Fri Sep 22 21:16:09 2017
@@ -33,31 +33,27 @@ import org.apache.poi.ss.usermodel.CellT
  */
 public class NewLinesInCells {
     public static void main( String[] args ) throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+			HSSFSheet s = wb.createSheet();
+			HSSFFont f2 = wb.createFont();
 
-        HSSFWorkbook wb = new HSSFWorkbook();
-		HSSFSheet s = wb.createSheet();
-		HSSFRow r = null;
-		HSSFCell c = null;
-		HSSFCellStyle cs = wb.createCellStyle();
-		HSSFFont f2 = wb.createFont();
+			HSSFCellStyle cs = wb.createCellStyle();
 
-		cs = wb.createCellStyle();
+			cs.setFont(f2);
+			// Word Wrap MUST be turned on
+			cs.setWrapText(true);
 
-		cs.setFont(f2);
-		// Word Wrap MUST be turned on
-		cs.setWrapText(true);
+			HSSFRow r = s.createRow(2);
+			r.setHeight((short) 0x349);
+			HSSFCell c = r.createCell(2);
+			c.setCellType(CellType.STRING);
+			c.setCellValue("Use \n with word wrap on to create a new line");
+			c.setCellStyle(cs);
+			s.setColumnWidth(2, (int) ((50 * 8) / ((double) 1 / 20)));
 
-		r = s.createRow(2);
-		r.setHeight((short) 0x349);
-		c = r.createCell(2);
-		c.setCellType(CellType.STRING);
-		c.setCellValue("Use \n with word wrap on to create a new line");
-		c.setCellStyle(cs);
-		s.setColumnWidth(2, (int) ((50 * 8) / ((double) 1 / 20)));
-
-		FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-		wb.write(fileOut);
-		fileOut.close();
-		wb.close();
+			try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+				wb.write(fileOut);
+			}
+		}
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewSheet.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewSheet.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewSheet.java Fri Sep 22 21:16:09 2017
@@ -28,16 +28,17 @@ import org.apache.poi.ss.util.WorkbookUt
  */
 public abstract class NewSheet {
     public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        wb.createSheet("new sheet");
-        // create with default name
-        wb.createSheet();
-        final String name = "second sheet";
-        // setting sheet name later
-        wb.setSheetName(1, WorkbookUtil.createSafeSheetName(name));
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            wb.createSheet("new sheet");
+            // create with default name
+            wb.createSheet();
+            final String name = "second sheet";
+            // setting sheet name later
+            wb.setSheetName(1, WorkbookUtil.createSafeSheetName(name));
+
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewWorkbook.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewWorkbook.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/NewWorkbook.java Fri Sep 22 21:16:09 2017
@@ -29,10 +29,10 @@ import org.apache.poi.hssf.usermodel.HSS
  */
 public class NewWorkbook {
     public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

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=1809354&r1=1809353&r2=1809354&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 Fri Sep 22 21:16:09 2017
@@ -30,24 +30,25 @@ import java.io.*;
 public class OfficeDrawing {
     public static void main(String[] args) throws IOException {
         // Create the workbook and sheets.
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet1 = wb.createSheet("new sheet");
-        HSSFSheet sheet2 = wb.createSheet("second sheet");
-        HSSFSheet sheet3 = wb.createSheet("third sheet");
-        HSSFSheet sheet4 = wb.createSheet("fourth sheet");
-        HSSFSheet sheet5 = wb.createSheet("fifth sheet");
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet1 = wb.createSheet("new sheet");
+            HSSFSheet sheet2 = wb.createSheet("second sheet");
+            HSSFSheet sheet3 = wb.createSheet("third sheet");
+            HSSFSheet sheet4 = wb.createSheet("fourth sheet");
+            HSSFSheet sheet5 = wb.createSheet("fifth sheet");
 
-        // Draw stuff in them
-        drawSheet1( sheet1 );
-        drawSheet2( sheet2 );
-        drawSheet3( sheet3 );
-        drawSheet4( sheet4, wb );
-        drawSheet5( sheet5, wb );
+            // Draw stuff in them
+            drawSheet1(sheet1);
+            drawSheet2(sheet2);
+            drawSheet3(sheet3);
+            drawSheet4(sheet4, wb);
+            drawSheet5(sheet5, wb);
 
-        // Write the file out.
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
+            // Write the file out.
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 
     private static void drawSheet1( HSSFSheet sheet1 )

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/OfficeDrawingWithGraphics.java Fri Sep 22 21:16:09 2017
@@ -32,51 +32,51 @@ public class OfficeDrawingWithGraphics {
     public static void main( String[] args ) throws IOException {
         // Create a workbook with one sheet and size the first three somewhat
         // larger so we can fit the chemical structure diagram in.
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet( "my drawing" );
-        sheet.setColumnWidth(1, 256 * 27);
-        HSSFRow row1 = sheet.createRow(0);
-        row1.setHeightInPoints(10 * 15f);
-        HSSFRow row2 = sheet.createRow(1);
-        row2.setHeightInPoints(5 * 15f);
-        HSSFRow row3 = sheet.createRow(2);
-        row3.setHeightInPoints(10 * 15f);
-
-        // Add some cells so we can test that the anchoring works when we
-        // sort them.
-        row1.createCell(0).setCellValue("C");
-        row2.createCell(0).setCellValue("A");
-        row3.createCell(0).setCellValue("B");
-
-        // Create the top level drawing patriarch.
-        HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
-
-        HSSFClientAnchor a;
-        HSSFShapeGroup group;
-        EscherGraphics g;
-        EscherGraphics2d g2d;
-        // Anchor entirely within one cell.
-        a = new HSSFClientAnchor( 0, 0, 1023, 255, (short) 1, 0, (short) 1, 0 );
-        group = patriarch.createGroup( a );
-        group.setCoordinates( 0, 0, 320, 276 );
-        float verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) / Math.abs(group.getY2() - group.getY1());
-        g = new EscherGraphics( group, wb, Color.black, verticalPointsPerPixel );
-        g2d = new EscherGraphics2d( g );
-        drawStar( g2d );
-
-        a = new HSSFClientAnchor( 0, 0, 1023, 255, (short) 1, 1, (short) 1, 1 );
-        group = patriarch.createGroup( a );
-        group.setCoordinates( 0, 0, 640, 276 );
-        verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) / Math.abs(group.getY2() - group.getY1());
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet = wb.createSheet("my drawing");
+            sheet.setColumnWidth(1, 256 * 27);
+            HSSFRow row1 = sheet.createRow(0);
+            row1.setHeightInPoints(10 * 15f);
+            HSSFRow row2 = sheet.createRow(1);
+            row2.setHeightInPoints(5 * 15f);
+            HSSFRow row3 = sheet.createRow(2);
+            row3.setHeightInPoints(10 * 15f);
+
+            // Add some cells so we can test that the anchoring works when we
+            // sort them.
+            row1.createCell(0).setCellValue("C");
+            row2.createCell(0).setCellValue("A");
+            row3.createCell(0).setCellValue("B");
+
+            // Create the top level drawing patriarch.
+            HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
+
+            HSSFClientAnchor a;
+            HSSFShapeGroup group;
+            EscherGraphics g;
+            EscherGraphics2d g2d;
+            // Anchor entirely within one cell.
+            a = new HSSFClientAnchor(0, 0, 1023, 255, (short) 1, 0, (short) 1, 0);
+            group = patriarch.createGroup(a);
+            group.setCoordinates(0, 0, 320, 276);
+            float verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) / Math.abs(group.getY2() - group.getY1());
+            g = new EscherGraphics(group, wb, Color.black, verticalPointsPerPixel);
+            g2d = new EscherGraphics2d(g);
+            drawStar(g2d);
+
+            a = new HSSFClientAnchor(0, 0, 1023, 255, (short) 1, 1, (short) 1, 1);
+            group = patriarch.createGroup(a);
+            group.setCoordinates(0, 0, 640, 276);
+            verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) / Math.abs(group.getY2() - group.getY1());
 //        verticalPixelsPerPoint = (float)Math.abs(group.getY2() - group.getY1()) / a.getAnchorHeightInPoints(sheet);
-        g = new EscherGraphics( group, wb, Color.black, verticalPointsPerPixel );
-        g2d = new EscherGraphics2d( g );
-        drawStar( g2d );
-
-        FileOutputStream out = new FileOutputStream("workbook.xls");
-        wb.write(out);
-        out.close();
-
+            g = new EscherGraphics(group, wb, Color.black, verticalPointsPerPixel);
+            g2d = new EscherGraphics2d(g);
+            drawStar(g2d);
+
+            try (FileOutputStream out = new FileOutputStream("workbook.xls")) {
+                wb.write(out);
+            }
+        }
     }
 
     private static void drawStar( EscherGraphics2d g2d )

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/Outlines.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/Outlines.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/Outlines.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/Outlines.java Fri Sep 22 21:16:09 2017
@@ -37,14 +37,11 @@ public class Outlines implements Closeab
     throws IOException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
         POILogger LOGGER = POILogFactory.getLogger(Outlines.class);
         for (int i=1; i<=13; i++) {
-            Outlines o = new Outlines();
-            try {
-                String log = (String)Outlines.class.getDeclaredMethod("test"+i).invoke(o);
-                String filename = "outline"+i+".xls";
+            try (Outlines o = new Outlines()) {
+                String log = (String) Outlines.class.getDeclaredMethod("test" + i).invoke(o);
+                String filename = "outline" + i + ".xls";
                 o.writeOut(filename);
-                LOGGER.log(POILogger.INFO, filename+" written. "+log);
-            } finally {
-                o.close();
+                LOGGER.log(POILogger.INFO, filename + " written. " + log);
             }
         }
     }
@@ -53,11 +50,8 @@ public class Outlines implements Closeab
     private final HSSFSheet sheet1 = wb.createSheet("new sheet");
 
     public void writeOut(String filename) throws IOException {
-        FileOutputStream fileOut = new FileOutputStream(filename);
-        try {
+        try (FileOutputStream fileOut = new FileOutputStream(filename)) {
             wb.write(fileOut);
-        } finally {
-            fileOut.close();
         }
     }
     

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ReadWriteWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ReadWriteWorkbook.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ReadWriteWorkbook.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ReadWriteWorkbook.java Fri Sep 22 21:16:09 2017
@@ -36,12 +36,7 @@ import org.apache.poi.ss.usermodel.CellT
  */
 public class ReadWriteWorkbook {
     public static void main(String[] args) throws IOException {
-        FileInputStream fileIn = null;
-        FileOutputStream fileOut = null;
-
-        try
-        {
-            fileIn = new FileInputStream("workbook.xls");
+        try (FileInputStream fileIn = new FileInputStream("workbook.xls")) {
             POIFSFileSystem fs = new POIFSFileSystem(fileIn);
             HSSFWorkbook wb = new HSSFWorkbook(fs);
             HSSFSheet sheet = wb.getSheetAt(0);
@@ -55,13 +50,9 @@ public class ReadWriteWorkbook {
             cell.setCellValue("a test");
 
             // Write the output to a file
-            fileOut = new FileOutputStream("workbookout.xls");
-            wb.write(fileOut);
-        } finally {
-            if (fileOut != null)
-                fileOut.close();
-            if (fileIn != null)
-                fileIn.close();
+            try (FileOutputStream fileOut = new FileOutputStream("workbookout.xls")) {
+                wb.write(fileOut);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/RepeatingRowsAndColumns.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/RepeatingRowsAndColumns.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/RepeatingRowsAndColumns.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/RepeatingRowsAndColumns.java Fri Sep 22 21:16:09 2017
@@ -30,35 +30,35 @@ import org.apache.poi.ss.util.CellRangeA
 
 public class RepeatingRowsAndColumns {
     public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet1 = wb.createSheet("first sheet");
-        HSSFSheet sheet2 = wb.createSheet("second sheet");
-        HSSFSheet sheet3 = wb.createSheet("third sheet");
-
-        HSSFFont boldFont = wb.createFont();
-        boldFont.setFontHeightInPoints((short)22);
-        boldFont.setBold(true);
-
-        HSSFCellStyle boldStyle = wb.createCellStyle();
-        boldStyle.setFont(boldFont);
-
-        HSSFRow row = sheet1.createRow(1);
-        HSSFCell cell = row.createCell(0);
-        cell.setCellValue("This quick brown fox");
-        cell.setCellStyle(boldStyle);
-
-        // Set the columns to repeat from column 0 to 2 on the first sheet
-        sheet1.setRepeatingColumns(CellRangeAddress.valueOf("A:C"));
-        // Set the rows to repeat from row 0 to 2 on the second sheet.
-        sheet2.setRepeatingRows(CellRangeAddress.valueOf("1:3"));
-        // Set the the repeating rows and columns on the third sheet.
-        CellRangeAddress cra = CellRangeAddress.valueOf("D1:E2"); 
-        sheet3.setRepeatingColumns(cra);
-        sheet3.setRepeatingRows(cra);
-
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet1 = wb.createSheet("first sheet");
+            HSSFSheet sheet2 = wb.createSheet("second sheet");
+            HSSFSheet sheet3 = wb.createSheet("third sheet");
+
+            HSSFFont boldFont = wb.createFont();
+            boldFont.setFontHeightInPoints((short) 22);
+            boldFont.setBold(true);
+
+            HSSFCellStyle boldStyle = wb.createCellStyle();
+            boldStyle.setFont(boldFont);
+
+            HSSFRow row = sheet1.createRow(1);
+            HSSFCell cell = row.createCell(0);
+            cell.setCellValue("This quick brown fox");
+            cell.setCellStyle(boldStyle);
+
+            // Set the columns to repeat from column 0 to 2 on the first sheet
+            sheet1.setRepeatingColumns(CellRangeAddress.valueOf("A:C"));
+            // Set the rows to repeat from row 0 to 2 on the second sheet.
+            sheet2.setRepeatingRows(CellRangeAddress.valueOf("1:3"));
+            // Set the the repeating rows and columns on the third sheet.
+            CellRangeAddress cra = CellRangeAddress.valueOf("D1:E2");
+            sheet3.setRepeatingColumns(cra);
+            sheet3.setRepeatingRows(cra);
+
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/SplitAndFreezePanes.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/SplitAndFreezePanes.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/SplitAndFreezePanes.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/SplitAndFreezePanes.java Fri Sep 22 21:16:09 2017
@@ -28,24 +28,24 @@ import org.apache.poi.ss.usermodel.Sheet
 
 public class SplitAndFreezePanes {
     public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet1 = wb.createSheet("new sheet");
-        HSSFSheet sheet2 = wb.createSheet("second sheet");
-        HSSFSheet sheet3 = wb.createSheet("third sheet");
-        HSSFSheet sheet4 = wb.createSheet("fourth sheet");
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet1 = wb.createSheet("new sheet");
+            HSSFSheet sheet2 = wb.createSheet("second sheet");
+            HSSFSheet sheet3 = wb.createSheet("third sheet");
+            HSSFSheet sheet4 = wb.createSheet("fourth sheet");
 
-        // Freeze just one row
-        sheet1.createFreezePane( 0, 1, 0, 1 );
-        // Freeze just one column
-        sheet2.createFreezePane( 1, 0, 1, 0 );
-        // Freeze the columns and rows (forget about scrolling position of the lower right quadrant).
-        sheet3.createFreezePane( 2, 2 );
-        // Create a split with the lower left side being the active quadrant
-        sheet4.createSplitPane( 2000, 2000, 0, 0, Sheet.PANE_LOWER_LEFT );
+            // Freeze just one row
+            sheet1.createFreezePane(0, 1, 0, 1);
+            // Freeze just one column
+            sheet2.createFreezePane(1, 0, 1, 0);
+            // Freeze the columns and rows (forget about scrolling position of the lower right quadrant).
+            sheet3.createFreezePane(2, 2);
+            // Create a split with the lower left side being the active quadrant
+            sheet4.createSplitPane(2000, 2000, 0, 0, Sheet.PANE_LOWER_LEFT);
 
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/WorkingWithFonts.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/WorkingWithFonts.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/WorkingWithFonts.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/WorkingWithFonts.java Fri Sep 22 21:16:09 2017
@@ -32,32 +32,32 @@ import org.apache.poi.hssf.usermodel.HSS
  */
 public class WorkingWithFonts {
     public static void main(String[] args) throws IOException {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet = wb.createSheet("new sheet");
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet = wb.createSheet("new sheet");
 
-        // Create a row and put some cells in it. Rows are 0 based.
-        HSSFRow row = sheet.createRow(1);
+            // Create a row and put some cells in it. Rows are 0 based.
+            HSSFRow row = sheet.createRow(1);
 
-        // Create a new font and alter it.
-        HSSFFont font = wb.createFont();
-        font.setFontHeightInPoints((short)24);
-        font.setFontName("Courier New");
-        font.setItalic(true);
-        font.setStrikeout(true);
+            // Create a new font and alter it.
+            HSSFFont font = wb.createFont();
+            font.setFontHeightInPoints((short) 24);
+            font.setFontName("Courier New");
+            font.setItalic(true);
+            font.setStrikeout(true);
 
-        // Fonts are set into a style so create a new one to use.
-        HSSFCellStyle style = wb.createCellStyle();
-        style.setFont(font);
+            // Fonts are set into a style so create a new one to use.
+            HSSFCellStyle style = wb.createCellStyle();
+            style.setFont(font);
 
-        // Create a cell and put a value in it.
-        HSSFCell cell = row.createCell(1);
-        cell.setCellValue("This is a test of fonts");
-        cell.setCellStyle(style);
+            // Create a cell and put a value in it.
+            HSSFCell cell = row.createCell(1);
+            cell.setCellValue("This is a test of fonts");
+            cell.setCellStyle(style);
 
-        // Write the output to a file
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+            // Write the output to a file
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ZoomSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ZoomSheet.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ZoomSheet.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hssf/usermodel/examples/ZoomSheet.java Fri Sep 22 21:16:09 2017
@@ -32,15 +32,14 @@ import java.io.FileOutputStream;
  */
 public class ZoomSheet
 {
-    public static void main(String[] args)
-        throws IOException
-    {
-        HSSFWorkbook wb = new HSSFWorkbook();
-        HSSFSheet sheet1 = wb.createSheet("new sheet");
-        sheet1.setZoom(75);   // 75 percent magnification
-        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
-        wb.write(fileOut);
-        fileOut.close();
-        wb.close();
+    public static void main(String[] args) throws IOException {
+        try (HSSFWorkbook wb = new HSSFWorkbook()) {
+            HSSFSheet sheet1 = wb.createSheet("new sheet");
+            sheet1.setZoom(75);   // 75 percent magnification
+
+            try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
+                wb.write(fileOut);
+            }
+        }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/hwpf/Word2Forrest.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/hwpf/Word2Forrest.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/hwpf/Word2Forrest.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/hwpf/Word2Forrest.java Fri Sep 22 21:16:09 2017
@@ -216,13 +216,9 @@ public final class Word2Forrest
 
 
     public static void main(String[] args) throws IOException {
-        InputStream is = new FileInputStream(args[0]);
-        OutputStream out = new FileOutputStream("test.xml");
-        try {
-            new Word2Forrest(new HWPFDocument(is), out);
-        } finally {
-            out.close();
-            is.close();
-        }
+      try (InputStream is = new FileInputStream(args[0]);
+           OutputStream out = new FileOutputStream("test.xml")) {
+        new Word2Forrest(new HWPFDocument(is), out);
+      }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/AligningCells.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/AligningCells.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/ss/examples/AligningCells.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/AligningCells.java Fri Sep 22 21:16:09 2017
@@ -29,30 +29,29 @@ import org.apache.poi.xssf.usermodel.XSS
 public class AligningCells {
 
     public static void main(String[] args) throws IOException {
-        Workbook wb = new XSSFWorkbook(); //or new HSSFWorkbook();
+        try (Workbook wb = new XSSFWorkbook()) { //or new HSSFWorkbook();
 
-        Sheet sheet = wb.createSheet();
-        Row row = sheet.createRow(2);
-        row.setHeightInPoints(30);
-        for (int i = 0; i < 8; i++) {
-            //column width is set in units of 1/256th of a character width
-            sheet.setColumnWidth(i, 256 * 15);
+            Sheet sheet = wb.createSheet();
+            Row row = sheet.createRow(2);
+            row.setHeightInPoints(30);
+            for (int i = 0; i < 8; i++) {
+                //column width is set in units of 1/256th of a character width
+                sheet.setColumnWidth(i, 256 * 15);
+            }
+
+            createCell(wb, row, 0, HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM);
+            createCell(wb, row, 1, HorizontalAlignment.CENTER_SELECTION, VerticalAlignment.BOTTOM);
+            createCell(wb, row, 2, HorizontalAlignment.FILL, VerticalAlignment.CENTER);
+            createCell(wb, row, 3, HorizontalAlignment.GENERAL, VerticalAlignment.CENTER);
+            createCell(wb, row, 4, HorizontalAlignment.JUSTIFY, VerticalAlignment.JUSTIFY);
+            createCell(wb, row, 5, HorizontalAlignment.LEFT, VerticalAlignment.TOP);
+            createCell(wb, row, 6, HorizontalAlignment.RIGHT, VerticalAlignment.TOP);
+
+            // Write the output to a file
+            try (OutputStream fileOut = new FileOutputStream("ss-example-align.xlsx")) {
+                wb.write(fileOut);
+            }
         }
-
-        createCell(wb, row, 0, HorizontalAlignment.CENTER, VerticalAlignment.BOTTOM);
-        createCell(wb, row, 1, HorizontalAlignment.CENTER_SELECTION, VerticalAlignment.BOTTOM);
-        createCell(wb, row, 2, HorizontalAlignment.FILL, VerticalAlignment.CENTER);
-        createCell(wb, row, 3, HorizontalAlignment.GENERAL, VerticalAlignment.CENTER);
-        createCell(wb, row, 4, HorizontalAlignment.JUSTIFY, VerticalAlignment.JUSTIFY);
-        createCell(wb, row, 5, HorizontalAlignment.LEFT, VerticalAlignment.TOP);
-        createCell(wb, row, 6, HorizontalAlignment.RIGHT, VerticalAlignment.TOP);
-
-        // Write the output to a file
-        OutputStream fileOut = new FileOutputStream("ss-example-align.xlsx");
-        wb.write(fileOut);
-        fileOut.close();
-
-        wb.close();
     }
 
     /**

Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/CalendarDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/CalendarDemo.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/ss/examples/CalendarDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/CalendarDemo.java Fri Sep 22 21:16:09 2017
@@ -51,97 +51,97 @@ public class CalendarDemo {
 
         Calendar calendar = Calendar.getInstance();
         boolean xlsx = true;
-        for (int i = 0; i < args.length; i++) {
-            if(args[i].charAt(0) == '-'){
-                xlsx = args[i].equals("-xlsx");
+        for (String arg : args) {
+            if (arg.charAt(0) == '-') {
+                xlsx = arg.equals("-xlsx");
             } else {
-              calendar.set(Calendar.YEAR, Integer.parseInt(args[i]));
+                calendar.set(Calendar.YEAR, Integer.parseInt(arg));
             }
         }
         int year = calendar.get(Calendar.YEAR);
 
-        Workbook wb = xlsx ? new XSSFWorkbook() : new HSSFWorkbook();
+        try (Workbook wb = xlsx ? new XSSFWorkbook() : new HSSFWorkbook()) {
 
-        Map<String, CellStyle> styles = createStyles(wb);
+            Map<String, CellStyle> styles = createStyles(wb);
 
-        for (int month = 0; month < 12; month++) {
-            calendar.set(Calendar.MONTH, month);
-            calendar.set(Calendar.DAY_OF_MONTH, 1);
-            //create a sheet for each month
-            Sheet sheet = wb.createSheet(months[month]);
-
-            //turn off gridlines
-            sheet.setDisplayGridlines(false);
-            sheet.setPrintGridlines(false);
-            sheet.setFitToPage(true);
-            sheet.setHorizontallyCenter(true);
-            PrintSetup printSetup = sheet.getPrintSetup();
-            printSetup.setLandscape(true);
-
-            //the following three statements are required only for HSSF
-            sheet.setAutobreaks(true);
-            printSetup.setFitHeight((short)1);
-            printSetup.setFitWidth((short)1);
-
-            //the header row: centered text in 48pt font
-            Row headerRow = sheet.createRow(0);
-            headerRow.setHeightInPoints(80);
-            Cell titleCell = headerRow.createCell(0);
-            titleCell.setCellValue(months[month] + " " + year);
-            titleCell.setCellStyle(styles.get("title"));
-            sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$N$1"));
-
-            //header with month titles
-            Row monthRow = sheet.createRow(1);
-            for (int i = 0; i < days.length; i++) {
-                //set column widths, the width is measured in units of 1/256th of a character width
-                sheet.setColumnWidth(i*2, 5*256); //the column is 5 characters wide
-                sheet.setColumnWidth(i*2 + 1, 13*256); //the column is 13 characters wide
-                sheet.addMergedRegion(new CellRangeAddress(1, 1, i*2, i*2+1));
-                Cell monthCell = monthRow.createCell(i*2);
-                monthCell.setCellValue(days[i]);
-                monthCell.setCellStyle(styles.get("month"));
-            }
+            for (int month = 0; month < 12; month++) {
+                calendar.set(Calendar.MONTH, month);
+                calendar.set(Calendar.DAY_OF_MONTH, 1);
+                //create a sheet for each month
+                Sheet sheet = wb.createSheet(months[month]);
+
+                //turn off gridlines
+                sheet.setDisplayGridlines(false);
+                sheet.setPrintGridlines(false);
+                sheet.setFitToPage(true);
+                sheet.setHorizontallyCenter(true);
+                PrintSetup printSetup = sheet.getPrintSetup();
+                printSetup.setLandscape(true);
+
+                //the following three statements are required only for HSSF
+                sheet.setAutobreaks(true);
+                printSetup.setFitHeight((short) 1);
+                printSetup.setFitWidth((short) 1);
+
+                //the header row: centered text in 48pt font
+                Row headerRow = sheet.createRow(0);
+                headerRow.setHeightInPoints(80);
+                Cell titleCell = headerRow.createCell(0);
+                titleCell.setCellValue(months[month] + " " + year);
+                titleCell.setCellStyle(styles.get("title"));
+                sheet.addMergedRegion(CellRangeAddress.valueOf("$A$1:$N$1"));
 
-            int cnt = 1, day=1;
-            int rownum = 2;
-            for (int j = 0; j < 6; j++) {
-                Row row = sheet.createRow(rownum++);
-                row.setHeightInPoints(100);
+                //header with month titles
+                Row monthRow = sheet.createRow(1);
                 for (int i = 0; i < days.length; i++) {
-                    Cell dayCell_1 = row.createCell(i*2);
-                    Cell dayCell_2 = row.createCell(i*2 + 1);
+                    //set column widths, the width is measured in units of 1/256th of a character width
+                    sheet.setColumnWidth(i * 2, 5 * 256); //the column is 5 characters wide
+                    sheet.setColumnWidth(i * 2 + 1, 13 * 256); //the column is 13 characters wide
+                    sheet.addMergedRegion(new CellRangeAddress(1, 1, i * 2, i * 2 + 1));
+                    Cell monthCell = monthRow.createCell(i * 2);
+                    monthCell.setCellValue(days[i]);
+                    monthCell.setCellStyle(styles.get("month"));
+                }
 
-                    int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);
-                    if(cnt >= day_of_week && calendar.get(Calendar.MONTH) == month) {
-                        dayCell_1.setCellValue(day);
-                        calendar.set(Calendar.DAY_OF_MONTH, ++day);
-
-                        if(i == 0 || i == days.length-1) {
-                            dayCell_1.setCellStyle(styles.get("weekend_left"));
-                            dayCell_2.setCellStyle(styles.get("weekend_right"));
+                int cnt = 1, day = 1;
+                int rownum = 2;
+                for (int j = 0; j < 6; j++) {
+                    Row row = sheet.createRow(rownum++);
+                    row.setHeightInPoints(100);
+                    for (int i = 0; i < days.length; i++) {
+                        Cell dayCell_1 = row.createCell(i * 2);
+                        Cell dayCell_2 = row.createCell(i * 2 + 1);
+
+                        int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);
+                        if (cnt >= day_of_week && calendar.get(Calendar.MONTH) == month) {
+                            dayCell_1.setCellValue(day);
+                            calendar.set(Calendar.DAY_OF_MONTH, ++day);
+
+                            if (i == 0 || i == days.length - 1) {
+                                dayCell_1.setCellStyle(styles.get("weekend_left"));
+                                dayCell_2.setCellStyle(styles.get("weekend_right"));
+                            } else {
+                                dayCell_1.setCellStyle(styles.get("workday_left"));
+                                dayCell_2.setCellStyle(styles.get("workday_right"));
+                            }
                         } else {
-                            dayCell_1.setCellStyle(styles.get("workday_left"));
-                            dayCell_2.setCellStyle(styles.get("workday_right"));
+                            dayCell_1.setCellStyle(styles.get("grey_left"));
+                            dayCell_2.setCellStyle(styles.get("grey_right"));
                         }
-                    } else {
-                        dayCell_1.setCellStyle(styles.get("grey_left"));
-                        dayCell_2.setCellStyle(styles.get("grey_right"));
+                        cnt++;
                     }
-                    cnt++;
+                    if (calendar.get(Calendar.MONTH) > month) break;
                 }
-                if(calendar.get(Calendar.MONTH) > month) break;
             }
-        }
 
-        // Write the output to a file
-        String file = "calendar.xls";
-        if(wb instanceof XSSFWorkbook) file += "x";
-        FileOutputStream out = new FileOutputStream(file);
-        wb.write(out);
-        out.close();
-        
-        wb.close();
+            // Write the output to a file
+            String file = "calendar.xls";
+            if (wb instanceof XSSFWorkbook) file += "x";
+
+            try (FileOutputStream out = new FileOutputStream(file)) {
+                wb.write(out);
+            }
+        }
     }
 
     /**

Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/CellStyleDetails.java Fri Sep 22 21:16:09 2017
@@ -43,45 +43,44 @@ public class CellStyleDetails {
            throw new IllegalArgumentException("Filename must be given");
         }
         
-        Workbook wb = WorkbookFactory.create(new File(args[0]));
-        DataFormatter formatter = new DataFormatter();
-       
-        for(int sn=0; sn<wb.getNumberOfSheets(); sn++) {
-           Sheet sheet = wb.getSheetAt(sn);
-           System.out.println("Sheet #" + sn + " : " + sheet.getSheetName());
-           
-           for(Row row : sheet) {
-              System.out.println("  Row " + row.getRowNum());
-              
-              for(Cell cell : row) {
-                 CellReference ref = new CellReference(cell);
-                 System.out.print("    " + ref.formatAsString());
-                 System.out.print(" (" + cell.getColumnIndex() + ") ");
-                 
-                 CellStyle style = cell.getCellStyle();
-                 System.out.print("Format=" + style.getDataFormatString() + " ");
-                 System.out.print("FG=" + renderColor(style.getFillForegroundColorColor()) + " ");
-                 System.out.print("BG=" + renderColor(style.getFillBackgroundColorColor()) + " ");
-                 
-                 Font font = wb.getFontAt( style.getFontIndex() );
-                 System.out.print("Font=" + font.getFontName() + " ");
-                 System.out.print("FontColor=");
-                 if(font instanceof HSSFFont) {
-                    System.out.print( renderColor( ((HSSFFont)font).getHSSFColor((HSSFWorkbook)wb)) );
-                 }
-                 if(font instanceof XSSFFont) {
-                    System.out.print( renderColor( ((XSSFFont)font).getXSSFColor()) );
-                 }
-                 
-                 System.out.println();
-                 System.out.println("        " + formatter.formatCellValue(cell));
-              }
-           }
-           
-           System.out.println();
+        try (Workbook wb = WorkbookFactory.create(new File(args[0]))) {
+            DataFormatter formatter = new DataFormatter();
+
+            for (int sn = 0; sn < wb.getNumberOfSheets(); sn++) {
+                Sheet sheet = wb.getSheetAt(sn);
+                System.out.println("Sheet #" + sn + " : " + sheet.getSheetName());
+
+                for (Row row : sheet) {
+                    System.out.println("  Row " + row.getRowNum());
+
+                    for (Cell cell : row) {
+                        CellReference ref = new CellReference(cell);
+                        System.out.print("    " + ref.formatAsString());
+                        System.out.print(" (" + cell.getColumnIndex() + ") ");
+
+                        CellStyle style = cell.getCellStyle();
+                        System.out.print("Format=" + style.getDataFormatString() + " ");
+                        System.out.print("FG=" + renderColor(style.getFillForegroundColorColor()) + " ");
+                        System.out.print("BG=" + renderColor(style.getFillBackgroundColorColor()) + " ");
+
+                        Font font = wb.getFontAt(style.getFontIndex());
+                        System.out.print("Font=" + font.getFontName() + " ");
+                        System.out.print("FontColor=");
+                        if (font instanceof HSSFFont) {
+                            System.out.print(renderColor(((HSSFFont) font).getHSSFColor((HSSFWorkbook) wb)));
+                        }
+                        if (font instanceof XSSFFont) {
+                            System.out.print(renderColor(((XSSFFont) font).getXSSFColor()));
+                        }
+
+                        System.out.println();
+                        System.out.println("        " + formatter.formatCellValue(cell));
+                    }
+                }
+
+                System.out.println();
+            }
         }
-        
-        wb.close();
     }
     
     private static String renderColor(Color color) {

Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/SettingExternalFunction.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/SettingExternalFunction.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/SettingExternalFunction.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/SettingExternalFunction.java Fri Sep 22 21:16:09 2017
@@ -74,22 +74,20 @@ public class SettingExternalFunction {
 
     public static void main( String[] args ) throws IOException {
 
-        Workbook wb = new XSSFWorkbook();  // or new HSSFWorkbook()
+        try (Workbook wb = new XSSFWorkbook()) {  // or new HSSFWorkbook()
 
-        // register the add-in
-        wb.addToolPack(new BloombergAddIn());
+            // register the add-in
+            wb.addToolPack(new BloombergAddIn());
 
-        Sheet sheet = wb.createSheet();
-        Row row = sheet.createRow(0);
-        row.createCell(0).setCellFormula("BDP(\"GOOG Equity\",\"CHG_PCT_YTD\")/100");
-        row.createCell(1).setCellFormula("BDH(\"goog us equity\",\"EBIT\",\"1/1/2005\",\"12/31/2009\",\"per=cy\",\"curr=USD\") ");
-        row.createCell(2).setCellFormula("BDS(\"goog us equity\",\"top_20_holders_public_filings\") ");
-
-        FileOutputStream out = new FileOutputStream("bloomberg-demo.xlsx");
-        wb.write(out);
-        out.close();
-        
-        wb.close();
+            Sheet sheet = wb.createSheet();
+            Row row = sheet.createRow(0);
+            row.createCell(0).setCellFormula("BDP(\"GOOG Equity\",\"CHG_PCT_YTD\")/100");
+            row.createCell(1).setCellFormula("BDH(\"goog us equity\",\"EBIT\",\"1/1/2005\",\"12/31/2009\",\"per=cy\",\"curr=USD\") ");
+            row.createCell(2).setCellFormula("BDS(\"goog us equity\",\"top_20_holders_public_filings\") ");
+
+            try (FileOutputStream out = new FileOutputStream("bloomberg-demo.xlsx")) {
+                wb.write(out);
+            }
+        }
     }
-
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/UserDefinedFunctionExample.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/UserDefinedFunctionExample.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/UserDefinedFunctionExample.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/ss/examples/formula/UserDefinedFunctionExample.java Fri Sep 22 21:16:09 2017
@@ -17,7 +17,6 @@
 package org.apache.poi.ss.examples.formula;
 
 import java.io.File ;
-import java.io.FileInputStream ;
 
 import org.apache.poi.ss.formula.functions.FreeRefFunction ;
 import org.apache.poi.ss.formula.udf.DefaultUDFFinder ;
@@ -50,33 +49,29 @@ public class UserDefinedFunctionExample
         System.out.println( "cell: " + args[1] ) ;
         
         File workbookFile = new File( args[0] ) ;
-        
-        Workbook workbook = WorkbookFactory.create(workbookFile, null, true);
 
-        try {
-            String[] functionNames = { "calculatePayment" } ;
-            FreeRefFunction[] functionImpls = { new CalculateMortgage() } ;
-            
-            UDFFinder udfToolpack = new DefaultUDFFinder( functionNames, functionImpls ) ;
-    
+        try (Workbook workbook = WorkbookFactory.create(workbookFile, null, true)) {
+            String[] functionNames = {"calculatePayment"};
+            FreeRefFunction[] functionImpls = {new CalculateMortgage()};
+
+            UDFFinder udfToolpack = new DefaultUDFFinder(functionNames, functionImpls);
+
             // register the user-defined function in the workbook
             workbook.addToolPack(udfToolpack);
-    
+
             FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
-    
-            CellReference cr = new CellReference( args[1] ) ;
-            String sheetName = cr.getSheetName() ;
-            Sheet sheet = workbook.getSheet( sheetName ) ;
-            int rowIdx = cr.getRow() ;
-            int colIdx = cr.getCol() ;
-            Row row = sheet.getRow( rowIdx ) ;
-            Cell cell = row.getCell( colIdx ) ;
-            
-            CellValue value = evaluator.evaluate( cell ) ;
-            
-            System.out.println("returns value: " +  value ) ;
-        } finally {
-            workbook.close();
+
+            CellReference cr = new CellReference(args[1]);
+            String sheetName = cr.getSheetName();
+            Sheet sheet = workbook.getSheet(sheetName);
+            int rowIdx = cr.getRow();
+            int colIdx = cr.getCol();
+            Row row = sheet.getRow(rowIdx);
+            Cell cell = row.getCell(colIdx);
+
+            CellValue value = evaluator.evaluate(cell);
+
+            System.out.println("returns value: " + value);
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/DataExtraction.java Fri Sep 22 21:16:09 2017
@@ -43,53 +43,52 @@ public final class DataExtraction {
         }
         
         FileInputStream is = new FileInputStream(args[0]);
-        XMLSlideShow ppt = new XMLSlideShow(is);
-        is.close();
+        try (XMLSlideShow ppt = new XMLSlideShow(is)) {
+            is.close();
 
-        // Get the document's embedded files.
-        for (PackagePart p : ppt.getAllEmbedds()) {
-            String type = p.getContentType();
-            // typically file name
-            String name = p.getPartName().getName();  
-            out.println("Embedded file ("+type+"): "+name);
-            
-            InputStream pIs = p.getInputStream();
-            // make sense of the part data
-            pIs.close();
-            
-        }
+            // Get the document's embedded files.
+            for (PackagePart p : ppt.getAllEmbedds()) {
+                String type = p.getContentType();
+                // typically file name
+                String name = p.getPartName().getName();
+                out.println("Embedded file (" + type + "): " + name);
 
-        // Get the document's embedded files.
-        for (XSLFPictureData data : ppt.getPictureData()) {
-            String type = data.getContentType();
-            String name = data.getFileName();
-            out.println("Picture ("+type+"): "+name);
-
-            InputStream pIs = data.getInputStream();
-            // make sense of the image data
-            pIs.close();
-        }
+                InputStream pIs = p.getInputStream();
+                // make sense of the part data
+                pIs.close();
 
-        // size of the canvas in points
-        Dimension pageSize = ppt.getPageSize();
-        out.println("Pagesize: "+pageSize);
-        
-        for(XSLFSlide slide : ppt.getSlides()) {
-            for(XSLFShape shape : slide){
-                if(shape instanceof XSLFTextShape) {
-                    XSLFTextShape txShape = (XSLFTextShape)shape;
-                    out.println(txShape.getText());
-                } else if (shape instanceof XSLFPictureShape){
-                    XSLFPictureShape pShape = (XSLFPictureShape)shape;
-                    XSLFPictureData pData = pShape.getPictureData();
-                    out.println(pData.getFileName());
-                } else {
-                    out.println("Process me: " + shape.getClass());
+            }
+
+            // Get the document's embedded files.
+            for (XSLFPictureData data : ppt.getPictureData()) {
+                String type = data.getContentType();
+                String name = data.getFileName();
+                out.println("Picture (" + type + "): " + name);
+
+                InputStream pIs = data.getInputStream();
+                // make sense of the image data
+                pIs.close();
+            }
+
+            // size of the canvas in points
+            Dimension pageSize = ppt.getPageSize();
+            out.println("Pagesize: " + pageSize);
+
+            for (XSLFSlide slide : ppt.getSlides()) {
+                for (XSLFShape shape : slide) {
+                    if (shape instanceof XSLFTextShape) {
+                        XSLFTextShape txShape = (XSLFTextShape) shape;
+                        out.println(txShape.getText());
+                    } else if (shape instanceof XSLFPictureShape) {
+                        XSLFPictureShape pShape = (XSLFPictureShape) shape;
+                        XSLFPictureData pData = pShape.getPictureData();
+                        out.println(pData.getFileName());
+                    } else {
+                        out.println("Process me: " + shape.getClass());
+                    }
                 }
             }
         }
-        
-        ppt.close();
     }
 
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/MergePresentations.java Fri Sep 22 21:16:09 2017
@@ -28,26 +28,22 @@ import java.io.FileOutputStream;
 public final class MergePresentations {
 
     public static void main(String args[]) throws Exception {
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
-            for (String arg : args){
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
+            for (String arg : args) {
                 FileInputStream is = new FileInputStream(arg);
                 XMLSlideShow src = new XMLSlideShow(is);
                 is.close();
-    
-                for(XSLFSlide srcSlide : src.getSlides()){
+
+                for (XSLFSlide srcSlide : src.getSlides()) {
                     ppt.createSlide().importContent(srcSlide);
                 }
-                
+
                 src.close();
             }
-    
-            FileOutputStream out = new FileOutputStream("merged.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("merged.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/PieChartDemo.java Fri Sep 22 21:16:09 2017
@@ -62,104 +62,91 @@ public class PieChartDemo {
             return;
         }
 
-        BufferedReader modelReader = new BufferedReader(new FileReader(args[1]));
-        XMLSlideShow pptx = null;
-        try {
+        try (BufferedReader modelReader = new BufferedReader(new FileReader(args[1]))) {
             String chartTitle = modelReader.readLine();  // first line is chart title
-    
-            pptx = new XMLSlideShow(new FileInputStream(args[0]));
-            XSLFSlide slide = pptx.getSlides().get(0);
-    
-            // find chart in the slide
-            XSLFChart chart = null;
-            for(POIXMLDocumentPart part : slide.getRelations()){
-                if(part instanceof XSLFChart){
-                    chart = (XSLFChart) part;
-                    break;
-                }
-            }
-    
-            if(chart == null) throw new IllegalStateException("chart not found in the template");
-    
-            // embedded Excel workbook that holds the chart data
-            POIXMLDocumentPart xlsPart = chart.getRelations().get(0);
-            XSSFWorkbook wb = new XSSFWorkbook();
-            try {
-                XSSFSheet sheet = wb.createSheet();
-        
-                CTChart ctChart = chart.getCTChart();
-                CTPlotArea plotArea = ctChart.getPlotArea();
-        
-                CTPieChart pieChart = plotArea.getPieChartArray(0);
-                //Pie Chart Series
-                CTPieSer ser = pieChart.getSerArray(0);
-        
-                // Series Text
-                CTSerTx tx = ser.getTx();
-                tx.getStrRef().getStrCache().getPtArray(0).setV(chartTitle);
-                sheet.createRow(0).createCell(1).setCellValue(chartTitle);
-                String titleRef = new CellReference(sheet.getSheetName(), 0, 1, true, true).formatAsString();
-                tx.getStrRef().setF(titleRef);
-        
-                // Category Axis Data
-                CTAxDataSource cat = ser.getCat();
-                CTStrData strData = cat.getStrRef().getStrCache();
-        
-                // Values
-                CTNumDataSource val = ser.getVal();
-                CTNumData numData = val.getNumRef().getNumCache();
-        
-                strData.setPtArray(null);  // unset old axis text
-                numData.setPtArray(null);  // unset old values
-        
-                // set model
-                int idx = 0;
-                int rownum = 1;
-                String ln;
-                while((ln = modelReader.readLine()) != null){
-                    String[] vals = ln.split("\\s+");
-                    CTNumVal numVal = numData.addNewPt();
-                    numVal.setIdx(idx);
-                    numVal.setV(vals[1]);
-        
-                    CTStrVal sVal = strData.addNewPt();
-                    sVal.setIdx(idx);
-                    sVal.setV(vals[0]);
-        
-                    idx++;
-                    XSSFRow row = sheet.createRow(rownum++);
-                    row.createCell(0).setCellValue(vals[0]);
-                    row.createCell(1).setCellValue(Double.valueOf(vals[1]));
-                }
-                numData.getPtCount().setVal(idx);
-                strData.getPtCount().setVal(idx);
-        
-                String numDataRange = new CellRangeAddress(1, rownum-1, 1, 1).formatAsString(sheet.getSheetName(), true);
-                val.getNumRef().setF(numDataRange);
-                String axisDataRange = new CellRangeAddress(1, rownum-1, 0, 0).formatAsString(sheet.getSheetName(), true);
-                cat.getStrRef().setF(axisDataRange);
-        
-                // updated the embedded workbook with the data
-                OutputStream xlsOut = xlsPart.getPackagePart().getOutputStream();
-                try {
-                    wb.write(xlsOut);
-                } finally {
-                    xlsOut.close();
+
+            try (XMLSlideShow pptx = new XMLSlideShow(new FileInputStream(args[0]))) {
+                XSLFSlide slide = pptx.getSlides().get(0);
+
+                // find chart in the slide
+                XSLFChart chart = null;
+                for (POIXMLDocumentPart part : slide.getRelations()) {
+                    if (part instanceof XSLFChart) {
+                        chart = (XSLFChart) part;
+                        break;
+                    }
                 }
-        
-                // save the result
-                OutputStream out = new FileOutputStream("pie-chart-demo-output.pptx");
-                try {
-                    pptx.write(out);
-                } finally {
-                    out.close();
+
+                if (chart == null) throw new IllegalStateException("chart not found in the template");
+
+                // embedded Excel workbook that holds the chart data
+                POIXMLDocumentPart xlsPart = chart.getRelations().get(0);
+                try (XSSFWorkbook wb = new XSSFWorkbook()) {
+                    XSSFSheet sheet = wb.createSheet();
+
+                    CTChart ctChart = chart.getCTChart();
+                    CTPlotArea plotArea = ctChart.getPlotArea();
+
+                    CTPieChart pieChart = plotArea.getPieChartArray(0);
+                    //Pie Chart Series
+                    CTPieSer ser = pieChart.getSerArray(0);
+
+                    // Series Text
+                    CTSerTx tx = ser.getTx();
+                    tx.getStrRef().getStrCache().getPtArray(0).setV(chartTitle);
+                    sheet.createRow(0).createCell(1).setCellValue(chartTitle);
+                    String titleRef = new CellReference(sheet.getSheetName(), 0, 1, true, true).formatAsString();
+                    tx.getStrRef().setF(titleRef);
+
+                    // Category Axis Data
+                    CTAxDataSource cat = ser.getCat();
+                    CTStrData strData = cat.getStrRef().getStrCache();
+
+                    // Values
+                    CTNumDataSource val = ser.getVal();
+                    CTNumData numData = val.getNumRef().getNumCache();
+
+                    strData.setPtArray(null);  // unset old axis text
+                    numData.setPtArray(null);  // unset old values
+
+                    // set model
+                    int idx = 0;
+                    int rownum = 1;
+                    String ln;
+                    while ((ln = modelReader.readLine()) != null) {
+                        String[] vals = ln.split("\\s+");
+                        CTNumVal numVal = numData.addNewPt();
+                        numVal.setIdx(idx);
+                        numVal.setV(vals[1]);
+
+                        CTStrVal sVal = strData.addNewPt();
+                        sVal.setIdx(idx);
+                        sVal.setV(vals[0]);
+
+                        idx++;
+                        XSSFRow row = sheet.createRow(rownum++);
+                        row.createCell(0).setCellValue(vals[0]);
+                        row.createCell(1).setCellValue(Double.valueOf(vals[1]));
+                    }
+                    numData.getPtCount().setVal(idx);
+                    strData.getPtCount().setVal(idx);
+
+                    String numDataRange = new CellRangeAddress(1, rownum - 1, 1, 1).formatAsString(sheet.getSheetName(), true);
+                    val.getNumRef().setF(numDataRange);
+                    String axisDataRange = new CellRangeAddress(1, rownum - 1, 0, 0).formatAsString(sheet.getSheetName(), true);
+                    cat.getStrRef().setF(axisDataRange);
+
+                    // updated the embedded workbook with the data
+                    try (OutputStream xlsOut = xlsPart.getPackagePart().getOutputStream()) {
+                        wb.write(xlsOut);
+                    }
+
+                    // save the result
+                    try (OutputStream out = new FileOutputStream("pie-chart-demo-output.pptx")) {
+                        pptx.write(out);
+                    }
                 }
-            } finally {
-                wb.close();
             }
-        } finally {
-            if (pptx != null) pptx.close();
-            modelReader.close();
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial1.java Fri Sep 22 21:16:09 2017
@@ -29,25 +29,24 @@ import java.io.IOException;
 public class Tutorial1 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             // XSLFSlide#createSlide() with no arguments creates a blank slide
-            /*XSLFSlide blankSlide =*/ ppt.createSlide();
-    
-            
+            /*XSLFSlide blankSlide =*/
+            ppt.createSlide();
+
+
             XSLFSlideMaster master = ppt.getSlideMasters().get(0);
-    
+
             XSLFSlideLayout layout1 = master.getLayout(SlideLayout.TITLE);
-            XSLFSlide slide1 = ppt.createSlide(layout1) ;
+            XSLFSlide slide1 = ppt.createSlide(layout1);
             XSLFTextShape[] ph1 = slide1.getPlaceholders();
             XSLFTextShape titlePlaceholder1 = ph1[0];
             titlePlaceholder1.setText("This is a title");
             XSLFTextShape subtitlePlaceholder1 = ph1[1];
             subtitlePlaceholder1.setText("this is a subtitle");
-    
+
             XSLFSlideLayout layout2 = master.getLayout(SlideLayout.TITLE_AND_CONTENT);
-            XSLFSlide slide2 = ppt.createSlide(layout2) ;
+            XSLFSlide slide2 = ppt.createSlide(layout2);
             XSLFTextShape[] ph2 = slide2.getPlaceholders();
             XSLFTextShape titlePlaceholder2 = ph2[0];
             titlePlaceholder2.setText("This is a title");
@@ -63,12 +62,10 @@ public class Tutorial1 {
             XSLFTextParagraph p3 = bodyPlaceholder.addNewTextParagraph();
             p3.setIndentLevel(2);
             p3.addNewTextRun().setText("Level3 text");
-    
-            FileOutputStream out = new FileOutputStream("slides.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("slides.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial2.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial2.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial2.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial2.java Fri Sep 22 21:16:09 2017
@@ -30,21 +30,19 @@ import java.io.IOException;
 public class Tutorial2 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             XSLFSlide slide1 = ppt.createSlide();
             XSLFTextBox shape1 = slide1.createTextBox();
             // initial height of the text box is 100 pt but
             Rectangle anchor = new Rectangle(10, 100, 300, 100);
             shape1.setAnchor(anchor);
-    
+
             XSLFTextParagraph p1 = shape1.addNewTextParagraph();
             XSLFTextRun r1 = p1.addNewTextRun();
             r1.setText("Paragraph Formatting");
             r1.setFontSize(24d);
             r1.setFontColor(new Color(85, 142, 213));
-    
+
             XSLFTextParagraph p2 = shape1.addNewTextParagraph();
             // If spaceBefore >= 0, then space is a percentage of normal line height.
             // If spaceBefore < 0, the absolute value of linespacing is the spacing in points
@@ -53,14 +51,14 @@ public class Tutorial2 {
             XSLFTextRun r2 = p2.addNewTextRun();
             r2.setText("Paragraph  properties apply to all text residing within the corresponding paragraph.");
             r2.setFontSize(16d);
-    
+
             XSLFTextParagraph p3 = shape1.addNewTextParagraph();
-    
+
             XSLFTextRun r3 = p3.addNewTextRun();
             r3.setText("Run Formatting");
             r3.setFontSize(24d);
             r3.setFontColor(new Color(85, 142, 213));
-    
+
             XSLFTextParagraph p4 = shape1.addNewTextParagraph();
             p4.setSpaceBefore(-20d); // 20 pt from the previous paragraph
             p4.setSpaceAfter(300d); // 3 lines after the paragraph
@@ -68,18 +66,16 @@ public class Tutorial2 {
             r4.setFontSize(16d);
             r4.setText(
                     "Run level formatting is the most granular property level and allows " +
-                    "for the specifying of all low level text properties. The text run is " +
-                    "what all paragraphs are derived from and thus specifying various " +
-                    "properties per run will allow for a diversely formatted text paragraph.");
-    
+                            "for the specifying of all low level text properties. The text run is " +
+                            "what all paragraphs are derived from and thus specifying various " +
+                            "properties per run will allow for a diversely formatted text paragraph.");
+
             // resize the shape to fit text
             shape1.resizeToFitText();
-    
-            FileOutputStream out = new FileOutputStream("text.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("text.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial3.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial3.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial3.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial3.java Fri Sep 22 21:16:09 2017
@@ -31,21 +31,17 @@ import org.apache.poi.sl.usermodel.Place
 public class Tutorial3 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             XSLFSlide slide = ppt.createSlide();
-    
+
             XSLFTextShape titleShape = slide.createTextBox();
             titleShape.setPlaceholder(Placeholder.TITLE);
             titleShape.setText("This is a slide title");
             titleShape.setAnchor(new Rectangle(50, 50, 400, 100));
-    
-            FileOutputStream out = new FileOutputStream("title.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("title.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial4.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial4.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial4.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial4.java Fri Sep 22 21:16:09 2017
@@ -33,60 +33,56 @@ import org.apache.poi.sl.usermodel.TextP
 public class Tutorial4 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             // XSLFSlide#createSlide() with no arguments creates a blank slide
             XSLFSlide slide = ppt.createSlide();
-    
+
             XSLFTable tbl = slide.createTable();
             tbl.setAnchor(new Rectangle(50, 50, 450, 300));
-    
+
             int numColumns = 3;
             int numRows = 5;
             XSLFTableRow headerRow = tbl.addRow();
             headerRow.setHeight(50);
             // header
-            for(int i = 0; i < numColumns; i++) {
+            for (int i = 0; i < numColumns; i++) {
                 XSLFTableCell th = headerRow.addCell();
                 XSLFTextParagraph p = th.addNewTextParagraph();
                 p.setTextAlign(TextAlign.CENTER);
                 XSLFTextRun r = p.addNewTextRun();
-                r.setText("Header " + (i+1));
+                r.setText("Header " + (i + 1));
                 r.setBold(true);
                 r.setFontColor(Color.white);
                 th.setFillColor(new Color(79, 129, 189));
                 th.setBorderWidth(BorderEdge.bottom, 2.0);
                 th.setBorderColor(BorderEdge.bottom, Color.white);
-    
+
                 tbl.setColumnWidth(i, 150);  // all columns are equally sized
             }
-            
+
             // rows
-            
-            for(int rownum = 0; rownum < numRows; rownum ++){
+
+            for (int rownum = 0; rownum < numRows; rownum++) {
                 XSLFTableRow tr = tbl.addRow();
                 tr.setHeight(50);
                 // header
-                for(int i = 0; i < numColumns; i++) {
+                for (int i = 0; i < numColumns; i++) {
                     XSLFTableCell cell = tr.addCell();
                     XSLFTextParagraph p = cell.addNewTextParagraph();
                     XSLFTextRun r = p.addNewTextRun();
-    
-                    r.setText("Cell " + (i+1));
-                    if(rownum % 2 == 0)
+
+                    r.setText("Cell " + (i + 1));
+                    if (rownum % 2 == 0)
                         cell.setFillColor(new Color(208, 216, 232));
                     else
                         cell.setFillColor(new Color(233, 247, 244));
-    
+
                 }
             }
-    
-            FileOutputStream out = new FileOutputStream("table.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("table.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial5.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial5.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial5.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial5.java Fri Sep 22 21:16:09 2017
@@ -31,21 +31,18 @@ import org.apache.poi.sl.usermodel.Pictu
 public class Tutorial5 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             XSLFSlide slide = ppt.createSlide();
-    
+
             File img = new File(System.getProperty("POI.testdata.path", "test-data"), "slideshow/clock.jpg");
             XSLFPictureData pictureData = ppt.addPicture(img, PictureType.PNG);
-    
-            /*XSLFPictureShape shape =*/ slide.createPicture(pictureData);
-    
-            FileOutputStream out = new FileOutputStream("images.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            /*XSLFPictureShape shape =*/
+            slide.createPicture(pictureData);
+
+            try (FileOutputStream out = new FileOutputStream("images.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial6.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial6.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial6.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial6.java Fri Sep 22 21:16:09 2017
@@ -29,33 +29,28 @@ import java.io.IOException;
 public class Tutorial6 {
 
     public static void main(String[] args) throws IOException{
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             XSLFSlide slide1 = ppt.createSlide();
             XSLFSlide slide2 = ppt.createSlide();
-    
+
             XSLFTextBox shape1 = slide1.createTextBox();
             shape1.setAnchor(new Rectangle(50, 50, 200, 50));
             XSLFTextRun r1 = shape1.addNewTextParagraph().addNewTextRun();
             XSLFHyperlink link1 = r1.createHyperlink();
             r1.setText("http://poi.apache.org"); // visible text
             link1.setAddress("http://poi.apache.org");  // link address
-    
+
             XSLFTextBox shape2 = slide1.createTextBox();
             shape2.setAnchor(new Rectangle(300, 50, 200, 50));
             XSLFTextRun r2 = shape2.addNewTextParagraph().addNewTextRun();
             XSLFHyperlink link2 = r2.createHyperlink();
             r2.setText("Go to the second slide"); // visible text
             link2.linkToSlide(slide2);  // link address
-    
-    
-    
-            FileOutputStream out = new FileOutputStream("hyperlinks.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+
+            try (FileOutputStream out = new FileOutputStream("hyperlinks.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial7.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial7.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial7.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/Tutorial7.java Fri Sep 22 21:16:09 2017
@@ -32,19 +32,17 @@ import org.apache.poi.sl.usermodel.AutoN
 public class Tutorial7 {
 
     public static void main(String[] args) throws IOException {
-        XMLSlideShow ppt = new XMLSlideShow();
-
-        try {
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
             XSLFSlide slide = ppt.createSlide();
             XSLFTextBox shape = slide.createTextBox();
             shape.setAnchor(new Rectangle(50, 50, 400, 200));
-    
+
             XSLFTextParagraph p1 = shape.addNewTextParagraph();
             p1.setIndentLevel(0);
             p1.setBullet(true);
             XSLFTextRun r1 = p1.addNewTextRun();
             r1.setText("Bullet1");
-    
+
             XSLFTextParagraph p2 = shape.addNewTextParagraph();
             // indentation before text
             p2.setLeftMargin(60d);
@@ -58,33 +56,31 @@ public class Tutorial7 {
             p2.setIndentLevel(1);
             XSLFTextRun r2 = p2.addNewTextRun();
             r2.setText("Bullet2");
-    
+
             // the next three paragraphs form an auto-numbered list
             XSLFTextParagraph p3 = shape.addNewTextParagraph();
             p3.setBulletAutoNumber(AutoNumberingScheme.alphaLcParenRight, 1);
             p3.setIndentLevel(2);
             XSLFTextRun r3 = p3.addNewTextRun();
             r3.setText("Numbered List Item - 1");
-    
+
             XSLFTextParagraph p4 = shape.addNewTextParagraph();
             p4.setBulletAutoNumber(AutoNumberingScheme.alphaLcParenRight, 2);
             p4.setIndentLevel(2);
             XSLFTextRun r4 = p4.addNewTextRun();
             r4.setText("Numbered List Item - 2");
-    
+
             XSLFTextParagraph p5 = shape.addNewTextParagraph();
             p5.setBulletAutoNumber(AutoNumberingScheme.alphaLcParenRight, 3);
             p5.setIndentLevel(2);
             XSLFTextRun r5 = p5.addNewTextRun();
             r5.setText("Numbered List Item - 3");
-    
+
             shape.resizeToFitText();
-    
-            FileOutputStream out = new FileOutputStream("list.pptx");
-            ppt.write(out);
-            out.close();
-        } finally {
-            ppt.close();
+
+            try (FileOutputStream out = new FileOutputStream("list.pptx")) {
+                ppt.write(out);
+            }
         }
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step1.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step1.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step1.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step1.java Fri Sep 22 21:16:09 2017
@@ -40,31 +40,30 @@ public class Step1 {
         }
 
         FileInputStream fis = new FileInputStream(args[0]);
-        XMLSlideShow ppt = new XMLSlideShow(fis);
-        fis.close();
+        try (XMLSlideShow ppt = new XMLSlideShow(fis)) {
+            fis.close();
 
-        for(XSLFSlide slide : ppt.getSlides()){
-            System.out.println("Title: " + slide.getTitle());
+            for (XSLFSlide slide : ppt.getSlides()) {
+                System.out.println("Title: " + slide.getTitle());
 
-            for(XSLFShape shape : slide.getShapes()){
-                if(shape instanceof XSLFTextShape) {
-                    XSLFTextShape tsh = (XSLFTextShape)shape;
-                    for(XSLFTextParagraph p : tsh){
-                        System.out.println("Paragraph level: " + p.getIndentLevel());
-                        for(XSLFTextRun r : p){
-                            System.out.println(r.getRawText());
-                            System.out.println("  bold: " + r.isBold());
-                            System.out.println("  italic: " + r.isItalic());
-                            System.out.println("  underline: " + r.isUnderlined());
-                            System.out.println("  font.family: " + r.getFontFamily());
-                            System.out.println("  font.size: " + r.getFontSize());
-                            System.out.println("  font.color: " + r.getFontColor());
+                for (XSLFShape shape : slide.getShapes()) {
+                    if (shape instanceof XSLFTextShape) {
+                        XSLFTextShape tsh = (XSLFTextShape) shape;
+                        for (XSLFTextParagraph p : tsh) {
+                            System.out.println("Paragraph level: " + p.getIndentLevel());
+                            for (XSLFTextRun r : p) {
+                                System.out.println(r.getRawText());
+                                System.out.println("  bold: " + r.isBold());
+                                System.out.println("  italic: " + r.isItalic());
+                                System.out.println("  underline: " + r.isUnderlined());
+                                System.out.println("  font.family: " + r.getFontFamily());
+                                System.out.println("  font.size: " + r.getFontSize());
+                                System.out.println("  font.color: " + r.getFontColor());
+                            }
                         }
                     }
                 }
             }
         }
-        
-        ppt.close();
     }
 }

Modified: poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step2.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step2.java?rev=1809354&r1=1809353&r2=1809354&view=diff
==============================================================================
--- poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step2.java (original)
+++ poi/trunk/src/examples/src/org/apache/poi/xslf/usermodel/tutorial/Step2.java Fri Sep 22 21:16:09 2017
@@ -33,45 +33,45 @@ import java.io.FileOutputStream;
  */
 public class Step2 {
     public static void main(String[] args) throws Exception{
-        XMLSlideShow ppt = new XMLSlideShow();
+        try (XMLSlideShow ppt = new XMLSlideShow()) {
 
-        // first see what slide layouts are available by default
-        System.out.println("Available slide layouts:");
-        for(XSLFSlideMaster master : ppt.getSlideMasters()){
-            for(XSLFSlideLayout layout : master.getSlideLayouts()){
-                System.out.println(layout.getType());
+            // first see what slide layouts are available by default
+            System.out.println("Available slide layouts:");
+            for (XSLFSlideMaster master : ppt.getSlideMasters()) {
+                for (XSLFSlideLayout layout : master.getSlideLayouts()) {
+                    System.out.println(layout.getType());
+                }
             }
-        }
-
-        // blank slide
-        /*XSLFSlide blankSlide =*/ ppt.createSlide();
-
-        XSLFSlideMaster defaultMaster = ppt.getSlideMasters().get(0);
-
-        // title slide
-        XSLFSlideLayout titleLayout = defaultMaster.getLayout(SlideLayout.TITLE);
-        XSLFSlide slide1 = ppt.createSlide(titleLayout);
-        XSLFTextShape title1 = slide1.getPlaceholder(0);
-        title1.setText("First Title");
-
-        // title and content
-        XSLFSlideLayout titleBodyLayout = defaultMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
-        XSLFSlide slide2 = ppt.createSlide(titleBodyLayout);
 
-        XSLFTextShape title2 = slide2.getPlaceholder(0);
-        title2.setText("Second Title");
+            // blank slide
+        /*XSLFSlide blankSlide =*/
+            ppt.createSlide();
+
+            XSLFSlideMaster defaultMaster = ppt.getSlideMasters().get(0);
+
+            // title slide
+            XSLFSlideLayout titleLayout = defaultMaster.getLayout(SlideLayout.TITLE);
+            XSLFSlide slide1 = ppt.createSlide(titleLayout);
+            XSLFTextShape title1 = slide1.getPlaceholder(0);
+            title1.setText("First Title");
+
+            // title and content
+            XSLFSlideLayout titleBodyLayout = defaultMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
+            XSLFSlide slide2 = ppt.createSlide(titleBodyLayout);
+
+            XSLFTextShape title2 = slide2.getPlaceholder(0);
+            title2.setText("Second Title");
+
+            XSLFTextShape body2 = slide2.getPlaceholder(1);
+            body2.clearText(); // unset any existing text
+            body2.addNewTextParagraph().addNewTextRun().setText("First paragraph");
+            body2.addNewTextParagraph().addNewTextRun().setText("Second paragraph");
+            body2.addNewTextParagraph().addNewTextRun().setText("Third paragraph");
 
-        XSLFTextShape body2 = slide2.getPlaceholder(1);
-        body2.clearText(); // unset any existing text
-        body2.addNewTextParagraph().addNewTextRun().setText("First paragraph");
-        body2.addNewTextParagraph().addNewTextRun().setText("Second paragraph");
-        body2.addNewTextParagraph().addNewTextRun().setText("Third paragraph");
 
-
-
-        FileOutputStream out = new FileOutputStream("step2.pptx");
-        ppt.write(out);
-        out.close();
-        ppt.close();
+            try (FileOutputStream out = new FileOutputStream("step2.pptx")) {
+                ppt.write(out);
+            }
+        }
     }
 }



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