From 043bd565f3517cd06c1742c6de90ffef30e8bec4 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Mon, 9 Mar 2009 09:40:13 +0000 Subject: FileUtils would report a failure to delete a non-existent file git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751636 13f79535-47bb-0310-9956-ffa450edef68 --- java/common/src/main/java/org/apache/qpid/util/FileUtils.java | 4 ++-- .../src/test/java/org/apache/qpid/util/FileUtilsTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'java') 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 * -- cgit v1.2.1