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: [email protected]
For additional commands, e-mail: [email protected]