You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2015/02/04 09:02:04 UTC
svn commit: r1657024 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdmodel/interactive/form/ service/interactive/form/
Author: msahyoun
Date: Wed Feb 4 08:02:03 2015
New Revision: 1657024
URL: http://svn.apache.org/r1657024
Log:
PDFBOX-1234 don't swallow IOException when updating the fields appearance
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/FieldUtils.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/AppearanceGenerator.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/PDAppearanceString.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/FieldUtils.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/FieldUtils.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/FieldUtils.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/FieldUtils.java Wed Feb 4 08:02:03 2015
@@ -57,7 +57,6 @@ public final class FieldUtils
return this.key;
}
-
public String getValue()
{
return this.value;
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java Wed Feb 4 08:02:03 2015
@@ -16,6 +16,8 @@
*/
package org.apache.pdfbox.pdmodel.interactive.form;
+import java.io.IOException;
+
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSInteger;
import org.apache.pdfbox.cos.COSName;
@@ -111,8 +113,9 @@ public abstract class PDField extends PD
*
* The fields appearance stream needs to be updated to reflect the new field
* value. This will be done only if the NeedAppearances flag has not been set.
+ * @throws IOException if the appearance couldn't be generated
*/
- protected void updateFieldAppearances()
+ protected void updateFieldAppearances() throws IOException
{
if (!getAcroForm().isNeedAppearances())
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java Wed Feb 4 08:02:03 2015
@@ -289,8 +289,9 @@ public abstract class PDFieldTreeNode im
* reusing it.
*
* @param fieldValue The new field value.
+ * @throws IOException if there is an error setting the field value.
*/
- public abstract void setValue(String fieldValue);
+ public abstract void setValue(String fieldValue) throws IOException;
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java Wed Feb 4 08:02:03 2015
@@ -266,9 +266,10 @@ public final class PDTextField extends P
* text stream {@link #setValue(PDTextStream)}
* </p>
* @param value the value
+ * @throws IOException if there is an error setting the field value
*/
@Override
- public void setValue(String value)
+ public void setValue(String value) throws IOException
{
if (value != null && !value.isEmpty())
{
@@ -290,8 +291,9 @@ public final class PDTextField extends P
* The value is stored in the field dictionaries "V" entry.
*
* @param textStream the value
+ * @throws IOException if there is an error setting the field value
*/
- public void setValue(PDTextStream textStream)
+ public void setValue(PDTextStream textStream) throws IOException
{
if (textStream != null)
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/AppearanceGenerator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/AppearanceGenerator.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/AppearanceGenerator.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/AppearanceGenerator.java Wed Feb 4 08:02:03 2015
@@ -44,51 +44,30 @@ public final class AppearanceGenerator
* Generate the appearances for a single field.
*
* @param field The field which appearances need to be generated.
+ * @throws IOException
*/
- public static void generateFieldAppearances(PDField field)
+ public static void generateFieldAppearances(PDField field) throws IOException
{
if (field instanceof PDVariableText)
{
PDAppearanceString pdAppearance = null;
Object fieldValue = null;
- try
- {
- pdAppearance = new PDAppearanceString(field.getAcroForm(),
+
+ pdAppearance = new PDAppearanceString(field.getAcroForm(),
(PDVariableText) field);
- fieldValue = field.getValue();
- }
- catch (IOException e)
- {
- // TODO: Implement the removal of the appearance as this
- // exception occurred either because the value couldn't be read or
- // the type is not valid for the field.
+ fieldValue = field.getValue();
- }
// TODO: implement the handling for additional values.
if (fieldValue instanceof String)
{
- try
- {
- pdAppearance.setAppearanceValue((String) fieldValue);
- }
- catch (IOException e)
- {
- LOG.debug("Unable to generate the field appearance.", e);
- }
+ pdAppearance.setAppearanceValue((String) fieldValue);
}
else if (fieldValue instanceof PDTextStream)
{
- try
- {
- pdAppearance.setAppearanceValue(((PDTextStream) fieldValue).getAsString());
- }
- catch (IOException e)
- {
- LOG.debug("Unable to generate the field appearance.", e);
- }
+ pdAppearance.setAppearanceValue(((PDTextStream) fieldValue).getAsString());
}
else if (fieldValue != null)
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/PDAppearanceString.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/PDAppearanceString.java?rev=1657024&r1=1657023&r2=1657024&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/PDAppearanceString.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/service/interactive/form/PDAppearanceString.java Wed Feb 4 08:02:03 2015
@@ -413,7 +413,7 @@ public final class PDAppearanceString
}
else
{
- throw new IOException("Unable to generate field appearance - missing required font resources");
+ throw new IOException("Unable to generate field appearance - missing required font resources: " + cosFontName);
}
}