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