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 2019/04/22 11:45:04 UTC

svn commit: r1857954 - in /pdfbox/trunk: ./ preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java

Author: lehmi
Date: Mon Apr 22 11:45:03 2019
New Revision: 1857954

URL: http://svn.apache.org/viewvc?rev=1857954&view=rev
Log:
replaced switch statement

Modified:
    pdfbox/trunk/   (props changed)
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java

Propchange: pdfbox/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 22 11:45:03 2019
@@ -1,3 +1,3 @@
-/pdfbox/branches/2.0:1760418,1761484,1762133,1763609,1779822,1780783,1780789,1782684,1784450,1792784,1795704,1795712,1799081-1799082,1814046,1814285,1814459,1824914,1825811,1825820,1825912,1844477,1844516,1844519,1844567,1850577
+/pdfbox/branches/2.0:1760418,1761484,1762133,1763609,1779822,1780783,1780789,1782684,1784450,1792784,1795704,1795712,1799081-1799082,1814046,1814285,1814459,1824914,1825811,1825820,1825912,1844477,1844516,1844519,1844567,1850577,1857953
 /pdfbox/branches/no-awt:1618517-1621410
 /pdfbox/no-awt:1618514-1618516

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java?rev=1857954&r1=1857953&r2=1857954&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/content/StubOperator.java Mon Apr 22 11:45:03 2019
@@ -35,6 +35,7 @@ import static org.apache.pdfbox.prefligh
 import static org.apache.pdfbox.preflight.PreflightConstants.MAX_STRING_LENGTH;
 
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.List;
 
 import org.apache.pdfbox.cos.COSArray;
