You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ko...@apache.org on 2010/03/23 11:38:31 UTC

svn commit: r926522 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure: PDStructureElement.java PDStructureNode.java PDStructureTreeRoot.java

Author: koch
Date: Tue Mar 23 10:38:30 2010
New Revision: 926522

URL: http://svn.apache.org/viewvc?rev=926522&view=rev
Log:
bug fixes

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureNode.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureTreeRoot.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java?rev=926522&r1=926521&r2=926522&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureElement.java Tue Mar 23 10:38:30 2010
@@ -26,12 +26,14 @@ import org.apache.pdfbox.cos.COSInteger;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSObject;
 import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.pdmodel.common.COSObjectable;
 import org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedContent;
 
 /**
  * A structure element.
  *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
+ * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>,
+ *  <a href="mailto:Johannes%20Koch%20%3Ckoch@apache.org%3E">Johannes Koch</a>
  * @version $Revision: 1.3 $
  */
 public class PDStructureElement extends PDStructureNode
@@ -202,6 +204,10 @@ public class PDStructureElement extends 
      */
     public void setClassNames(Revisions<String> classNames)
     {
+        if (classNames == null)
+        {
+            return;
+        }
         COSName key = COSName.C;
         if ((classNames.size() == 1) && (classNames.getRevisionNumber(0) == 0))
         {
@@ -231,6 +237,10 @@ public class PDStructureElement extends 
      */
     public void addClassName(String className)
     {
+        if (className == null)
+        {
+            return;
+        }
         COSName key = COSName.C;
         COSBase c = this.getCOSDictionary().getDictionaryObject(key);
         COSArray array = null;
@@ -259,6 +269,10 @@ public class PDStructureElement extends 
      */
     public void removeClassName(String className)
     {
+        if (className == null)
+        {
+            return;
+        }
         COSName key = COSName.C;
         COSBase c = this.getCOSDictionary().getDictionaryObject(key);
         COSName name = COSName.getPDFName(className);
@@ -302,10 +316,22 @@ public class PDStructureElement extends 
      */
     public void setRevisionNumber(int revisionNumber)
     {
+        if (revisionNumber < 0)
+        {
+            // TODO throw Exception because revision number must be > -1?
+        }
         this.getCOSDictionary().setInt(COSName.R, revisionNumber);
     }
 
     /**
+     * Increments th revision number
+     */
+    public void incrementRevisionNumber()
+    {
+        this.setRevisionNumber(this.getRevisionNumber() + 1);
+    }
+
+    /**
      * Returns the title (T).
      * 
      * @return the title
@@ -434,6 +460,10 @@ public class PDStructureElement extends 
      */
     public void appendKid(PDMarkedContent markedContent)
     {
+        if (markedContent == null)
+        {
+            return;
+        }
         this.appendKid(COSInteger.get(markedContent.getMCID()));
     }
 
@@ -465,7 +495,7 @@ public class PDStructureElement extends 
      */
     public void insertBefore(COSInteger markedContentIdentifier, Object refKid)
     {
-        this.insertBefore(markedContentIdentifier, refKid);
+        this.insertBefore((COSBase) markedContentIdentifier, refKid);
     }
 
     /**
@@ -474,9 +504,10 @@ public class PDStructureElement extends 
      * @param markedContentReference the marked-content reference
      * @param refKid the reference kid
      */
-    public void insertBefore(PDMarkedContentReference markedContentReference, Object refKid)
+    public void insertBefore(PDMarkedContentReference markedContentReference,
+        Object refKid)
     {
-        this.insertBefore(markedContentReference, refKid);
+        this.insertObjectableBefore(markedContentReference, refKid);
     }
 
     /**
@@ -487,7 +518,7 @@ public class PDStructureElement extends 
      */
     public void insertBefore(PDObjectReference objectReference, Object refKid)
     {
-        this.insertBefore(objectReference, refKid);
+        this.insertObjectableBefore(objectReference, refKid);
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureNode.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureNode.java?rev=926522&r1=926521&r2=926522&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureNode.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureNode.java Tue Mar 23 10:38:30 2010
@@ -218,7 +218,7 @@ public abstract class PDStructureNode im
      */
     public void insertBefore(PDStructureElement newKid, Object refKid)
     {
-        this.insertBefore((COSObjectable) newKid, refKid);
+        this.insertObjectableBefore(newKid, refKid);
     }
 
     /**
@@ -227,7 +227,7 @@ public abstract class PDStructureNode im
      * @param newKid the objectable
      * @param refKid the reference kid
      */
-    protected void insertBefore(COSObjectable newKid, Object refKid)
+    protected void insertObjectableBefore(COSObjectable newKid, Object refKid)
     {
         if (newKid == null)
         {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureTreeRoot.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureTreeRoot.java?rev=926522&r1=926521&r2=926522&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureTreeRoot.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/logicalstructure/PDStructureTreeRoot.java Tue Mar 23 10:38:30 2010
@@ -29,7 +29,8 @@ import org.apache.pdfbox.pdmodel.common.
 /**
  * A root of a structure tree.
  *
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
+ * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>,
+ *  <a href="mailto:Johannes%20Koch%20%3Ckoch@apache.org%3E">Johannes Koch</a>
  * @version $Revision: 1.2 $
  */
 public class PDStructureTreeRoot extends PDStructureNode