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/07/01 22:33:38 UTC
svn commit: r1688730 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java
Author: msahyoun
Date: Wed Jul 1 20:33:38 2015
New Revision: 1688730
URL: http://svn.apache.org/r1688730
Log:
PDFBOX-2851: resolve fixme comment in getExportValue method
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java?rev=1688730&r1=1688729&r2=1688730&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDRadioButton.java Wed Jul 1 20:33:38 2015
@@ -24,7 +24,6 @@ import java.util.Set;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.pdmodel.common.COSObjectable;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceDictionary;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceEntry;
@@ -92,7 +91,7 @@ public final class PDRadioButton extends
* A RadioButton might have an export value to allow field values
* which can not be encoded as PDFDocEncoding or for the same export value
* being assigned to multiple RadioButtons in a group.<br/>
- * To define an export value the RadioButton must define options {@link #setOptions(List)}
+ * To define an export value the RadioButton must define options {@link #setExportValues(List)}
* which correspond to the individual items within the RadioButton.</p>
* <p>
* The method will either return the value from the options entry or in case there
@@ -103,32 +102,20 @@ public final class PDRadioButton extends
*/
public String getExportValue() throws IOException
{
- List<String> options = getOptions();
- if (options.isEmpty())
+ List<String> exportValues = getExportValues();
+ if (exportValues.isEmpty())
{
return getValue();
}
else
{
String fieldValue = getValue();
- List<PDAnnotationWidget> kids = getWidgets();
- int idx = 0;
- for (COSObjectable kid : kids)
- {
- // fixme: this is always false, because it's kids are always widgets, not fields.
- /*if (kid instanceof PDCheckbox)
- {
- PDCheckbox btn = (PDCheckbox) kid;
- if (btn.getOnValue().equals(fieldValue))
- {
- break;
- }
- idx++;
- }*/
- }
- if (idx <= options.size())
+ List<String> onValues = getOnValues();
+ int idx = onValues.indexOf(fieldValue);
+
+ if (idx != -1 && idx < exportValues.size())
{
- return options.get(idx);
+ return exportValues.get(idx);
}
}
return "";
@@ -227,8 +214,7 @@ public final class PDRadioButton extends
{
dictionary.setName(COSName.DV, value);
}
- }
-
+ }
/**
* Get the List of values to set individual radio buttons to the on state.
@@ -267,7 +253,6 @@ public final class PDRadioButton extends
}
}
return onValues;
- }
-
+ }
}