Author: onealj
Date: Wed Sep 21 03:19:31 2016
New Revision: 1761667

URL: http://svn.apache.org/viewvc?rev=1761667&view=rev
Log:
bug 57200,59788: be more specific why a temporary directory could not be created

Modified:
    poi/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java

Modified: 
poi/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java?rev=1761667&r1=1761666&r2=1761667&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/util/DefaultTempFileCreationStrategy.java 
Wed Sep 21 03:19:31 2016
@@ -83,15 +83,22 @@ public class DefaultTempFileCreationStra
     }
     
     /**
-     * Attempt to create a directory
+     * Attempt to create a directory, including any necessary parent 
directories.
+     * Does nothing if directory already exists.
      *
-     * @param directory
-     * @throws IOException
+     * @param directory  the directory to create
+     * @throws IOException if unable to create temporary directory or it is 
not a directory
      */
     private void createTempDirectory(File directory) throws IOException {
-        if (!(directory.exists() || directory.mkdirs()) || 
!directory.isDirectory()) {
+        // create directory if it doesn't exist
+        final boolean dirExists = (directory.exists() || directory.mkdirs());
+        
+        if (!dirExists) {
             throw new IOException("Could not create temporary directory '" + 
directory + "'");
         }
+        else if (!directory.isDirectory()) {
+            throw new IOException("Could not create temporary directory. '" + 
directory + "' exists but is not a directory.");
+        }
     }
     
     @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to