summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/common/src/main/java/org/apache/qpid/util/FileUtils.java4
-rw-r--r--java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java10
2 files changed, 12 insertions, 2 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/util/FileUtils.java b/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
index 585657c8bb..029e298c32 100644
--- a/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
+++ b/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
@@ -247,7 +247,7 @@ public class FileUtils
boolean success = true;
// If we have nothing to delete then it must be ok to say it was deleted.
- if (file == null)
+ if (file == null || !file.exists())
{
return true;
}
@@ -258,7 +258,7 @@ public class FileUtils
{
for (File subFile : file.listFiles())
{
- success = delete(subFile, true) & success ;
+ success = delete(subFile, true) && success;
}
return success && file.delete();
diff --git a/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java b/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
index fb367d042c..76d39200c1 100644
--- a/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
+++ b/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
@@ -280,6 +280,16 @@ public class FileUtilsTest extends TestCase
checkFileLists(filesBefore, filesAfter);
}
+ public void testDeleteNonExistentFile()
+ {
+ File test = new File("FileUtilsTest-testDelete-"+System.currentTimeMillis());
+
+ assertTrue("File exists", !test.exists());
+ assertFalse("File is a directory", test.isDirectory());
+
+ assertTrue("Unable to delete",FileUtils.delete(test,true));
+ }
+
/**
* Given two lists of File arrays ensure they are the same length and all entries in Before are in After
*