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();