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 2019/08/30 15:28:46 UTC

svn commit: r1866150 - /pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java

Author: tilman
Date: Fri Aug 30 15:28:46 2019
New Revision: 1866150

URL: http://svn.apache.org/viewvc?rev=1866150&view=rev
Log:
PDFBOX-4071: refactor / simplify / comment long method

Modified:
    pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java

Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java?rev=1866150&r1=1866149&r2=1866150&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java Fri Aug 30 15:28:46 2019
@@ -878,30 +878,18 @@ public final class PDAcroForm implements
     {
         for (PDField field : fields)
         {
+            COSArray array;
             if (field.getParent() == null)
             {
-                COSArray cosFields = (COSArray) dictionary.getDictionaryObject(COSName.FIELDS);
-                for (int i = 0; i < cosFields.size(); i++)
-                {
-                    COSDictionary element = (COSDictionary) cosFields.getObject(i);
-                    if (field.getCOSObject().equals(element))
-                    {
-                        cosFields.remove(i);
-                    }
-                }
+                // if the field has no parent, assume it is at root level list, remove it from there
+                array = (COSArray) dictionary.getDictionaryObject(COSName.FIELDS);
             }
             else
             {
-                COSArray kids = (COSArray) field.getParent().getCOSObject().getDictionaryObject(COSName.KIDS);
-                for (int i = 0; i < kids.size(); i++)
-                {
-                    COSDictionary element = (COSDictionary) kids.getObject(i);
-                    if (field.getCOSObject().equals(element))
-                    {
-                        kids.remove(i);
-                    }
-                }
+                // if the field has a parent, then remove from the list there
+                array = (COSArray) field.getParent().getCOSObject().getDictionaryObject(COSName.KIDS);
             }
+            array.removeObject(field.getCOSObject());
         }
     }
 }