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;
     }