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);


Reply via email to