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 2020/11/28 14:14:32 UTC
svn commit: r1883898 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/ pdmodel/
pdmodel/common/ pdmodel/fdf/ pdmodel/graphics/color/
pdmodel/interactive/action/ pdmodel/interactive/form/
Author: lehmi
Date: Sat Nov 28 14:14:32 2020
New Revision: 1883898
URL: http://svn.apache.org/viewvc?rev=1883898&view=rev
Log:
PDFBOX-4954: replace COSArrayList.converterToCOSArray call, adjust constructor of COSArray
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocumentCatalog.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFField.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFPage.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/action/PDAction.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Sat Nov 28 14:14:32 2020
@@ -47,15 +47,25 @@ public class COSArray extends COSBase im
/**
* Use the given list to initialize the COSArray.
*
- * @param cosObjects the initial list of COSObjects
+ * @param cosObjectables the initial list of COSObjectables
*/
- public COSArray(List<? extends COSBase> cosObjects)
+ public COSArray(List<? extends COSObjectable> cosObjectables)
{
- if (cosObjects == null)
+ if (cosObjectables == null)
{
- throw new IllegalArgumentException("List of COS objects cannot be null");
+ throw new IllegalArgumentException("List of COSObjectables cannot be null");
+ }
+ for (COSObjectable cosObjectable : cosObjectables)
+ {
+ if (cosObjectable != null)
+ {
+ objects.add(cosObjectable.getCOSObject());
+ }
+ else
+ {
+ objects.add(null);
+ }
}
- objects.addAll(cosObjects);
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocumentCatalog.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocumentCatalog.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocumentCatalog.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocumentCatalog.java Sat Nov 28 14:14:32 2020
@@ -233,7 +233,7 @@ public class PDDocumentCatalog implement
*/
public void setThreads(List<PDThread> threads)
{
- root.setItem(COSName.THREADS, COSArrayList.converterToCOSArray(threads));
+ root.setItem(COSName.THREADS, new COSArray(threads));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java Sat Nov 28 14:14:32 2020
@@ -584,7 +584,7 @@ public class PDPage implements COSObject
*/
public void setThreadBeads(List<PDThreadBead> beads)
{
- page.setItem(COSName.B, COSArrayList.converterToCOSArray(beads));
+ page.setItem(COSName.B, new COSArray(beads));
}
/**
@@ -729,7 +729,7 @@ public class PDPage implements COSObject
*/
public void setAnnotations(List<PDAnnotation> annotations)
{
- page.setItem(COSName.ANNOTS, COSArrayList.converterToCOSArray(annotations));
+ page.setItem(COSName.ANNOTS, new COSArray(annotations));
}
@Override
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/COSArrayList.java Sat Nov 28 14:14:32 2020
@@ -300,7 +300,7 @@ public class COSArrayList<E> implements
* @throws IllegalArgumentException if an object type is not supported for conversion to a
* COSBase object.
*/
- public static COSArray converterToCOSArray( List<?> cosObjectableList )
+ public static COSArray converterToCOSArray(List<?> cosObjectableList)
{
COSArray array = null;
if( cosObjectableList != null )
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java Sat Nov 28 14:14:32 2020
@@ -138,7 +138,7 @@ public abstract class PDNameTreeNode<T e
if (kids != null && !kids.isEmpty())
{
kids.forEach(kidsNode -> kidsNode.setParent(this));
- node.setItem( COSName.KIDS, COSArrayList.converterToCOSArray( kids ) );
+ node.setItem(COSName.KIDS, new COSArray(kids));
// root nodes with kids don't have Names
if (isRootNode())
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java Sat Nov 28 14:14:32 2020
@@ -114,16 +114,17 @@ public class PDNumberTreeNode implements
PDNumberTreeNode firstKid = kids.get(0);
PDNumberTreeNode lastKid = kids.get(kids.size() - 1);
Integer lowerLimit = firstKid.getLowerLimit();
- this.setLowerLimit(lowerLimit);
+ setLowerLimit(lowerLimit);
Integer upperLimit = lastKid.getUpperLimit();
- this.setUpperLimit(upperLimit);
+ setUpperLimit(upperLimit);
+ node.setItem(COSName.KIDS, new COSArray(kids));
}
else if ( node.getDictionaryObject( COSName.NUMS ) == null )
{
// Remove limits if there are no kids and no numbers set.
node.setItem( COSName.LIMITS, null);
+ node.setItem(COSName.KIDS, null);
}
- node.setItem( COSName.KIDS, COSArrayList.converterToCOSArray( kids ) );
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFDictionary.java Sat Nov 28 14:14:32 2020
@@ -338,7 +338,7 @@ public class FDFDictionary implements CO
*/
public final void setFields(List<FDFField> fields)
{
- fdf.setItem(COSName.FIELDS, COSArrayList.converterToCOSArray(fields));
+ fdf.setItem(COSName.FIELDS, new COSArray(fields));
}
/**
@@ -390,7 +390,7 @@ public class FDFDictionary implements CO
*/
public void setPages(List<FDFPage> pages)
{
- fdf.setItem(COSName.PAGES, COSArrayList.converterToCOSArray(pages));
+ fdf.setItem(COSName.PAGES, new COSArray(pages));
}
/**
@@ -451,7 +451,7 @@ public class FDFDictionary implements CO
*/
public final void setAnnotations(List<FDFAnnotation> annots)
{
- fdf.setItem(COSName.ANNOTS, COSArrayList.converterToCOSArray(annots));
+ fdf.setItem(COSName.ANNOTS, new COSArray(annots));
}
/**
@@ -526,7 +526,7 @@ public class FDFDictionary implements CO
*/
public void setEmbeddedFDFs(List<PDFileSpecification> embedded)
{
- fdf.setItem(COSName.EMBEDDED_FDFS, COSArrayList.converterToCOSArray(embedded));
+ fdf.setItem(COSName.EMBEDDED_FDFS, new COSArray(embedded));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFField.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFField.java Sat Nov 28 14:14:32 2020
@@ -188,7 +188,7 @@ public class FDFField implements COSObje
*/
public final void setKids(List<FDFField> kids)
{
- field.setItem(COSName.KIDS, COSArrayList.converterToCOSArray(kids));
+ field.setItem(COSName.KIDS, new COSArray(kids));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFPage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFPage.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFPage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFPage.java Sat Nov 28 14:14:32 2020
@@ -91,7 +91,7 @@ public class FDFPage implements COSObjec
*/
public void setTemplates(List<FDFTemplate> templates)
{
- page.setItem(COSName.TEMPLATES, COSArrayList.converterToCOSArray(templates));
+ page.setItem(COSName.TEMPLATES, new COSArray(templates));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFTemplate.java Sat Nov 28 14:14:32 2020
@@ -117,7 +117,7 @@ public class FDFTemplate implements COSO
*/
public void setFields(List<FDFField> fields)
{
- template.setItem(COSName.FIELDS, COSArrayList.converterToCOSArray(fields));
+ template.setItem(COSName.FIELDS, new COSArray(fields));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Sat Nov 28 14:14:32 2020
@@ -41,7 +41,6 @@ import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDResources;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
import org.apache.pdfbox.pdmodel.common.PDRange;
import org.apache.pdfbox.pdmodel.common.PDStream;
@@ -521,7 +520,7 @@ public final class PDICCBased extends PD
COSArray altArray = null;
if(list != null)
{
- altArray = COSArrayList.converterToCOSArray(list);
+ altArray = new COSArray(list);
}
stream.getCOSObject().setItem(COSName.ALTERNATE, altArray);
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/action/PDAction.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/action/PDAction.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/action/PDAction.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/action/PDAction.java Sat Nov 28 14:14:32 2020
@@ -153,8 +153,8 @@ public abstract class PDAction implement
*
* @param next The Next action or sequence of actions.
*/
- public void setNext( List<?> next )
+ public void setNext(List<PDAction> next)
{
- action.setItem(COSName.NEXT, COSArrayList.converterToCOSArray(next));
+ action.setItem(COSName.NEXT, new COSArray(next));
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java Sat Nov 28 14:14:32 2020
@@ -391,7 +391,7 @@ public final class PDAcroForm implements
*/
public void setFields(List<PDField> fields)
{
- dictionary.setItem(COSName.FIELDS, COSArrayList.converterToCOSArray(fields));
+ dictionary.setItem(COSName.FIELDS, new COSArray(fields));
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java Sat Nov 28 14:14:32 2020
@@ -27,7 +27,6 @@ import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSInteger;
import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
import org.apache.pdfbox.pdmodel.fdf.FDFField;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
@@ -159,7 +158,7 @@ public class PDNonTerminalField extends
*/
public void setChildren(List<PDField> children)
{
- COSArray kidsArray = COSArrayList.converterToCOSArray(children);
+ COSArray kidsArray = new COSArray(children);
getCOSObject().setItem(COSName.KIDS, kidsArray);
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java?rev=1883898&r1=1883897&r2=1883898&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTerminalField.java Sat Nov 28 14:14:32 2020
@@ -24,7 +24,6 @@ import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSInteger;
import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
import org.apache.pdfbox.pdmodel.fdf.FDFField;
import org.apache.pdfbox.pdmodel.interactive.action.PDFormFieldAdditionalActions;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
@@ -193,7 +192,7 @@ public abstract class PDTerminalField ex
*/
public void setWidgets(List<PDAnnotationWidget> children)
{
- COSArray kidsArray = COSArrayList.converterToCOSArray(children);
+ COSArray kidsArray = new COSArray(children);
getCOSObject().setItem(COSName.KIDS, kidsArray);
for (PDAnnotationWidget widget : children)
{