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);