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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org