You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by tb...@apache.org on 2015/09/28 15:23:52 UTC
svn commit: r1705688 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/COSDocument.java
io/ScratchFile.java pdfparser/FDFParser.java
Author: tboehme
Date: Mon Sep 28 13:23:52 2015
New Revision: 1705688
URL: http://svn.apache.org/viewvc?rev=1705688&view=rev
Log:
PDFBOX-2883: remove COSDocument constructors using boolean 'useScratchFiles' parameter and ensure to have an equivalent constructor using MemoryUsageSetting object; default is using main memory only (as before)
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFile.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java?rev=1705688&r1=1705687&r2=1705688&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDocument.java Mon Sep 28 13:23:52 2015
@@ -17,12 +17,12 @@
package org.apache.pdfbox.cos;
import java.io.Closeable;
-import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.io.ScratchFile;
@@ -79,46 +79,18 @@ public class COSDocument extends COSBase
private ScratchFile scratchFile;
/**
- * Constructor.
- *
- * @param useScratchFiles enables the usage of a scratch file if set to true
- *
- */
- public COSDocument(boolean useScratchFiles)
- {
- this((File)null, useScratchFiles);
- }
-
- /**
- * Constructor that will use a temporary file in the given directory
- * for storage of the PDF streams. The temporary file is automatically
- * removed when this document gets closed.
- *
- * @param scratchDir directory for the temporary file,
- * or <code>null</code> to use the system default
- * @param useScratchFiles enables the usage of a scratch file if set to true
- *
+ * Constructor. Uses main memory to buffer PDF streams.
*/
- public COSDocument(File scratchDir, boolean useScratchFiles)
+ public COSDocument()
{
- if (useScratchFiles)
- {
- try
- {
- scratchFile = new ScratchFile(scratchDir);
- }
- catch (IOException e)
- {
- LOG.error("Can't create temp file, using memory buffer instead", e);
- }
- }
+ this(ScratchFile.getMainMemoryOnlyInstance());
}
/**
* Constructor that will use the provide memory handler for storage of the
* PDF streams.
*
- * @param scratchFile memory handler for storage of PDF streams
+ * @param scratchFile memory handler for buffering of PDF streams
*
*/
public COSDocument(ScratchFile scratchFile)
@@ -127,14 +99,6 @@ public class COSDocument extends COSBase
}
/**
- * Constructor. Uses memory to store stream.
- */
- public COSDocument()
- {
- this(false);
- }
-
- /**
* Creates a new COSStream using the current configuration for scratch files.
*
* @return the new COSStream
@@ -169,7 +133,7 @@ public class COSDocument extends COSBase
* @return This will return an object with the specified type.
* @throws IOException If there is an error getting the object
*/
- public COSObject getObjectByType( COSName type ) throws IOException
+ public COSObject getObjectByType(COSName type) throws IOException
{
for( COSObject object : objectPool.values() )
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFile.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFile.java?rev=1705688&r1=1705687&r2=1705688&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFile.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/io/ScratchFile.java Mon Sep 28 13:23:52 2015
@@ -135,12 +135,19 @@ public class ScratchFile implements Clos
* (same as <code>new ScratchFile(MemoryUsageSetting.setupMainMemoryOnly())</code>).
*
* @return instance configured to only use main memory with no size restriction
- *
- * @throws IOException
*/
- public static ScratchFile getMainMemoryOnlyInstance() throws IOException
+ public static ScratchFile getMainMemoryOnlyInstance()
{
- return new ScratchFile(MemoryUsageSetting.setupMainMemoryOnly());
+ try
+ {
+ return new ScratchFile(MemoryUsageSetting.setupMainMemoryOnly());
+ }
+ catch (IOException ioe)
+ {
+ // cannot happen for main memory setup
+ LOG.error("Unexpected exception occurred creating main memory scratch file instance: " + ioe.getMessage() );
+ return null;
+ }
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java?rev=1705688&r1=1705687&r2=1705688&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/FDFParser.java Mon Sep 28 13:23:52 2015
@@ -89,7 +89,7 @@ public class FDFParser extends COSParser
+ " does not contain an integer value, but: '" + eofLookupRangeStr + "'");
}
}
- document = new COSDocument(false);
+ document = new COSDocument();
}
/**