Author: msahyoun
Date: Wed Jan  7 07:46:39 2015
New Revision: 1650002

URL: http://svn.apache.org/r1650002
Log:
PDFBOX-2516 PDFBOX-2588 create non existing dictionary key if needed

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldTreeNode.java
    
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/TestFields.java

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=1650002&r1=1650001&r2=1650002&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 Jan  7 07:46:39 2015
@@ -145,6 +145,10 @@ public abstract class PDFieldTreeNode im
         if (attributesNode != null)
         {
             attributesNode.getDictionary().setItem(key, value);
+        } 
+        else
+        {
+            getDictionary().setItem(key, value);
         }
     }  
     

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/TestFields.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/TestFields.java?rev=1650002&r1=1650001&r2=1650002&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/TestFields.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/TestFields.java
 Wed Jan  7 07:46:39 2015
@@ -116,6 +116,19 @@ public class TestFields extends TestCase
             assertTrue( textBox.isComb() );
             textBox.setComb( true );
             assertTrue( textBox.isComb() );
+            
+            // assert that there is no value, set the field value and
+            // ensure it has been set
+            assertNull(textBox.getDictionary().getItem(COSName.V));
+            textBox.setValue("field value");
+            assertNotNull(textBox.getDictionary().getItem(COSName.V));
+            assertEquals(textBox.getValue(),"field value");
+            
+            // assert when setting to null the key has also been removed
+            assertNotNull(textBox.getDictionary().getItem(COSName.V));
+            textBox.setValue(null);
+            assertNull(textBox.getDictionary().getItem(COSName.V));
+            
         }
         finally
         {


Reply via email to