Author: markt
Date: Wed Aug 10 18:00:24 2011
New Revision: 1156280
URL: http://svn.apache.org/viewvc?rev=1156280&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51644
Annotation scanning was broken for contexts with a multi-level context path
such as /a/b
Modified:
tomcat/tc7.0.x/trunk/ (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Aug 10 18:00:24 2011
@@ -1 +1 @@
-/tomcat/trunk:1156171
+/tomcat/trunk:1156171,1156276
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java?rev=1156280&r1=1156279&r2=1156280&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
(original)
+++
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
Wed Aug 10 18:00:24 2011
@@ -436,14 +436,20 @@ public class DirContextURLConnection
// This will be of the form /<hostname>/<contextpath>/file name
// if <contextpath> is not empty otherwise this will be of the
// form /<hostname>/file name
- // Strip off the hostname and the contextpath
+ // Strip off the hostname and the contextpath (note that
context
+ // path may contain '/'
int start;
- if(context instanceof ProxyDirContext &&
-
"".equals(((ProxyDirContext)context).getContextPath())){
- start = file.indexOf('/',1);
- }
- else
+ if (context instanceof ProxyDirContext) {
+ String cp = ((ProxyDirContext)context).getContextPath();
+ String h = ((ProxyDirContext)context).getHostName();
+ if ("".equals(cp)) {
+ start = h.length() + 2;
+ } else {
+ start = h.length() + cp.length() + 2;
+ }
+ } else {
start = file.indexOf('/', file.indexOf('/', 1) + 1);
+ }
NamingEnumeration<NameClassPair> enumeration =
context.list(file.substring(start));
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1156280&r1=1156279&r2=1156280&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Aug 10 18:00:24 2011
@@ -60,6 +60,10 @@
<bug>51640</bug>: Improve the memory leak prevention for leaks
triggered
by java.sql.DriverManager. (markt)
</add>
+ <fix>
+ <bug>51644</bug>: Fix annotation scanning for contexts with a
+ multi-level context path such as /a/b. (markt)
+ </fix>
</changelog>
</subsection>
<subsection name="Coyote">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]