Author: tilman
Date: Thu Mar  3 19:27:53 2016
New Revision: 1733516

URL: http://svn.apache.org/viewvc?rev=1733516&view=rev
Log:
PDFBOX-3259: avoid ClassCastException

Modified:
    
pdfbox/branches/1.8/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/TilingPatternValidationProcess.java

Modified: 
pdfbox/branches/1.8/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/TilingPatternValidationProcess.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/1.8/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/TilingPatternValidationProcess.java?rev=1733516&r1=1733515&r2=1733516&view=diff
==============================================================================
--- 
pdfbox/branches/1.8/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/TilingPatternValidationProcess.java
 (original)
+++ 
pdfbox/branches/1.8/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/TilingPatternValidationProcess.java
 Thu Mar  3 19:27:53 2016
@@ -21,6 +21,7 @@
 
 package org.apache.pdfbox.preflight.process.reflect;
 
+import org.apache.pdfbox.cos.COSBase;
 import static 
org.apache.pdfbox.preflight.PreflightConfiguration.RESOURCES_PROCESS;
 import static 
org.apache.pdfbox.preflight.PreflightConstants.ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION;
 
@@ -74,14 +75,23 @@ public class TilingPatternValidationProc
             }
 
     /**
-     * Validate the Pattern content like Color and Show Text Operators using 
an instance of ContentStreamWrapper.
+     * Validate the Pattern content like Color and Show Text Operators using 
an instance of
+     * ContentStreamWrapper.
      */
     protected void parsePatternContent(PreflightContext context, PDPage page, 
PDTilingPatternResources pattern)
             throws ValidationException
-            {
+    {
         ContentStreamWrapper csWrapper = new ContentStreamWrapper(context, 
page);
-        csWrapper.validPatternContentStream((COSStream) 
pattern.getCOSObject());
-            }
+        COSBase base = pattern.getCOSObject();
+        if (base instanceof COSStream)
+        {
+            csWrapper.validPatternContentStream((COSStream) 
pattern.getCOSObject());
+        }
+        else
+        {
+            context.addValidationError(new 
ValidationError(PreflightConstants.ERROR_GRAPHIC_MISSING_OBJECT, "Stream for 
tiling pattern expected"));
+        }
+    }
 
     /**
      * This method checks if required fields are present.


Reply via email to