@@ -56,6 +57,39 @@ public class StubOperator extends Operat
 {
     private final String name;
 
+    private static final List<String> CHECK_NO_OPERANDS = Arrays.asList( //
+            OperatorName.STROKE_PATH, OperatorName.FILL_NON_ZERO, OperatorName.LEGACY_FILL_NON_ZERO,
+            OperatorName.FILL_EVEN_ODD, OperatorName.FILL_NON_ZERO_AND_STROKE,
+            OperatorName.FILL_EVEN_ODD_AND_STROKE, OperatorName.CLOSE_FILL_NON_ZERO_AND_STROKE,
+            OperatorName.CLOSE_FILL_EVEN_ODD_AND_STROKE, OperatorName.CLOSE_AND_STROKE,
+            OperatorName.END_MARKED_CONTENT, OperatorName.CLOSE_PATH, OperatorName.CLIP_NON_ZERO,
+            OperatorName.CLIP_EVEN_ODD, OperatorName.ENDPATH);
+
+    private static final List<String> CHECK_STRING_OPERANDS = Arrays.asList( //
+            OperatorName.BEGIN_MARKED_CONTENT, OperatorName.SET_GRAPHICS_STATE_PARAMS,
+            OperatorName.SET_RENDERINGINTENT, OperatorName.SHADING_FILL, OperatorName.SHOW_TEXT,
+            OperatorName.SHOW_TEXT_LINE, OperatorName.MARKED_CONTENT_POINT);
+
+    private static final List<String> CHECK_TAG_AND_PROPERTY_OPERANDS = Arrays.asList( //
+            OperatorName.BEGIN_MARKED_CONTENT_SEQ, OperatorName.MARKED_CONTENT_POINT_WITH_PROPS);
+
+    private static final List<String> CHECK_NUMBER_OPERANDS_6 = Arrays.asList( //
+            OperatorName.CURVE_TO, OperatorName.TYPE3_D1);
+
+    private static final List<String> CHECK_NUMBER_OPERANDS_4 = Arrays.asList( //
+            OperatorName.CURVE_TO_REPLICATE_FINAL_POINT,
+            OperatorName.CURVE_TO_REPLICATE_INITIAL_POINT, OperatorName.APPEND_RECT);
+
+    private static final List<String> CHECK_NUMBER_OPERANDS_2 = Arrays.asList( //
+            OperatorName.MOVE_TO, OperatorName.LINE_TO, OperatorName.TYPE3_D0);
+
+    private static final List<String> CHECK_NUMBER_OPERANDS = Arrays.asList( //
+            OperatorName.NON_STROKING_GRAY, OperatorName.STROKING_COLOR_GRAY,
+            OperatorName.SET_FLATNESS, OperatorName.SET_LINE_MITERLIMIT);
+
+    private static final List<String> CHECK_ARRAY_OPERANDS = Arrays.asList( //
+            OperatorName.SHOW_TEXT_ADJUSTED);
+
     public StubOperator(String name)
     {
         this.name = name;
@@ -70,69 +104,46 @@ public class StubOperator extends Operat
     @Override
     public void process(Operator operator, List<COSBase> arguments) throws IOException
     {
-        switch (operator.getName())
+        String opName = operator.getName();
+        if (CHECK_NO_OPERANDS.contains(opName))
         {
-        case OperatorName.STROKE_PATH:
-        case OperatorName.FILL_NON_ZERO:
-        case OperatorName.LEGACY_FILL_NON_ZERO:
-        case OperatorName.FILL_EVEN_ODD:
-        case OperatorName.FILL_NON_ZERO_AND_STROKE:
-        case OperatorName.FILL_EVEN_ODD_AND_STROKE:
-        case OperatorName.CLOSE_FILL_NON_ZERO_AND_STROKE:
-        case OperatorName.CLOSE_FILL_EVEN_ODD_AND_STROKE:
-        case OperatorName.CLOSE_AND_STROKE:
-        case OperatorName.END_MARKED_CONTENT:
-        case OperatorName.CLOSE_PATH:
-        case OperatorName.CLIP_NON_ZERO:
-        case OperatorName.CLIP_EVEN_ODD:
-        case OperatorName.ENDPATH:
             checkNoOperands(arguments);
-            break;
-        case OperatorName.BEGIN_MARKED_CONTENT:
-        case OperatorName.SET_GRAPHICS_STATE_PARAMS:
-        case OperatorName.SET_RENDERINGINTENT:
-        case OperatorName.SHADING_FILL:
-        case OperatorName.SHOW_TEXT:
-        case OperatorName.SHOW_TEXT_LINE:
-        case OperatorName.MARKED_CONTENT_POINT:
+        }
+        else if (CHECK_STRING_OPERANDS.contains(opName))
+        {
             checkStringOperands(arguments, 1);
-            break;
-        case OperatorName.BEGIN_MARKED_CONTENT_SEQ:
-        case OperatorName.MARKED_CONTENT_POINT_WITH_PROPS:
+        }
+        else if (CHECK_TAG_AND_PROPERTY_OPERANDS.contains(opName))
+        {
             checkTagAndPropertyOperands(arguments);
-            break;
-        case OperatorName.CURVE_TO:
-        case OperatorName.TYPE3_D1:
+        }
+        else if (CHECK_NUMBER_OPERANDS_6.contains(opName))
+        {
             checkNumberOperands(arguments, 6);
-            break;
-        case OperatorName.CURVE_TO_REPLICATE_FINAL_POINT:
-        case OperatorName.CURVE_TO_REPLICATE_INITIAL_POINT:
-        case OperatorName.APPEND_RECT:
+        }
+        else if (CHECK_NUMBER_OPERANDS_4.contains(opName))
+        {
             checkNumberOperands(arguments, 4);
-            break;
-        case OperatorName.MOVE_TO:
-        case OperatorName.LINE_TO:
-        case OperatorName.TYPE3_D0:
+        }
+        else if (CHECK_NUMBER_OPERANDS_2.contains(opName))
+        {
             checkNumberOperands(arguments, 2);
-            break;
-        case OperatorName.NON_STROKING_GRAY:
-        case OperatorName.STROKING_COLOR_GRAY:
-        case OperatorName.SET_FLATNESS:
-        case OperatorName.SET_LINE_MITERLIMIT:
+        }
+        else if (CHECK_NUMBER_OPERANDS.contains(opName))
+        {
             checkNumberOperands(arguments, 1);
-            break;
-        case OperatorName.SHOW_TEXT_ADJUSTED:
+        }
+        else if (CHECK_ARRAY_OPERANDS.contains(opName))
+        {
             checkArrayOperands(arguments, 1);
-            break;
-        case OperatorName.SHOW_TEXT_LINE_AND_SPACE:
+        }
+        else if (OperatorName.SHOW_TEXT_LINE_AND_SPACE.equals(opName))
+        {
             checkNumberOperands(arguments.subList(0, 2), 2);
             checkStringOperands(arguments.subList(2, arguments.size()), 1);
-            break;
-        default:
-            // ---- Some operators are processed by PDFBox Objects.
-            // ---- Other operators are authorized but not used.
-            break;
         }
+        // ---- Some operators are processed by PDFBox Objects.
+        // ---- Other operators are authorized but not used.
     }
 
     /**