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 2015/07/16 22:30:13 UTC

svn commit: r1691444 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java

Author: tilman
Date: Thu Jul 16 20:30:12 2015
New Revision: 1691444

URL: http://svn.apache.org/r1691444
Log:
PDFBOX-2852: remove unused assignments
PDFBOX-2888: set allSecurityToBeRemoved to false when protect() is called and log a warning

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1691444&r1=1691443&r2=1691444&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java Thu Jul 16 20:30:12 2015
@@ -930,7 +930,7 @@ public class PDDocument implements Close
      */
     public static PDDocument load(InputStream input, String password, boolean useScratchFiles) throws IOException
     {
-        RandomAccessRead source = null;
+        RandomAccessRead source;
         if (useScratchFiles)
         {
             source = new RandomAccessBufferedFileInputStream(input);
@@ -962,7 +962,7 @@ public class PDDocument implements Close
     public static PDDocument load(InputStream input, String password, InputStream keyStore, 
             String alias, boolean useScratchFiles) throws IOException
     {
-        RandomAccessRead source = null;
+        RandomAccessRead source;
         if (useScratchFiles)
         {
             source = new RandomAccessBufferedFileInputStream(input);
@@ -1160,18 +1160,27 @@ public class PDDocument implements Close
     }
 
     /**
-     * Protects the document with the protection policy pp. The document content will be really encrypted when it will
-     * be saved. This method only marks the document for encryption.
+     * Protects the document with a protection policy. The document content will be really
+     * encrypted when it will be saved. This method only marks the document for encryption. It also
+     * calls {@link setAllSecurityToBeRemoved(false)} if it was set to true previously and logs a
+     * warning.
      *
      * @see org.apache.pdfbox.pdmodel.encryption.StandardProtectionPolicy
      * @see org.apache.pdfbox.pdmodel.encryption.PublicKeyProtectionPolicy
-     * 
+     *
      * @param policy The protection policy.
-     * 
+     *
      * @throws IOException if there isn't any suitable security handler.
      */
     public void protect(ProtectionPolicy policy) throws IOException
     {
+        if (isAllSecurityToBeRemoved())
+        {
+            LOG.warn("do not call setAllSecurityToBeRemoved(true) before calling protect(), "
+                    + "as protect() implies setAllSecurityToBeRemoved(false)");
+            setAllSecurityToBeRemoved(false);
+        }
+        
         if (!isEncrypted())
         {
             encryption = new PDEncryption();