You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2021/03/14 15:17:58 UTC
svn commit: r1887634 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
cos/COSDictionary.java cos/COSName.java
pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java
pdmodel/interactive/form/PDFieldFactory.java
Author: lehmi
Date: Sun Mar 14 15:17:57 2021
New Revision: 1887634
URL: http://svn.apache.org/viewvc?rev=1887634&view=rev
Log:
PDFBOX-4892: use convenience methods to simplify code, add new constants
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java?rev=1887634&r1=1887633&r2=1887634&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Sun Mar 14 15:17:57 2021
@@ -337,7 +337,7 @@ public class COSDictionary extends COSBa
*/
public void setEmbeddedDate(String embedded, COSName key, Calendar date)
{
- COSDictionary dic = (COSDictionary) getDictionaryObject(embedded);
+ COSDictionary dic = getCOSDictionary(COSName.getPDFName(embedded));
if (dic == null && date != null)
{
dic = new COSDictionary();
@@ -401,7 +401,7 @@ public class COSDictionary extends COSBa
*/
public void setEmbeddedString(String embedded, COSName key, String value)
{
- COSDictionary dic = (COSDictionary) getDictionaryObject(embedded);
+ COSDictionary dic = getCOSDictionary(COSName.getPDFName(embedded));
if (dic == null && value != null)
{
dic = new COSDictionary();
@@ -479,7 +479,7 @@ public class COSDictionary extends COSBa
*/
public void setEmbeddedInt(String embeddedDictionary, COSName key, int value)
{
- COSDictionary embedded = (COSDictionary) getDictionaryObject(embeddedDictionary);
+ COSDictionary embedded = getCOSDictionary(COSName.getPDFName(embeddedDictionary));
if (embedded == null)
{
embedded = new COSDictionary();
@@ -830,13 +830,8 @@ public class COSDictionary extends COSBa
*/
public String getEmbeddedString(String embedded, COSName key, String defaultValue)
{
- String retval = defaultValue;
- COSBase base = getDictionaryObject(embedded);
- if (base instanceof COSDictionary)
- {
- retval = ((COSDictionary) base).getString(key, defaultValue);
- }
- return retval;
+ COSDictionary eDic = getCOSDictionary(COSName.getPDFName(embedded));
+ return eDic != null ? eDic.getString(key, defaultValue) : defaultValue;
}
/**
@@ -946,13 +941,8 @@ public class COSDictionary extends COSBa
*/
public Calendar getEmbeddedDate(String embedded, COSName key, Calendar defaultValue)
{
- Calendar retval = defaultValue;
- COSDictionary eDic = (COSDictionary) getDictionaryObject(embedded);
- if (eDic != null)
- {
- retval = eDic.getDate(key, defaultValue);
- }
- return retval;
+ COSDictionary eDic = getCOSDictionary(COSName.getPDFName(embedded));
+ return eDic != null ? eDic.getDate(key, defaultValue) : defaultValue;
}
/**
@@ -1055,13 +1045,8 @@ public class COSDictionary extends COSBa
*/
public int getEmbeddedInt(String embeddedDictionary, COSName key, int defaultValue)
{
- int retval = defaultValue;
- COSDictionary embedded = (COSDictionary) getDictionaryObject(embeddedDictionary);
- if (embedded != null)
- {
- retval = embedded.getInt(key, defaultValue);
- }
- return retval;
+ COSDictionary embedded = getCOSDictionary(COSName.getPDFName(embeddedDictionary));
+ return embedded != null ? embedded.getInt(key, defaultValue) : defaultValue;
}
/**
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java?rev=1887634&r1=1887633&r2=1887634&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java Sun Mar 14 15:17:57 2021
@@ -236,6 +236,8 @@ public final class COSName extends COSBa
public static final COSName ENTRUST_PPKEF = new COSName("Entrust.PPKEF");
public static final COSName EXCLUSION = new COSName("Exclusion");
public static final COSName EX_DATA = new COSName("ExData");
+ public static final COSName EXPORT = new COSName("Export");
+ public static final COSName EXPORT_STATE = new COSName("ExportState");
public static final COSName EXT_G_STATE = new COSName("ExtGState");
public static final COSName EXTEND = new COSName("Extend");
public static final COSName EXTENDS = new COSName("Extends");
@@ -458,9 +460,11 @@ public final class COSName extends COSBa
public static final COSName PRE_RELEASE = new COSName("PreRelease");
public static final COSName PREDICTOR = new COSName("Predictor");
public static final COSName PREV = new COSName("Prev");
+ public static final COSName PRINT = new COSName("Print");
public static final COSName PRINT_AREA = new COSName("PrintArea");
public static final COSName PRINT_CLIP = new COSName("PrintClip");
public static final COSName PRINT_SCALING = new COSName("PrintScaling");
+ public static final COSName PRINT_STATE = new COSName("PrintState");
public static final COSName PROC_SET = new COSName("ProcSet");
public static final COSName PROCESS = new COSName("Process");
public static final COSName PRODUCER = new COSName("Producer");
@@ -584,6 +588,7 @@ public final class COSName extends COSBa
public static final COSName URI = new COSName("URI");
public static final COSName URL = new COSName("URL");
public static final COSName URL_TYPE = new COSName("URLType");
+ public static final COSName USAGE = new COSName("Usage");
public static final COSName USE_CMAP = new COSName("UseCMap");
public static final COSName USER_UNIT = new COSName("UserUnit");
// V
@@ -596,6 +601,7 @@ public final class COSName extends COSBa
public static final COSName VIEW = new COSName("View");
public static final COSName VIEW_AREA = new COSName("ViewArea");
public static final COSName VIEW_CLIP = new COSName("ViewClip");
+ public static final COSName VIEW_STATE = new COSName("ViewState");
public static final COSName VIEWER_PREFERENCES = new COSName("ViewerPreferences");
public static final COSName VOLUME = new COSName("Volume");
public static final COSName VP = new COSName("VP");
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java?rev=1887634&r1=1887633&r2=1887634&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/PDOptionalContentGroup.java Sun Mar 14 15:17:57 2021
@@ -80,7 +80,6 @@ public class PDOptionalContentGroup exte
{
return null;
}
-
return RenderState.valueOf(state.getName().toUpperCase());
}
@@ -121,24 +120,24 @@ public class PDOptionalContentGroup exte
public RenderState getRenderState(RenderDestination destination)
{
COSName state = null;
- COSDictionary usage = (COSDictionary) dict.getDictionaryObject("Usage");
+ COSDictionary usage = dict.getCOSDictionary(COSName.USAGE);
if (usage != null)
{
if (RenderDestination.PRINT.equals(destination))
{
- COSDictionary print = (COSDictionary) usage.getDictionaryObject("Print");
- state = print == null ? null : (COSName) print.getDictionaryObject("PrintState");
+ COSDictionary print = usage.getCOSDictionary(COSName.PRINT);
+ state = print == null ? null : print.getCOSName(COSName.PRINT_STATE);
}
else if (RenderDestination.VIEW.equals(destination))
{
- COSDictionary view = (COSDictionary) usage.getDictionaryObject("View");
- state = view == null ? null : (COSName) view.getDictionaryObject("ViewState");
+ COSDictionary view = usage.getCOSDictionary(COSName.VIEW);
+ state = view == null ? null : view.getCOSName(COSName.VIEW_STATE);
}
// Fallback to export
if (state == null)
{
- COSDictionary export = (COSDictionary) usage.getDictionaryObject("Export");
- state = export == null ? null : (COSName) export.getDictionaryObject("ExportState");
+ COSDictionary export = usage.getCOSDictionary(COSName.EXPORT);
+ state = export == null ? null : export.getCOSName(COSName.EXPORT_STATE);
}
}
return state == null ? null : RenderState.valueOf(state);
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java?rev=1887634&r1=1887633&r2=1887634&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDFieldFactory.java Sun Mar 14 15:17:57 2021
@@ -132,11 +132,8 @@ public final class PDFieldFactory
String retval = dic.getNameAsString(COSName.FT);
if (retval == null)
{
- COSBase base = dic.getDictionaryObject(COSName.PARENT, COSName.P);
- if (base instanceof COSDictionary)
- {
- retval = findFieldType((COSDictionary) base);
- }
+ COSDictionary base = dic.getCOSDictionary(COSName.PARENT, COSName.P);
+ return base != null ? findFieldType(base):null;
}
return retval;
}