Author: leleueri
Date: Sat Mar 17 13:31:32 2012
New Revision: 1301936

URL: http://svn.apache.org/viewvc?rev=1301936&view=rev
Log:
[PDFBOX-1259] The DeciveColorSpaceHelper had too many constraints.
Now only  Indexed, DeviceN and Pattern Color space are forbidden or restricted 
in a inline Image.

Modified:
    
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/ValidationResult.java
    
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/DeviceColorSpaceHelper.java
    
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
    pdfbox/trunk/preflight/src/test/resources/expected_errors.txt

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/ValidationResult.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/ValidationResult.java?rev=1301936&r1=1301935&r2=1301936&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/ValidationResult.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/ValidationResult.java
 Sat Mar 17 13:31:32 2012
@@ -235,9 +235,11 @@ public class ValidationResult {
                 */
                public ValidationError(String errorCode, String details) {
                        this(errorCode);
-                       StringBuilder sb = new 
StringBuilder(this.details.length()+details.length()+2);
-                       sb.append(this.details).append(", ").append(details);
-                       this.details = sb.toString();
+                       if (details != null) {
+                               StringBuilder sb = new 
StringBuilder(this.details.length()+details.length()+2);
+                               sb.append(this.details).append(", 
").append(details);
+                               this.details = sb.toString(); 
+                       } 
                }
 
                /**

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/DeviceColorSpaceHelper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/DeviceColorSpaceHelper.java?rev=1301936&r1=1301935&r2=1301936&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/DeviceColorSpaceHelper.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/DeviceColorSpaceHelper.java
 Sat Mar 17 13:31:32 2012
@@ -59,28 +59,7 @@ public class DeviceColorSpaceHelper exte
         .add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, 
"Pattern ColorSpace is forbidden"));
     return false;
   }
-
-  /**
-   * This method updates the given list with a ValidationError
-   * (ERROR_GRAPHIC_INVALID_PATTERN_COLOR_SPACE_FORBIDDEN) and returns false.
-   */
-  protected boolean processCalibratedColorSpace(List<ValidationError> result) {
-    result
-        .add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, 
"Calibrated ColorSpace is forbidden"));
-    return false;
-  }
-
-  /**
-   * This method updates the given list with a ValidationError
-   * (ERROR_GRAPHIC_INVALID_PATTERN_COLOR_SPACE_FORBIDDEN) and returns false.
-   */
-  protected boolean processICCBasedColorSpace(PDColorSpace pdcs,
-      List<ValidationError> result) {
-    result
-        .add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, 
"ICCBased ColorSpace is forbidden"));
-    return false;
-  }
-
+  
   /**
    * This method updates the given list with a ValidationError
    * (ERROR_GRAPHIC_INVALID_PATTERN_COLOR_SPACE_FORBIDDEN) and returns false.
@@ -102,26 +81,17 @@ public class DeviceColorSpaceHelper exte
       List<ValidationError> result) {
     PDIndexed indexed = (PDIndexed) pdcs;
     try {
-      if (iccpw == null) {
-        result.add(new ValidationError(
-            ERROR_GRAPHIC_INVALID_COLOR_SPACE_MISSING, "DestOutputProfile is 
missing"));
-        return false;
-      }
-
       PDColorSpace based = indexed.getBaseColorSpace();
       ColorSpaces cs = ColorSpaces.valueOf(based.getName());
-      switch (cs) {
-      case DeviceCMYK:
-      case DeviceCMYK_SHORT:
-      case DeviceRGB:
-      case DeviceRGB_SHORT:
-      case DeviceGray:
-      case DeviceGray_SHORT:
-        return processAllColorSpace(based, result);
-      default:
-        result.add(new ValidationError(
-            ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, cs.getLabel() + " 
ColorSpace is forbidden"));
+      switch (cs) {      
+      case Indexed:
+       case Indexed_SHORT:
+       case Pattern:
+               result.add(new 
ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, cs.getLabel() + " 
ColorSpace is forbidden"));
         return false;
+        
+       default:
+        return processAllColorSpace(based, result);
       }
 
     } catch (IOException e) {
@@ -129,15 +99,4 @@ public class DeviceColorSpaceHelper exte
       return false;
     }
   }
-
-  /**
-   * This method updates the given list with a ValidationError
-   * (ERROR_GRAPHIC_INVALID_PATTERN_COLOR_SPACE_FORBIDDEN) and returns false.
-   */
-  protected boolean processSeparationColorSpace(PDColorSpace pdcs,
-      List<ValidationError> result) {
-    result
-        .add(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_FORBIDDEN, 
"Separation ColorSpace is forbidden"));
-    return false;
-  }
 }

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java?rev=1301936&r1=1301935&r2=1301936&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
 Sat Mar 17 13:31:32 2012
@@ -376,12 +376,6 @@ public class StandardColorSpaceHelper im
                        List<ValidationError> result) {
                PDIndexed indexed = (PDIndexed) pdcs;
                try {
-                       if (iccpw == null) {
-                               result.add(new ValidationError(
-                                               
ERROR_GRAPHIC_INVALID_COLOR_SPACE_MISSING, "DestOutputProfile is missing"));
-                               return false;
-                       }
-
                        PDColorSpace based = indexed.getBaseColorSpace();
                        ColorSpaces cs = ColorSpaces.valueOf(based.getName());
                        if (cs == ColorSpaces.Indexed || cs == 
ColorSpaces.Indexed_SHORT) {

Modified: pdfbox/trunk/preflight/src/test/resources/expected_errors.txt
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/test/resources/expected_errors.txt?rev=1301936&r1=1301935&r2=1301936&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/test/resources/expected_errors.txt (original)
+++ pdfbox/trunk/preflight/src/test/resources/expected_errors.txt Sat Mar 17 
13:31:32 2012
@@ -77,8 +77,8 @@ isartor-6-2-3-3-t04-fail-a.pdf=2.4.3
 isartor-6-2-3-3-t04-fail-b.pdf=2.4.3
 isartor-6-2-3-3-t04-fail-c.pdf=2.4.3
 isartor-6-2-3-3-t04-fail-d.pdf=2.4.3
-isartor-6-2-3-3-t05-fail-a.pdf=2.4.3
-isartor-6-2-3-3-t05-fail-b.pdf=2.4.3
+isartor-6-2-3-3-t05-fail-a.pdf=2.4.1 // before was 2.4.3 but now the 
IndexColorSpace doesn't check the ICC, it is delegated to the based colorspace 
helper  
+isartor-6-2-3-3-t05-fail-b.pdf=2.4.1 // before was 2.4.3 but now the 
IndexColorSpace doesn't check the ICC, it is delegated to the based colorspace 
helper
 isartor-6-2-3-4-t01-fail-a.pdf=2.4.3
 isartor-6-2-3-4-t01-fail-b.pdf=2.4.3
 isartor-6-2-4-t01-fail-a.pdf=2.3


Reply via email to