Author: markt Date: Tue Mar 27 18:41:42 2012 New Revision: 1305949 URL: http://svn.apache.org/viewvc?rev=1305949&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52833 Fix NPE in some embedded / osgi scenarios where the class loader my not have the system class loader as a parent.
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1305943 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1305949&r1=1305948&r2=1305949&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java Tue Mar 27 18:41:42 2012 @@ -784,11 +784,10 @@ public final class StandardServer extend // Populate the extension validator with JARs from common and shared // class loaders if (getCatalina() != null) { - ClassLoader cl = - getCatalina().getParentClassLoader(); + ClassLoader cl = getCatalina().getParentClassLoader(); // Walk the class loader hierarchy. Stop at the system class loader. // This will add the shared (if present) and common class loaders - while (cl != ClassLoader.getSystemClassLoader()) { + while (cl != null && cl != ClassLoader.getSystemClassLoader()) { if (cl instanceof URLClassLoader) { URL[] urls = ((URLClassLoader) cl).getURLs(); for (URL url : urls) { 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=1305949&r1=1305948&r2=1305949&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Mar 27 18:41:42 2012 @@ -90,6 +90,11 @@ <code>javax.naming.Name</code> to identify the resource rather than a <code>java.lang.String</code>. (markt) </fix> + <fix> + <bug>52833</bug>: Handle the case where the parent class loader for the + Catalina object does not have the system class loader in its hierarchy. + This may happen when embedding. Patch provided by olamy. (markt) + </fix> <add> <bug>52839</bug>: Add a unit test for DigestAuthenticator and SingleSignOn. Patch provide by Brian Burch. (markt) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org