[Mulgara-svn] r2079 - in trunk/src/jar: server/java/org/mulgara/server util/java/org/mulgara/util

pag at mulgara.org pag at mulgara.org
Wed Dec 14 19:32:10 UTC 2011


Author: pag
Date: 2011-12-14 19:32:10 +0000 (Wed, 14 Dec 2011)
New Revision: 2079

Modified:
   trunk/src/jar/server/java/org/mulgara/server/AbstractServer.java
   trunk/src/jar/util/java/org/mulgara/util/TempDir.java
Log:
Fixed error in treating an inability to create a directory as meaning that it doesn't exist

Modified: trunk/src/jar/server/java/org/mulgara/server/AbstractServer.java
===================================================================
--- trunk/src/jar/server/java/org/mulgara/server/AbstractServer.java	2011-12-14 19:31:50 UTC (rev 2078)
+++ trunk/src/jar/server/java/org/mulgara/server/AbstractServer.java	2011-12-14 19:32:10 UTC (rev 2079)
@@ -256,15 +256,15 @@
     if (providerClassName == null) throw new IllegalStateException("Must set \"providerClassName\" property");
 
     // Create the directory if necessary
-    if (!dir.exists() && !dir.mkdir()) {
+    if (!dir.isDirectory() && !dir.mkdir()) {
       logger.fatal("Unable to create database directory: " + dir);
       throw new Error("Fatal: Unable to create database directory: " + dir);
     }
 
     // create the temporary directory
-    if (!tempdir.mkdirs()) {
+    if (!tempdir.isDirectory() && !tempdir.mkdirs()) {
       File newTmp = TempDir.getTempDir();
-      logger.error("Unable to create temporary directory: '" + tempdir + "', using: " + newTmp);
+      logger.warn("Unable to create temporary directory: '" + tempdir + "', using: " + newTmp);
       tempdir = newTmp;
     }
 

Modified: trunk/src/jar/util/java/org/mulgara/util/TempDir.java
===================================================================
--- trunk/src/jar/util/java/org/mulgara/util/TempDir.java	2011-12-14 19:31:50 UTC (rev 2078)
+++ trunk/src/jar/util/java/org/mulgara/util/TempDir.java	2011-12-14 19:32:10 UTC (rev 2079)
@@ -62,11 +62,16 @@
     if (tempDir == null) {
       // Initialize tempDir.
       File dir = new File(systemTempDir, "mulgara_" + System.getProperty("user.name"));
-      dir.mkdirs();
-      if (dir.isDirectory()) {
-        tempDir = dir;
-      } else {
-        logger.warn("Could not create temporary directory: " + dir);
+      try {
+        dir.mkdirs();
+        if (dir.isDirectory()) {
+          tempDir = dir;
+        } else {
+          logger.warn("Could not create temporary directory: " + dir + ". Using: " + systemTempDir);
+          tempDir = systemTempDir;
+        }
+      } catch (SecurityException e) {
+        logger.warn("Insufficient permissions to create the standard temporary directory. Using: " + systemTempDir);
         tempDir = systemTempDir;
       }
     }



More information about the Mulgara-svn mailing list