The return code of the delete was ignored.

We really should log an error like this if it happened.

 

 

COSBase extends LoggingObject

org.apache.pdfbox.cos.COSDocument extends COSBase

 

In COSDocument you could add calls to the logger to report any problems
deleting a file.

 

    public void close() throws IOException

    {

        if( scratchFile != null )

        {

            scratchFile.close();

            scratchFile = null;

        }

        if( tmpFile != null )

        {

            boolean deleted=false;

            try {

                  deleted=tmpFile.delete();

                  if (!deleted)

                        logger().severe("File was not deleted:
"+tmpFile.getName());

            }

            catch (IOException e) {

                  if (!deleted)

                        logger().severe("File was not deleted
IOException: "+tmpFile.getName());

                  throw e;

            }

            catch (SecurityException se) { 

                        // If a security manager exists and its 

                        // java.lang.SecurityManager.checkDelete method
denies delete 

                        // access to the file.

                  if (!deleted)

                        logger().severe("File was not deleted security
exception: "+tmpFile.getName());

 

                  throw se;

            }

            tmpFile = null;

        }

    }

 

 

package org.apache.pdfbox.pdmodel.graphics.xobject;

 

public abstract class PDXObject implements COSObjectable

public abstract class PDXObjectImage extends PDXObject

public class PDJpeg extends PDXObjectImage

 

To make logging available to PDJpeg  you could extend the PDXObject
class.

 

public abstract class PDXObject extends LoggingObject implements
COSObjectable

 

Then in PDJpeg  the logging of errors could be added for the delete
method call, just like above.

 

           if (imgFile != null) {

                imgFile.delete();

            }

 

 

 

 

Reply via email to