Author: markt
Date: Wed May 12 11:10:03 2010
New Revision: 943447
URL: http://svn.apache.org/viewvc?rev=943447&view=rev
Log:
Fix remaining issue described in
https://issues.apache.org/bugzilla/show_bug.cgi?id=49218
doLookup should return null if the resource cannot be found and should not
throw an exception
Fixes a potential infinite loop in VirtualDirContext
Modified:
tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java
tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java
tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/naming/resources/VirtualDirContext.java
tomcat/trunk/java/org/apache/naming/resources/WARDirContext.java
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=943447&r1=943446&r2=943447&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java Wed May
12 11:10:03 2010
@@ -1501,7 +1501,7 @@ public abstract class BaseDirContext imp
protected abstract Attributes doGetAttributes(String name, String[]
attrIds)
throws NamingException;
- protected abstract Object doLookup(String name) throws NamingException;
+ protected abstract Object doLookup(String name);
protected abstract NamingEnumeration<Binding> doListBindings(String name)
throws NamingException;
Modified: tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java?rev=943447&r1=943446&r2=943447&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java Wed May
12 11:10:03 2010
@@ -193,11 +193,9 @@ public class FileDirContext extends Base
*
* @param name the name of the object to look up
* @return the object bound to name
- * @exception NamingException if a naming exception is encountered
*/
@Override
- protected Object doLookup(String name)
- throws NamingException {
+ protected Object doLookup(String name) {
Object result = null;
File file = file(name);
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=943447&r1=943446&r2=943447&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/naming/resources/LocalStrings.properties Wed
May 12 11:10:03 2010
@@ -33,6 +33,7 @@ resources.invalidAliasMapping=The alias
resources.invalidAliasNotAllowed=The alias location ''{0}'' is not allowed
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
+resources.invalidName=The name [{0}] is not valid
standardResources.alreadyStarted=Resources has already been started
standardResources.directory=File base {0} is not a directory
standardResources.exists=File base {0} does not exist
Modified: tomcat/trunk/java/org/apache/naming/resources/VirtualDirContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/VirtualDirContext.java?rev=943447&r1=943446&r2=943447&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/VirtualDirContext.java
(original)
+++ tomcat/trunk/java/org/apache/naming/resources/VirtualDirContext.java Wed
May 12 11:10:03 2010
@@ -159,7 +159,7 @@ public class VirtualDirContext extends F
}
@Override
- protected Object doLookup(String name) throws NamingException {
+ protected Object doLookup(String name) {
// handle "virtual" tlds
if (name.startsWith("/WEB-INF/") && name.endsWith(".tld")) {
@@ -178,7 +178,7 @@ public class VirtualDirContext extends F
}
}
- return super.lookup(name);
+ return super.doLookup(name);
}
/**
Modified: tomcat/trunk/java/org/apache/naming/resources/WARDirContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/WARDirContext.java?rev=943447&r1=943446&r2=943447&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/WARDirContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/resources/WARDirContext.java Wed May 12
11:10:03 2010
@@ -32,6 +32,7 @@ import java.util.zip.ZipFile;
import javax.naming.Binding;
import javax.naming.CompositeName;
+import javax.naming.InvalidNameException;
import javax.naming.Name;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
@@ -190,13 +191,17 @@ public class WARDirContext extends BaseD
*
* @param strName the name of the object to look up
* @return the object bound to name
- * @exception NamingException if a naming exception is encountered
*/
@Override
- protected Object doLookup(String strName)
- throws NamingException {
+ protected Object doLookup(String strName) {
- Name name = new CompositeName(strName);
+ Name name;
+ try {
+ name = new CompositeName(strName);
+ } catch (InvalidNameException e) {
+ log.info(sm.getString("resources.invalidName", strName), e);
+ return null;
+ }
if (name.isEmpty())
return this;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]