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


Reply via email to