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 2021/03/14 09:06:51 UTC

svn commit: r1887626 - /pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java

Author: tilman
Date: Sun Mar 14 09:06:51 2021
New Revision: 1887626

URL: http://svn.apache.org/viewvc?rev=1887626&view=rev
Log:
PDFBOX-4892: simplify code + performance improvement, as suggested by valerybokov

Modified:
    pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java

Modified: pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java?rev=1887626&r1=1887625&r2=1887626&view=diff
==============================================================================
--- pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java (original)
+++ pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java Sun Mar 14 09:06:51 2021
@@ -193,34 +193,30 @@ public class TrailerValidationProcess ex
         // if both are present, otherwise everything is fine
         if (idFirst != null && idLast != null)
         {
-    
             // ---- cast two COSBase to COSArray.
             COSArray af = COSUtils.getAsArray(idFirst, cosDocument);
             COSArray al = COSUtils.getAsArray(idLast, cosDocument);
     
             // ---- if one COSArray is null, the PDF/A isn't valid
-            if ((af == null) || (al == null))
+            if (af == null || al == null)
             {
                 return false;
             }
     
             // ---- compare both arrays
             boolean isEqual = true;
-            for (Object of : af.toList())
+            for (Object of : af)
             {
                 boolean oneIsEquals = false;
-                for (Object ol : al.toList())
+                String ofString = ((COSString) of).getString();
+                for (Object ol : al)
                 {
-                    // ---- according to PDF Reference 1-4, ID is an array containing two
-                    // strings
-                    if (!oneIsEquals)
-                    {
-                        oneIsEquals = ((COSString) ol).getString().equals(((COSString) of).getString());
-                    }
-                    else
+                    // ---- according to PDF Reference 1-4, ID is an array containing two strings
+                    if (oneIsEquals)
                     {
                         break;
                     }
+                    oneIsEquals = ((COSString) ol).getString().equals(ofString);
                 }
                 isEqual = isEqual && oneIsEquals;
                 if (!isEqual)