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 2018/10/16 15:26:03 UTC
svn commit: r1844021 - in
/pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger:
PDFDebugger.java flagbitspane/FlagBitsPane.java flagbitspane/SigFlag.java
Author: tilman
Date: Tue Oct 16 15:26:03 2018
New Revision: 1844021
URL: http://svn.apache.org/viewvc?rev=1844021&view=rev
Log:
PDFBOX-2941: avoid NPE when looking at Root/AcroForm/SigFlags by passing document to AcroForm constructor
Modified:
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/FlagBitsPane.java
pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/SigFlag.java
Modified: pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java?rev=1844021&r1=1844020&r2=1844021&view=diff
==============================================================================
--- pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java (original)
+++ pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java Tue Oct 16 15:26:03 2018
@@ -906,7 +906,9 @@ public class PDFDebugger extends JFrame
{
selectedNode = ((MapEntry)selectedNode).getKey();
selectedNode = getUnderneathObject(selectedNode);
- FlagBitsPane flagBitsPane = new FlagBitsPane((COSDictionary) parentNode, (COSName) selectedNode);
+ FlagBitsPane flagBitsPane = new FlagBitsPane(document,
+ (COSDictionary) parentNode,
+ (COSName) selectedNode);
replaceRightComponent(flagBitsPane.getPane());
}
}
Modified: pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/FlagBitsPane.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/FlagBitsPane.java?rev=1844021&r1=1844020&r2=1844021&view=diff
==============================================================================
--- pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/FlagBitsPane.java (original)
+++ pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/FlagBitsPane.java Tue Oct 16 15:26:03 2018
@@ -20,6 +20,7 @@ package org.apache.pdfbox.debugger.flagb
import javax.swing.JPanel;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.pdmodel.PDDocument;
/**
* @author Khyrul Bashar
@@ -29,14 +30,16 @@ import org.apache.pdfbox.cos.COSName;
public class FlagBitsPane
{
private FlagBitsPaneView view;
+ private final PDDocument document;
/**
* Constructor.
* @param dictionary COSDictionary instance.
* @param flagType COSName instance.
*/
- public FlagBitsPane(final COSDictionary dictionary, COSName flagType)
+ public FlagBitsPane(PDDocument document, final COSDictionary dictionary, COSName flagType)
{
+ this.document = document;
createPane(dictionary, flagType);
}
@@ -79,7 +82,7 @@ public class FlagBitsPane
}
if (COSName.SIG_FLAGS.equals(flagType))
{
- flag = new SigFlag(dictionary);
+ flag = new SigFlag(document, dictionary);
view = new FlagBitsPaneView(
flag.getFlagType(), flag.getFlagValue(), flag.getFlagBits(), flag.getColumnNames());
}
Modified: pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/SigFlag.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/SigFlag.java?rev=1844021&r1=1844020&r2=1844021&view=diff
==============================================================================
--- pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/SigFlag.java (original)
+++ pdfbox/branches/2.0/debugger/src/main/java/org/apache/pdfbox/debugger/flagbitspane/SigFlag.java Tue Oct 16 15:26:03 2018
@@ -19,6 +19,7 @@ package org.apache.pdfbox.debugger.flagb
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
/**
@@ -28,16 +29,18 @@ import org.apache.pdfbox.pdmodel.interac
*/
public class SigFlag extends Flag
{
- private final COSDictionary acroformDictionary;
+ private final PDDocument document;
+ private final COSDictionary acroFormDictionary;
/**
* Constructor
*
* @param acroFormDictionary COSDictionary instance.
*/
- SigFlag(COSDictionary acroFormDictionary)
+ SigFlag(PDDocument document, COSDictionary acroFormDictionary)
{
- acroformDictionary = acroFormDictionary;
+ this.document = document;
+ this.acroFormDictionary = acroFormDictionary;
}
@Override
@@ -49,13 +52,13 @@ public class SigFlag extends Flag
@Override
String getFlagValue()
{
- return "Flag value: " + acroformDictionary.getInt(COSName.SIG_FLAGS);
+ return "Flag value: " + acroFormDictionary.getInt(COSName.SIG_FLAGS);
}
@Override
Object[][] getFlagBits()
{
- PDAcroForm acroForm = new PDAcroForm(null, acroformDictionary);
+ PDAcroForm acroForm = new PDAcroForm(document, acroFormDictionary);
return new Object[][]{
new Object[]{1, "SignaturesExist", acroForm.isSignaturesExist()},
new Object[]{2, "AppendOnly", acroForm.isAppendOnly()},