Author: markt
Date: Fri Jun 12 16:45:34 2009
New Revision: 784188

URL: http://svn.apache.org/viewvc?rev=784188&view=rev
Log:
More error checking

Modified:
    tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java
    tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties

Modified: tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java?rev=784188&r1=784187&r2=784188&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java Fri Jun 
12 16:45:34 2009
@@ -202,12 +202,20 @@
             if (kv.length != 2 || kv[0].length() == 0 || kv[1].length() == 0)
                 throw new IllegalArgumentException(
                         sm.getString("resources.invalidAliasMapping", kvp));
-            
+
+            File aliasLoc = new File(kv[1]);
+            if (!aliasLoc.exists()) {
+                throw new IllegalArgumentException(
+                        sm.getString("resources.invalidAliasNotExist", kv[1]));
+            }
             BaseDirContext context;
-            if (kv[1].endsWith(".war") && !(new File(kv[1]).isDirectory())) {
+            if (kv[1].endsWith(".war") && !(aliasLoc.isDirectory())) {
                 context = new WARDirContext();
-            } else {
+            } else if (aliasLoc.isDirectory()) {
                 context = new FileDirContext();
+            } else {
+                throw new IllegalArgumentException(
+                        sm.getString("resources.invalidAliasFile", kv[1]));
             }
             context.setDocBase(kv[1]);
             addAlias(kv[0], context);

Modified: tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties?rev=784188&r1=784187&r2=784188&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties Fri 
Jun 12 16:45:34 2009
@@ -30,6 +30,8 @@
 resources.unbindFailed=Unbind failed: {0}
 resources.invalidAliasPath=The alias path ''{0}'' must start with ''/''
 resources.invalidAliasMapping=The alias mapping ''{0}'' is not valid
+resources.invalidAliasNotExist=The alias location ''{0}'' does not exist
+resources.invalidAliasFile=The alias location ''{0}'' points to a file that is 
not a WAR file
 standardResources.alreadyStarted=Resources has already been started
 standardResources.directory=File base {0} is not a directory
 standardResources.exists=File base {0} does not exist



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

Reply via email to