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 2022/12/31 15:12:27 UTC

svn commit: r1906300 - in /pdfbox/trunk: pdfbox/src/main/java/org/apache/pdfbox/cos/ preflight/src/main/java/org/apache/pdfbox/preflight/action/ preflight/src/main/java/org/apache/pdfbox/preflight/process/

Author: lehmi
Date: Sat Dec 31 15:12:27 2022
New Revision: 1906300

URL: http://svn.apache.org/viewvc?rev=1906300&view=rev
Log:
PDFBOX-5178: remove convenient constructor which is used by preflight only

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSObjectKey.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/action/ActionManagerFactory.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSObjectKey.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSObjectKey.java?rev=1906300&r1=1906299&r2=1906300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSObjectKey.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSObjectKey.java Sat Dec 31 15:12:27 2022
@@ -34,16 +34,6 @@ public final class COSObjectKey implemen
     /**
      * Constructor.
      *
-     * @param object The object that this key will represent.
-     */
-    public COSObjectKey(COSObject object)
-    {
-        this(object.getObjectNumber(), object.getGenerationNumber());
-    }
-
-    /**
-     * Constructor.
-     *
      * @param num The object number.
      * @param gen The object generation number.
      */

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/action/ActionManagerFactory.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/action/ActionManagerFactory.java?rev=1906300&r1=1906299&r2=1906300&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/action/ActionManagerFactory.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/action/ActionManagerFactory.java Sat Dec 31 15:12:27 2022
@@ -150,8 +150,10 @@ public class ActionManagerFactory
         {
             if (aDict instanceof COSObject)
             {
-                COSObjectKey cok = new COSObjectKey((COSObject) aDict);
-                COSDictionary indirectDict = (COSDictionary) ((COSObject) aDict).getObject();
+                COSObject cosObj = (COSObject) aDict;
+                COSObjectKey cok = new COSObjectKey(cosObj.getObjectNumber(),
+                        cosObj.getGenerationNumber());
+                COSDictionary indirectDict = (COSDictionary) cosObj.getObject();
                 if (!alreadyCreated.containsKey(cok))
                 {
                     result.add(createActionManager(ctx, indirectDict, additionActionKey));

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java?rev=1906300&r1=1906299&r2=1906300&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java Sat Dec 31 15:12:27 2022
@@ -271,39 +271,41 @@ public class CatalogValidationProcess ex
      * @throws ValidationException
      */
     private void validateICCProfile(COSBase destOutputProfile,
-            Map<COSObjectKey, Boolean> mapDestOutputProfile,
-            PreflightContext ctx) throws ValidationException
-            {
+            Map<COSObjectKey, Boolean> mapDestOutputProfile, PreflightContext ctx)
+            throws ValidationException
+    {
         try
         {
             // destOutputProfile should be an instance of COSObject because of this is a object reference
-            if (destOutputProfile instanceof COSObject)
+            if (!(destOutputProfile instanceof COSObject))
             {
-                if (mapDestOutputProfile.containsKey(new COSObjectKey((COSObject) destOutputProfile)))
-                {
-                    // the profile is already checked. continue
-                    return;
-                }
-                else if (!mapDestOutputProfile.isEmpty())
-                {
-                    // A DestOutputProfile exits but it isn't the same, error
-                    addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_MULTIPLE,
-                            "More than one ICCProfile is defined: " + destOutputProfile));
-                    return;
-                }
-                // else the profile will be kept in the mapDestOutputProfile if it is valid
+                addValidationError(ctx,
+                        new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY,
+                                "OutputIntent object should be a reference: " + destOutputProfile));
+                return;
             }
-            else
+
+            COSObject cosObj = (COSObject) destOutputProfile;
+            COSObjectKey key = new COSObjectKey(cosObj.getObjectNumber(),
+                    cosObj.getGenerationNumber());
+            if (mapDestOutputProfile.containsKey(key))
             {
-                addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY,
-                        "OutputIntent object should be a reference: " + destOutputProfile));
+                // the profile is already checked. continue
+                return;
+            }
+            else if (!mapDestOutputProfile.isEmpty())
+            {
+                // A DestOutputProfile exits but it isn't the same, error
+                addValidationError(ctx,
+                        new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_MULTIPLE,
+                                "More than one ICCProfile is defined: " + destOutputProfile));
                 return;
             }
 
             // keep reference to avoid multiple profile definition
-            mapDestOutputProfile.put(new COSObjectKey((COSObject) destOutputProfile), true);
+            mapDestOutputProfile.put(key, true);
 
-            COSBase localDestOutputProfile = ((COSObject) destOutputProfile).getObject();
+            COSBase localDestOutputProfile = cosObj.getObject();
             if (!(localDestOutputProfile instanceof COSStream))
             {
                 addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY,

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java?rev=1906300&r1=1906299&r2=1906300&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/TrailerValidationProcess.java Sat Dec 31 15:12:27 2022
@@ -126,7 +126,8 @@ public class TrailerValidationProcess ex
             // Search First and Last trailers according to offset position.
             for (COSObject co : xrefs)
             {
-                long offset = cosDocument.getXrefTable().get(new COSObjectKey(co));
+                long offset = cosDocument.getXrefTable()
+                        .get(new COSObjectKey(co.getObjectNumber(), co.getGenerationNumber()));
                 if (offset < min)
                 {
                     min = offset;