Author: leleueri
Date: Fri Mar 30 15:58:30 2012
New Revision: 1307495
URL: http://svn.apache.org/viewvc?rev=1307495&view=rev
Log:
[PDFBOX-1264] Test if the PDDeviceNAtribute is null and fix a bug on Shading
Pattern validation that was hidden by the NullPointer
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/ShadingPattern.java
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/color/StandardColorSpaceHelper.java
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/helpers/CatalogValidationHelper.java
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/ShadingPattern.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/ShadingPattern.java?rev=1307495&r1=1307494&r2=1307495&view=diff
==============================================================================
---
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/ShadingPattern.java
(original)
+++
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/graphics/ShadingPattern.java
Fri Mar 30 15:58:30 2012
@@ -90,13 +90,11 @@ public class ShadingPattern implements X
* @return the ShadingPattern dictionary
*/
protected COSDictionary getShadingDictionary(List<ValidationError> errors) {
- if (!"Shading".equals(pattern.getNameAsString(COSName
- .getPDFName(DICTIONARY_KEY_TYPE)))) {
- COSBase shading = pattern
- .getItem(COSName.getPDFName(PATTERN_KEY_SHADING));
+ if (pattern.getItem(COSName.getPDFName(PATTERN_KEY_SHADING_TYPE)) == null
+ &&
!"Shading".equals(pattern.getNameAsString(COSName.getPDFName(DICTIONARY_KEY_TYPE))))
{
+ COSBase shading =
pattern.getItem(COSName.getPDFName(PATTERN_KEY_SHADING));
if (shading == null) {
- errors
- .add(new
ValidationError(ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION));
+ errors.add(new
ValidationError(ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION));
return null;
}
return COSUtils.getAsDictionary(shading, cosDoc);
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=1307495&r1=1307494&r2=1307495&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
Fri Mar 30 15:58:30 2012
@@ -48,6 +48,7 @@ import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpaceFactory;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceN;
+import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceNAttributes;
import org.apache.pdfbox.pdmodel.graphics.color.PDICCBased;
import org.apache.pdfbox.pdmodel.graphics.color.PDIndexed;
import org.apache.pdfbox.pdmodel.graphics.color.PDSeparation;
@@ -337,17 +338,19 @@ public class StandardColorSpaceHelper im
res = processAllColorSpace(altColor, result);
}
- Map colorants = deviceN.getAttributes().getColorants();
int numberOfColorants = 0;
- if (colorants != null) {
- numberOfColorants = colorants.size();
- for (Object col : colorants.values()) {
- if (col != null) {
- res = res &&
processAllColorSpace((PDColorSpace) col, result);
+ PDDeviceNAttributes attr = deviceN.getAttributes();
+ if (attr != null) {
+ Map colorants = attr.getColorants();
+ if (colorants != null) {
+ numberOfColorants = colorants.size();
+ for (Object col : colorants.values()) {
+ if (col != null) {
+ res = res &&
processAllColorSpace((PDColorSpace) col, result);
+ }
}
}
}
-
int numberOfComponents =
deviceN.getNumberOfComponents();
if (numberOfColorants > MAX_DEVICE_N_LIMIT ||
numberOfComponents > MAX_DEVICE_N_LIMIT ) {
result.add(new
ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_TOO_MANY_COMPONENTS_DEVICEN,
"DeviceN has too many tint components or colorants"));
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/helpers/CatalogValidationHelper.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/helpers/CatalogValidationHelper.java?rev=1307495&r1=1307494&r2=1307495&view=diff
==============================================================================
---
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/helpers/CatalogValidationHelper.java
(original)
+++
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/helpers/CatalogValidationHelper.java
Fri Mar 30 15:58:30 2012
@@ -298,7 +298,7 @@ public class CatalogValidationHelper ext
continue;
}
- // TODO When Lazy mode will be added, this
block should be uncommented to set result as warning.
+ // TODO [LAZY] When Lazy mode will be added,
this block should be uncommented to set result as warning.
// if
(!isStandardICCCharacterization(outputConditionIdentifier)) {
// String info =
dictionary.getString(COSName.getPDFName(OUTPUT_INTENT_DICTIONARY_KEY_INFO));
// if (info == null || "".equals(info)) {