You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/02/21 07:14:51 UTC

svn commit: r1886741 - /pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java

Author: tilman
Date: Sun Feb 21 07:14:51 2021
New Revision: 1886741

URL: http://svn.apache.org/viewvc?rev=1886741&view=rev
Log:
PDFBOX-4892: use try-with-resources

Modified:
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java?rev=1886741&r1=1886740&r2=1886741&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/image/CCITTFactoryTest.java Sun Feb 21 07:14:51 2021
@@ -66,34 +66,37 @@ class CCITTFactoryTest
         String tiffG3Path = "src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/ccittg3.tif";
         String tiffG4Path = "src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/ccittg4.tif";
         
-        PDDocument document = new PDDocument();
-        PDImageXObject ximage3 = CCITTFactory.createFromFile(document, new File(tiffG3Path));
-        validate(ximage3, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
-        BufferedImage bim3 = ImageIO.read(new File(tiffG3Path));
-        checkIdent(bim3, ximage3.getOpaqueImage());
-        PDPage page = new PDPage(PDRectangle.A4);
-        document.addPage(page);
-        PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false);
-        contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
-        contentStream.close();
-        
-        PDImageXObject ximage4 = CCITTFactory.createFromFile(document, new File(tiffG4Path));
-        validate(ximage4, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
-        BufferedImage bim4 = ImageIO.read(new File(tiffG3Path));
-        checkIdent(bim4, ximage4.getOpaqueImage());
-        page = new PDPage(PDRectangle.A4);
-        document.addPage(page);
-        contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false);
-        contentStream.drawImage(ximage4, 0, 0);
-        contentStream.close();
-       
-        document.save(testResultsDir + "/singletiff.pdf");
-        document.close();
-        
-        document = Loader.loadPDF(new File(testResultsDir, "singletiff.pdf"));
-        assertEquals(2, document.getNumberOfPages());
+        try (PDDocument document = new PDDocument())
+        {
+            PDImageXObject ximage3 = CCITTFactory.createFromFile(document, new File(tiffG3Path));
+            validate(ximage3, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
+            BufferedImage bim3 = ImageIO.read(new File(tiffG3Path));
+            checkIdent(bim3, ximage3.getOpaqueImage());
+            PDPage page = new PDPage(PDRectangle.A4);
+            document.addPage(page);
+            try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+            {
+                contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
+            }
+            
+            PDImageXObject ximage4 = CCITTFactory.createFromFile(document, new File(tiffG4Path));
+            validate(ximage4, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
+            BufferedImage bim4 = ImageIO.read(new File(tiffG3Path));
+            checkIdent(bim4, ximage4.getOpaqueImage());
+            page = new PDPage(PDRectangle.A4);
+            document.addPage(page);
+            try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+            {
+                contentStream.drawImage(ximage4, 0, 0);
+            }
+            
+            document.save(testResultsDir + "/singletiff.pdf");
+        }
         
-        document.close();  
+        try (PDDocument document = Loader.loadPDF(new File(testResultsDir, "singletiff.pdf")))
+        {
+            assertEquals(2, document.getNumberOfPages());
+        }  
     }
     
     /**
@@ -111,39 +114,40 @@ class CCITTFactoryTest
         int countTiffImages = imageReader.getNumImages(true);
         assertTrue(countTiffImages > 1);
         
-        PDDocument document = new PDDocument();
-        
-        int pdfPageNum = 0;
-        while (true)
+        try (PDDocument document = new PDDocument())
         {
-            PDImageXObject ximage = CCITTFactory.createFromFile(document, new File(tiffPath), pdfPageNum);
-            if (ximage == null)
+            int pdfPageNum = 0;
+            while (true)
             {
-                break;
+                PDImageXObject ximage = CCITTFactory.createFromFile(document, new File(tiffPath), pdfPageNum);
+                if (ximage == null)
+                {
+                    break;
+                }
+                BufferedImage bim = imageReader.read(pdfPageNum);
+                validate(ximage, 1, bim.getWidth(), bim.getHeight(), "tiff", PDDeviceGray.INSTANCE.getName());
+                checkIdent(bim, ximage.getOpaqueImage());
+                PDPage page = new PDPage(PDRectangle.A4);
+                float fX = ximage.getWidth() / page.getMediaBox().getWidth();
+                float fY = ximage.getHeight() / page.getMediaBox().getHeight();
+                float factor = Math.max(fX, fY);
+                document.addPage(page);
+                try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+                {
+                    contentStream.drawImage(ximage, 0, 0, ximage.getWidth() / factor, ximage.getHeight() / factor);
+                }
+                ++pdfPageNum;
             }
-            BufferedImage bim = imageReader.read(pdfPageNum);
-            validate(ximage, 1, bim.getWidth(), bim.getHeight(), "tiff", PDDeviceGray.INSTANCE.getName());
-            checkIdent(bim, ximage.getOpaqueImage());
-            PDPage page = new PDPage(PDRectangle.A4);
-            float fX = ximage.getWidth() / page.getMediaBox().getWidth();
-            float fY = ximage.getHeight() / page.getMediaBox().getHeight();
-            float factor = Math.max(fX, fY);
-            document.addPage(page);
-            PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false);
-            contentStream.drawImage(ximage, 0, 0, ximage.getWidth() / factor, ximage.getHeight() / factor);
-            contentStream.close();
-            ++pdfPageNum;
+            
+            assertEquals(countTiffImages, pdfPageNum);
+            
+            document.save(testResultsDir + "/multitiff.pdf");
         }
         
-        assertEquals(countTiffImages, pdfPageNum);
-
-        document.save(testResultsDir + "/multitiff.pdf");
-        document.close();
-        
-        document = Loader.loadPDF(new File(testResultsDir, "multitiff.pdf"), (String) null);
-        assertEquals(countTiffImages, document.getNumberOfPages());
-        
-        document.close();  
+        try (PDDocument document = Loader.loadPDF(new File(testResultsDir, "multitiff.pdf"), (String) null))
+        {
+            assertEquals(countTiffImages, document.getNumberOfPages());
+        }  
         imageReader.dispose();
     }
 
@@ -152,60 +156,64 @@ class CCITTFactoryTest
     {
         String tiffG4Path = "src/test/resources/org/apache/pdfbox/pdmodel/graphics/image/ccittg4.tif";
 
-        PDDocument document = new PDDocument();
-        BufferedImage bim = ImageIO.read(new File(tiffG4Path));
-        PDImageXObject ximage3 = CCITTFactory.createFromImage(document, bim);
-        validate(ximage3, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
-        checkIdent(bim, ximage3.getOpaqueImage());
-        
-        PDPage page = new PDPage(PDRectangle.A4);
-        document.addPage(page);
-        PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false);
-        contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
-        contentStream.close();
-        
-        document.save(testResultsDir + "/singletifffrombi.pdf");
-        document.close();
-        
-        document = Loader.loadPDF(new File(testResultsDir, "singletifffrombi.pdf"));
-        assertEquals(1, document.getNumberOfPages());
-        
-        document.close();  
+        try (PDDocument document = new PDDocument())
+        {
+            BufferedImage bim = ImageIO.read(new File(tiffG4Path));
+            PDImageXObject ximage3 = CCITTFactory.createFromImage(document, bim);
+            validate(ximage3, 1, 344, 287, "tiff", PDDeviceGray.INSTANCE.getName());
+            checkIdent(bim, ximage3.getOpaqueImage());
+
+            PDPage page = new PDPage(PDRectangle.A4);
+            document.addPage(page);
+            try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
+            {
+                contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
+            }
+
+            document.save(testResultsDir + "/singletifffrombi.pdf");
+        }
+
+        try (PDDocument document = Loader.loadPDF(new File(testResultsDir, "singletifffrombi.pdf")))
+        {
+            assertEquals(1, document.getNumberOfPages());
+        }  
     }    
     
     @Test
     void testCreateFromBufferedChessImage() throws IOException
     {
-        PDDocument document = new PDDocument();
-        BufferedImage bim = new BufferedImage(343, 287, BufferedImage.TYPE_BYTE_BINARY);
-        assertNotEquals((bim.getWidth() / 8) * 8, bim.getWidth()); // not mult of 8
-        int col = 0;
-        for (int x = 0; x < bim.getWidth(); ++x)
+        try (PDDocument document = new PDDocument())
         {
-            for (int y = 0; y < bim.getHeight(); ++y)
+            BufferedImage bim = new BufferedImage(343, 287, BufferedImage.TYPE_BYTE_BINARY);
+            assertNotEquals((bim.getWidth() / 8) * 8, bim.getWidth()); // not mult of 8
+            int col = 0;
+            for (int x = 0; x < bim.getWidth(); ++x)
+            {
+                for (int y = 0; y < bim.getHeight(); ++y)
+                {
+                    bim.setRGB(x, y, col & 0xFFFFFF);
+                    col = ~col;
+                }
+            }
+            
+            PDImageXObject ximage3 = CCITTFactory.createFromImage(document, bim);
+            validate(ximage3, 1, 343, 287, "tiff", PDDeviceGray.INSTANCE.getName());
+            checkIdent(bim, ximage3.getOpaqueImage());
+            
+            PDPage page = new PDPage(PDRectangle.A4);
+            document.addPage(page);
+            try (PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false))
             {
-                bim.setRGB(x, y, col & 0xFFFFFF);
-                col = ~col;
+                contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
             }
+            
+            document.save(testResultsDir + "/singletifffromchessbi.pdf");
         }
 
-        PDImageXObject ximage3 = CCITTFactory.createFromImage(document, bim);
-        validate(ximage3, 1, 343, 287, "tiff", PDDeviceGray.INSTANCE.getName());
-        checkIdent(bim, ximage3.getOpaqueImage());
-
-        PDPage page = new PDPage(PDRectangle.A4);
-        document.addPage(page);
-        PDPageContentStream contentStream = new PDPageContentStream(document, page, AppendMode.APPEND, false);
-        contentStream.drawImage(ximage3, 0, 0, ximage3.getWidth(), ximage3.getHeight());
-        contentStream.close();
-
-        document.save(testResultsDir + "/singletifffromchessbi.pdf");
-        document.close();
-
-        document = Loader.loadPDF(new File(testResultsDir, "singletifffromchessbi.pdf"));
-        assertEquals(1, document.getNumberOfPages());
-
-        document.close();
+        try (PDDocument document = Loader.loadPDF(new File(testResultsDir, "singletifffromchessbi.pdf")))
+        {
+            assertEquals(1, document.getNumberOfPages());
+        }
     }
     
     /**