Author: markt
Date: Thu Mar 8 22:36:04 2012
New Revision: 1298629
URL: http://svn.apache.org/viewvc?rev=1298629&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52830
Align parseName(Name) with parseName(String) so both have the same
behaviour
Modified:
tomcat/trunk/java/org/apache/naming/SelectorContext.java
Modified: tomcat/trunk/java/org/apache/naming/SelectorContext.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/SelectorContext.java?rev=1298629&r1=1298628&r2=1298629&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/SelectorContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/SelectorContext.java Thu Mar 8
22:36:04 2012
@@ -21,6 +21,7 @@ package org.apache.naming;
import java.util.Hashtable;
import javax.naming.Binding;
+import javax.naming.CompositeName;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.NameClassPair;
@@ -767,15 +768,22 @@ public class SelectorContext implements
protected Name parseName(Name name)
throws NamingException {
- if ((!initialContext) && (!name.isEmpty())
- && (name.get(0).equals(prefix))) {
- return (name.getSuffix(1));
+ if (!initialContext && !name.isEmpty() &&
+ name.get(0).startsWith(prefix)) {
+ if (name.get(0).equals(prefix)) {
+ return name.getSuffix(1);
+ } else {
+ Name result = new CompositeName();
+ result.add(name.get(0).substring(prefixLength));
+ result.addAll(name.getSuffix(1));
+ return result;
+ }
} else {
if (initialContext) {
- return (name);
+ return name;
} else {
- throw new NamingException
- (sm.getString("selectorContext.noJavaUrl"));
+ throw new NamingException(
+ sm.getString("selectorContext.noJavaUrl"));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]