geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ga...@apache.org
Subject svn commit: r1148620 - /geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java
Date Wed, 20 Jul 2011 04:17:03 GMT
Author: gawor
Date: Wed Jul 20 04:17:02 2011
New Revision: 1148620

URL: http://svn.apache.org/viewvc?rev=1148620&view=rev
Log:
check temporary directory for write permissions

Modified:
    geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java

Modified: geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java?rev=1148620&r1=1148619&r2=1148620&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java
(original)
+++ geronimo/server/trunk/framework/modules/geronimo-main/src/main/java/org/apache/geronimo/main/Utils.java
Wed Jul 20 04:17:02 2011
@@ -43,7 +43,7 @@ public class Utils {
         // Use the system property if specified.
         String path = System.getProperty(HOME_DIR_SYS_PROP);
         if (path != null) {
-            rc = validateDirectoryExists(path, "Invalid " + HOME_DIR_SYS_PROP + " system
property");
+            rc = validateDirectory(path, "Invalid Geronimo home directory.", false);
         }
 
         // Try to figure it out using the jar file this class was loaded from.
@@ -89,7 +89,7 @@ public class Utils {
             }
         }
 
-        validateDirectoryExists(baseServerDir, "The Geronimo server directory could not be
determined");
+        validateDirectory(baseServerDir, "Invalid Geronimo server directory.", false);
         
         return baseServerDir;
     }
@@ -101,8 +101,8 @@ public class Utils {
             tmpDir = new File(base, tmpDirPath);
         }
         
-        validateDirectoryExists(tmpDir, "The temporary directory could not be determined");
-        
+        validateDirectory(tmpDir, "Invalid temporary directory.", true);
+
         System.setProperty("java.io.tmpdir", tmpDir.getAbsolutePath());
     }
     
@@ -117,11 +117,11 @@ public class Utils {
         }        
     }
     
-    public static File validateDirectoryExists(String path, String errPrefix) {
-        return validateDirectoryExists(new File(path), errPrefix);
+    public static File validateDirectory(String path, String errPrefix, boolean checkWritable)
{
+        return validateDirectory(new File(path), errPrefix, checkWritable);
     }
     
-    public static File validateDirectoryExists(File path, String errPrefix) {
+    public static File validateDirectory(File path, String errPrefix, boolean checkWritable)
{
         File rc;
         try {
             rc = path.getCanonicalFile();
@@ -129,10 +129,16 @@ public class Utils {
             throw new IllegalArgumentException(errPrefix + " '" + path + "' : " + e.getMessage());
         }
         if (!rc.exists()) {
-            throw new IllegalArgumentException(errPrefix + " '" + rc + "' " + " derived from:
'" + path + "' : does not exist");
+            throw new IllegalArgumentException(errPrefix + " The '" + path + "' path does
not exist.");
         }
         if (!rc.isDirectory()) {
-            throw new IllegalArgumentException(errPrefix + " '" + path + "' : is not a directory");
+            throw new IllegalArgumentException(errPrefix + " The '" + path + "' path is not
a directory.");
+        }
+        if (!rc.canRead()) {
+            throw new IllegalArgumentException(errPrefix + " The '" + path + "' directory
is not readable.");
+        }
+        if (checkWritable && !rc.canWrite()) {
+            throw new IllegalArgumentException(errPrefix + " The '" + path + "' directory
is not writable.");
         }
         return rc;
     }



Mime
View raw message