Author: lehmi Date: Mon Feb 10 18:52:42 2014 New Revision: 1566701 URL: http://svn.apache.org/r1566701 Log: PDFBOX-1813: reverted most of the changes of revision 1557544 as it introduced several regressions (see PDFBOX-1865 and PDFBOX-1892)
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectForm.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ResourcesValidationProcess.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java?rev=1566701&r1=1566700&r2=1566701&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDResources.java Mon Feb 10 18:52:42 2014 @@ -246,7 +246,7 @@ public class PDResources implements COSO PDXObject xobject = null; try { - xobject = PDXObject.createXObject(xobjectsDictionary.getDictionaryObject(objName), objName.getName()); + xobject = PDXObject.createXObject(xobjectsDictionary.getDictionaryObject(objName)); } catch (IOException exception) { Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java?rev=1566701&r1=1566700&r2=1566701&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObject.java Mon Feb 10 18:52:42 2014 @@ -119,21 +119,7 @@ public abstract class PDXObject implemen */ public static PDXObject createXObject(COSBase xobject) throws IOException { - return createXObject(xobject, null); - } - - /** - * Create the correct xobject from the cos base. - * - * @param xobject The cos level xobject to create. - * @param xobjectName The name of the xobject, sued to detect a possible recursion - * - * @return a pdmodel xobject - * @throws IOException If there is an error creating the xobject. - */ - public static PDXObject createXObject(COSBase xobject, String xobjectName) throws IOException - { - return commonXObjectCreation(xobject, false, xobjectName); + return commonXObjectCreation(xobject, false); } /** @@ -142,12 +128,11 @@ public abstract class PDXObject implemen * @param xobject The cos level xobject to create. * @param isThumb specify if the xobject represent a Thumbnail Image (in this case, the subtype null must be * considered as an Image) - * @param xobjectName The name of the xobject, used to detect a possible recursion * * @return a pdmodel xobject * @throws IOException If there is an error creating the xobject. */ - protected static PDXObject commonXObjectCreation(COSBase xobject, boolean isThumb, String xobjectName) + protected static PDXObject commonXObjectCreation(COSBase xobject, boolean isThumb) { PDXObject retval = null; if (xobject == null) @@ -190,7 +175,7 @@ public abstract class PDXObject implemen } else if (PDXObjectForm.SUB_TYPE.equals(subtype)) { - retval = new PDXObjectForm(xstream, xobjectName); + retval = new PDXObjectForm(xstream); } else { Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectForm.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectForm.java?rev=1566701&r1=1566700&r2=1566701&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectForm.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectForm.java Mon Feb 10 18:52:42 2014 @@ -17,10 +17,7 @@ package org.apache.pdfbox.pdmodel.graphics.xobject; import java.awt.geom.AffineTransform; -import java.util.Map; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.pdfbox.cos.COSArray; import org.apache.pdfbox.cos.COSDictionary; import org.apache.pdfbox.cos.COSFloat; @@ -42,18 +39,12 @@ public class PDXObjectForm extends PDXOb { /** - * Log instance. - */ - private static final Log LOG = LogFactory.getLog(PDXObjectForm.class); - - /** * The XObject subtype. */ public static final String SUB_TYPE = "Form"; - private String name = null; /** - * Standard constuctor. + * Standard constructor. * * @param formStream The XObject is passed as a COSStream. */ @@ -70,23 +61,10 @@ public class PDXObjectForm extends PDXOb */ public PDXObjectForm(COSStream formStream) { - this(formStream, null); - } - - /** - * Standard constructor including the name of the XObjectForm - * to avoid recursions. - * - * @param formStream The XObject is passed as a COSStream. - * @param xobjectName The name of the XObjectForm. - */ - public PDXObjectForm(COSStream formStream, String xobjectName) - { super(formStream); getCOSStream().setName(COSName.SUBTYPE, SUB_TYPE); - name = xobjectName; } - + /** * This will get the form type, currently 1 is the only form type. * @@ -120,26 +98,6 @@ public class PDXObjectForm extends PDXOb if (resources != null) { retval = new PDResources(resources); - // check for a recursion, see PDFBOX-1813 - if (name != null) - { - Map<String, PDXObject> xobjects = retval.getXObjects(); - if (xobjects != null && xobjects.containsKey(name)) - { - PDXObject xobject = xobjects.get(name); - if (xobject instanceof PDXObjectForm) - { - int length1 = getCOSStream().getInt(COSName.LENGTH); - int length2 = xobject.getCOSStream().getInt(COSName.LENGTH); - // seems to be the same object - if (length1 == length2) - { - retval.removeXObject(name); - LOG.debug("Removed XObjectForm "+name+" to avoid a recursion"); - } - } - } - } } return retval; } Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java?rev=1566701&r1=1566700&r2=1566701&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java Mon Feb 10 18:52:42 2014 @@ -99,7 +99,7 @@ public abstract class PDXObjectImage ext */ public static PDXObject createThumbnailXObject(COSBase xobject) throws IOException { - return commonXObjectCreation(xobject, true, null); + return commonXObjectCreation(xobject, true); } /** Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ResourcesValidationProcess.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ResourcesValidationProcess.java?rev=1566701&r1=1566700&r2=1566701&view=diff ============================================================================== --- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ResourcesValidationProcess.java (original) +++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/reflect/ResourcesValidationProcess.java Mon Feb 10 18:52:42 2014 @@ -185,7 +185,7 @@ public class ResourcesValidationProcess try { COSStream stream = COSUtils.getAsStream(xobj, cosDocument); - PDXObject pdXObject = PDXObject.createXObject(stream, entry.getKey().getName()); + PDXObject pdXObject = PDXObject.createXObject(stream); if (pdXObject != null) { ContextHelper.validateElement(context, pdXObject, GRAPHIC_PROCESS);