JCI-67 Dubious use of mkdirs() return code

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/jci/trunk@1517840 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/main/java/org/apache/commons/jci/stores/FileResourceStore.java b/core/src/main/java/org/apache/commons/jci/stores/FileResourceStore.java
index d9793d1..fc65129 100644
--- a/core/src/main/java/org/apache/commons/jci/stores/FileResourceStore.java
+++ b/core/src/main/java/org/apache/commons/jci/stores/FileResourceStore.java
@@ -60,10 +60,8 @@
         try {
             final File file = getFile(pResourceName);
             final File parent = file.getParentFile();
-            if (!parent.exists()) {
-                if (!parent.mkdirs()) {
+            if (!parent.mkdirs() && !parent.isDirectory()) {
                     throw new IOException("could not create" + parent);
-                }
             }
             os = new FileOutputStream(file);
             os.write(pData);
diff --git a/core/src/test/java/org/apache/commons/jci/AbstractTestCase.java b/core/src/test/java/org/apache/commons/jci/AbstractTestCase.java
index 108b2da..ee4b01c 100644
--- a/core/src/test/java/org/apache/commons/jci/AbstractTestCase.java
+++ b/core/src/test/java/org/apache/commons/jci/AbstractTestCase.java
@@ -58,12 +58,10 @@
     protected File writeFile( final String pName, final byte[] pData ) throws Exception {
         final File file = new File(directory, pName);
         final File parent = file.getParentFile();
-        if (!parent.exists()) {
-            if (!parent.mkdirs()) {
-                throw new IOException("could not create" + parent);
-            }
+        if (!parent.mkdirs() && !parent.isDirectory()) {
+            throw new IOException("could not create" + parent);
         }
-        
+
         log.debug("writing file " + pName + " (" + pData.length + " bytes)");
         
         final FileOutputStream os = new FileOutputStream(file);
@@ -79,10 +77,8 @@
     protected File writeFile( final String pName, final String pText ) throws Exception {
         final File file = new File(directory, pName);
         final File parent = file.getParentFile();
-        if (!parent.exists()) {
-            if (!parent.mkdirs()) {
-                throw new IOException("could not create" + parent);
-            }
+        if (!parent.mkdirs() && !parent.isDirectory()) {
+            throw new IOException("could not create" + parent);
         }
         log.debug("writing " + file);
         final FileWriter writer = new FileWriter(file);
diff --git a/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java b/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
index f76404d..280c553 100644
--- a/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
+++ b/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
@@ -68,10 +68,8 @@
     protected File writeFile( final String pName, final byte[] pData ) throws Exception {
         final File file = new File(directory, pName);
         final File parent = file.getParentFile();
-        if (!parent.exists()) {
-            if (!parent.mkdirs()) {
-                throw new IOException("could not create" + parent);
-            }
+        if (!parent.mkdirs() && !parent.isDirectory()) {
+            throw new IOException("could not create" + parent);
         }
         
         log.debug("writing file " + pName + " (" + pData.length + " bytes)");
@@ -89,10 +87,8 @@
     protected File writeFile( final String pName, final String pText ) throws Exception {
         final File file = new File(directory, pName);
         final File parent = file.getParentFile();
-        if (!parent.exists()) {
-            if (!parent.mkdirs()) {
-                throw new IOException("could not create" + parent);
-            }
+        if (!parent.mkdirs() && !parent.isDirectory()) {
+            throw new IOException("could not create" + parent);
         }
         log.debug("writing " + file);
         final FileWriter writer = new FileWriter(file);