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 2017/08/03 16:48:45 UTC

svn commit: r1804019 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java

Author: tilman
Date: Thu Aug  3 16:48:45 2017
New Revision: 1804019

URL: http://svn.apache.org/viewvc?rev=1804019&view=rev
Log:
PDFBOX-2852: refactor; use jdk7 syntax

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1804019&r1=1804018&r2=1804019&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Thu Aug  3 16:48:45 2017
@@ -27,7 +27,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -242,27 +241,19 @@ public class PDFMergerUtility
      */
     public void mergeDocuments(MemoryUsageSetting memUsageSetting) throws IOException
     {
-        PDDocument destination = null;
-        InputStream sourceFile;
-        PDDocument source;
-        if (sources != null && sources.size() > 0)
+        if (sources != null && !sources.isEmpty())
         {
             List<PDDocument> tobeclosed = new ArrayList<>();
-
-            try
+            MemoryUsageSetting partitionedMemSetting = memUsageSetting != null ? 
+                    memUsageSetting.getPartitionedCopy(sources.size()+1) :
+                    MemoryUsageSetting.setupMainMemoryOnly();
+            try (PDDocument destination = new PDDocument(partitionedMemSetting))
             {
-                MemoryUsageSetting partitionedMemSetting = memUsageSetting != null ? 
-                        memUsageSetting.getPartitionedCopy(sources.size()+1) :
-                        MemoryUsageSetting.setupMainMemoryOnly();
-                Iterator<InputStream> sit = sources.iterator();
-                destination = new PDDocument(partitionedMemSetting);
-
-                while (sit.hasNext())
+                for (InputStream sourceInputStream : sources)
                 {
-                    sourceFile = sit.next();
-                    source = PDDocument.load(sourceFile, partitionedMemSetting);
-                    tobeclosed.add(source);
-                    appendDocument(destination, source);
+                    PDDocument sourceDoc = PDDocument.load(sourceInputStream, partitionedMemSetting);
+                    tobeclosed.add(sourceDoc);
+                    appendDocument(destination, sourceDoc);
                 }
                 
                 // optionally set meta data
@@ -286,10 +277,6 @@ public class PDFMergerUtility
             }
             finally
             {
-                if (destination != null)
-                {
-                    destination.close();
-                }
                 for (PDDocument doc : tobeclosed)
                 {
                     doc.close();