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