You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/02/15 16:53:35 UTC

svn commit: r1659932 - /pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java

Author: tilman
Date: Sun Feb 15 15:53:35 2015
New Revision: 1659932

URL: http://svn.apache.org/r1659932
Log:
PDFBOX-2576: use Set.contains() instead of 13 equals() calls

Modified:
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java?rev=1659932&r1=1659931&r2=1659932&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/utils/FilterHelper.java Sun Feb 15 15:53:35 2015
@@ -21,6 +21,8 @@
 
 package org.apache.pdfbox.preflight.utils;
 
+import java.util.HashSet;
+import java.util.Set;
 import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_SYNTAX_STREAM_INVALID_FILTER;
 import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_SYNTAX_STREAM_UNDEFINED_FILTER;
 import static org.apache.pdfbox.preflight.PreflightConstants.INLINE_DICTIONARY_VALUE_FILTER_ASCII_85;
@@ -45,6 +47,25 @@ import org.apache.pdfbox.preflight.Valid
 
 public class FilterHelper
 {
+    
+    static final Set<String> allowedFilters = new HashSet<String>();
+    
+    static
+    {
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_FLATE_DECODE);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_ASCII_HEX);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_ASCII_85);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_CCITTFF);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_DCT);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_JBIG);
+        allowedFilters.add(STREAM_DICTIONARY_VALUE_FILTER_RUN);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_FLATE_DECODE);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_ASCII_HEX);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_ASCII_85);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_CCITTFF);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_DCT);
+        allowedFilters.add(INLINE_DICTIONARY_VALUE_FILTER_RUN);
+    }
 
     /**
      * This method checks if the filter is authorized for the PDF file according to the preflight document specification
@@ -95,22 +116,7 @@ public class FilterHelper
 
             // --- Filters declared in the PDF Reference for PDF 1.4
             // --- Other Filters are considered as invalid to avoid not consistent behaviour
-            boolean definedFilter = STREAM_DICTIONARY_VALUE_FILTER_FLATE_DECODE.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_ASCII_HEX.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_ASCII_85.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_CCITTFF.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_DCT.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_JBIG.equals(filter);
-            definedFilter = definedFilter || STREAM_DICTIONARY_VALUE_FILTER_RUN.equals(filter);
-
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_FLATE_DECODE.equals(filter);
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_ASCII_HEX.equals(filter);
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_ASCII_85.equals(filter);
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_CCITTFF.equals(filter);
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_DCT.equals(filter);
-            definedFilter = definedFilter || INLINE_DICTIONARY_VALUE_FILTER_RUN.equals(filter);
-
-            if (!definedFilter)
+            if (!allowedFilters.contains(filter))
             {
                 context.addValidationError(new ValidationError(ERROR_SYNTAX_STREAM_UNDEFINED_FILTER,
                         "This filter isn't defined in the PDF Reference Third Edition : " + filter));