Author: leleueri
Date: Wed Oct 30 20:31:57 2013
New Revision: 1537287

URL: http://svn.apache.org/r1537287
Log:
[PDFBOX-1763] Convert IllegalArgumentException in ValidationError if the 
ICCProfile is invalid

Modified:
    
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
    
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
    
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
    
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ExtGStateValidationProcess.java

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java?rev=1537287&r1=1537286&r2=1537287&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
 Wed Oct 30 20:31:57 2013
@@ -22,7 +22,8 @@
 package org.apache.pdfbox.preflight.graphic;
 
 import static 
org.apache.pdfbox.preflight.PreflightConstants.DOCUMENT_DICTIONARY_KEY_OUTPUT_INTENTS;
-import static 
org.apache.pdfbox.preflight.PreflightConstants.OUTPUT_INTENT_DICTIONARY_KEY_DEST_OUTPUT_PROFILE;
+import static 
org.apache.pdfbox.preflight.PreflightConstants.ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID;
+import static org.apache.pdfbox.preflight.PreflightConstants.*;
 
 import java.awt.color.ICC_ColorSpace;
 import java.awt.color.ICC_Profile;
@@ -36,6 +37,7 @@ import org.apache.pdfbox.pdmodel.PDDocum
 import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.PreflightDocument;
+import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
 import org.apache.pdfbox.preflight.exception.ValidationException;
 import org.apache.pdfbox.preflight.utils.COSUtils;
 
@@ -143,11 +145,13 @@ public class ICCProfileWrapper
                 }
                 catch (IllegalArgumentException e)
                 {
-                    throw new ValidationException("DestOutputProfile isn't a 
ICCProfile", e);
+                    context.addValidationError(new 
ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
+                            "DestOutputProfile isn't a valid ICCProfile. 
Caused by : " + e.getMessage()));
                 }
                 catch (IOException e)
-                {
-                    throw new ValidationException("Unable to parse the 
ICCProfile", e);
+                {            
+                    context.addValidationError(new 
ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
+                        "Unable to parse the ICCProfile. Caused by : " + 
e.getMessage()));
                 }
             }
         }

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java?rev=1537287&r1=1537286&r2=1537287&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
 Wed Oct 30 20:31:57 2013
@@ -266,11 +266,17 @@ public class StandardColorSpaceHelper im
                      */
                 }
             }
+        }        
+        catch (IllegalArgumentException e)
+        {
+            // this is not a ICC_Profile
+            context.addValidationError(new 
ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_ICCBASED,
+                    "ICCBase color space is invalid. Caused By: " + 
e.getMessage()));
         }
         catch (IOException e)
         {
             context.addValidationError(new 
ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE,
-                    "Unable to read ICCBase color space : " + e.getMessage()));
+                    "Unable to read ICCBase color space. Caused by : " + 
e.getMessage()));
         }
     }
 

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java?rev=1537287&r1=1537286&r2=1537287&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
 Wed Oct 30 20:31:57 2013
@@ -456,11 +456,11 @@ public class CatalogValidationProcess ex
         {
             // this is not a ICC_Profile
             addValidationError(ctx, new 
ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
-                    "DestOutputProfile isn't a ICCProfile"));
+                    "DestOutputProfile isn't a valid ICCProfile. Caused by : " 
+ e.getMessage()));
         }
         catch (IOException e)
         {
-            throw new ValidationException("Unable to parse the ICC Profile", 
e);
+            throw new ValidationException("Unable to parse the ICC Profile.", 
e);
         }
             }
 }

Modified: 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ExtGStateValidationProcess.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ExtGStateValidationProcess.java?rev=1537287&r1=1537286&r2=1537287&view=diff
==============================================================================
--- 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ExtGStateValidationProcess.java
 (original)
+++ 
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ExtGStateValidationProcess.java
 Wed Oct 30 20:31:57 2013
@@ -231,10 +231,10 @@ public class ExtGStateValidationProcess 
         if (egs.getItem("TR2") != null)
         {
             String s = egs.getNameAsString("TR2");
-            if (!"default".equals(s))
+            if (!"Default".equals(s))
             {
                 context.addValidationError(new 
ValidationError(ERROR_GRAPHIC_UNEXPECTED_VALUE_FOR_KEY,
-                        "TR2 key only expect 'default' value, not '" + s + 
"'"));
+                        "TR2 key only expect 'Default' value, not '" + s + 
"'"));
             }
         }
     }


Reply via email to