You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2021/10/06 06:49:25 UTC

svn commit: r1893926 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java

Author: lehmi
Date: Wed Oct  6 06:49:24 2021
New Revision: 1893926

URL: http://svn.apache.org/viewvc?rev=1893926&view=rev
Log:
PDFBOX-5286: rearrange if clauses to optimize performance

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1893926&r1=1893925&r2=1893926&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Wed Oct  6 06:49:24 2021
@@ -550,30 +550,31 @@ public class COSWriter implements ICOSVi
             actual = ((COSObject)actual).getObject();
         }
 
-        if (!writtenObjects.contains(object) //
-                && !objectsToWrite.contains(object) //
-                && !actualsAdded.contains(actual))
+        if (writtenObjects.contains(object) //
+                || actualsAdded.contains(actual) //
+                || objectsToWrite.contains(object))
         {
-            COSBase cosBase = null;
-            COSObjectKey cosObjectKey = null;
-            if (actual != null)
-            {
-                cosObjectKey = objectKeys.get(actual);
-            }
+            return;
+        }
+
+        COSBase cosBase = null;
+        COSObjectKey cosObjectKey = null;
+        if (actual != null)
+        {
+            cosObjectKey = objectKeys.get(actual);
             if (cosObjectKey != null)
             {
                 cosBase = keyObject.get(cosObjectKey);
+                if (!isNeedToBeUpdated(object) && !isNeedToBeUpdated(cosBase))
+                {
+                    return;
+                }
             }
-            if (actual != null && objectKeys.containsKey(actual) && !isNeedToBeUpdated(object)
-                    && !isNeedToBeUpdated(cosBase))
-            {
-                return;
-            }
-            objectsToWrite.add(object);
-            if (actual != null)
-            {
-                actualsAdded.add(actual);
-            }
+        }
+        objectsToWrite.add(object);
+        if (actual != null)
+        {
+            actualsAdded.add(actual);
         }
     }