Author: btellier
Date: Mon Jun 22 08:06:52 2015
New Revision: 1686797

URL: http://svn.apache.org/r1686797
Log:
MIME4J-245 Use FileUtils when deleting files - contributed by Antoine Duprat

Modified:
    james/mime4j/trunk/pom.xml
    james/mime4j/trunk/storage/pom.xml
    
james/mime4j/trunk/storage/src/main/java/org/apache/james/mime4j/storage/TempFileStorageProvider.java

Modified: james/mime4j/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/pom.xml?rev=1686797&r1=1686796&r2=1686797&view=diff
==============================================================================
--- james/mime4j/trunk/pom.xml (original)
+++ james/mime4j/trunk/pom.xml Mon Jun 22 08:06:52 2015
@@ -69,7 +69,7 @@
         <junit.version>4.10</junit.version>
         <mockito.version>1.9.5</mockito.version>
         <!-- Version 2.2 is required for Java 1.5 compatibility -->
-        <commons-io.version>2.2</commons-io.version>
+        <commons-io.version>2.4</commons-io.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
 

Modified: james/mime4j/trunk/storage/pom.xml
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/storage/pom.xml?rev=1686797&r1=1686796&r2=1686797&view=diff
==============================================================================
--- james/mime4j/trunk/storage/pom.xml (original)
+++ james/mime4j/trunk/storage/pom.xml Mon Jun 22 08:06:52 2015
@@ -40,6 +40,10 @@
             <artifactId>apache-mime4j-dom</artifactId>
         </dependency>
         <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>

Modified: 
james/mime4j/trunk/storage/src/main/java/org/apache/james/mime4j/storage/TempFileStorageProvider.java
URL: 
http://svn.apache.org/viewvc/james/mime4j/trunk/storage/src/main/java/org/apache/james/mime4j/storage/TempFileStorageProvider.java?rev=1686797&r1=1686796&r2=1686797&view=diff
==============================================================================
--- 
james/mime4j/trunk/storage/src/main/java/org/apache/james/mime4j/storage/TempFileStorageProvider.java
 (original)
+++ 
james/mime4j/trunk/storage/src/main/java/org/apache/james/mime4j/storage/TempFileStorageProvider.java
 Mon Jun 22 08:06:52 2015
@@ -30,6 +30,8 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Set;
 
+import org.apache.commons.io.FileUtils;
+
 /**
  * A {@link StorageProvider} that stores the data in temporary files. The files
  * are stored either in a user-specified directory or the default 
temporary-file
@@ -91,9 +93,13 @@ public class TempFileStorageProvider ext
         if (prefix == null || prefix.length() < 3)
             throw new IllegalArgumentException("invalid prefix");
 
-        if (directory != null && !directory.isDirectory()
-                && !directory.mkdirs())
-            throw new IllegalArgumentException("invalid directory");
+        if (directory != null) {
+            try {
+                FileUtils.forceMkdir(directory);
+            } catch (IOException e) {
+                throw new IllegalArgumentException("invalid directory");
+            }
+        }
 
         this.prefix = prefix;
         this.suffix = suffix;
@@ -163,9 +169,10 @@ public class TempFileStorageProvider ext
 
                 for (Iterator<File> iterator = filesToDelete.iterator(); 
iterator
                         .hasNext();) {
-                    File file = iterator.next();
-                    if (file.delete()) {
+                    try {
+                        FileUtils.forceDelete(iterator.next());
                         iterator.remove();
+                    } catch (IOException e) {
                     }
                 }
             }


Reply via email to