You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2012/03/30 17:58:30 UTC
svn commit: r1307495 - in
/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight:
graphics/ShadingPattern.java graphics/color/StandardColorSpaceHelper.java
helpers/CatalogValidationHelper.java
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)) {