You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sk...@apache.org on 2006/04/16 14:01:57 UTC

svn commit: r394463 - /jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java

Author: skitching
Date: Sun Apr 16 05:01:57 2006
New Revision: 394463

URL: http://svn.apache.org/viewcvs?rev=394463&view=rev
Log:
Handle case of null parent classloader

Modified:
    jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java

Modified: jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java?rev=394463&r1=394462&r2=394463&view=diff
==============================================================================
--- jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java (original)
+++ jakarta/commons/proper/logging/trunk/src/test/org/apache/commons/logging/PathableClassLoader.java Sun Apr 16 05:01:57 2006
@@ -246,7 +246,22 @@
             return super.getResources(name);
         } else {
             Enumeration localUrls = super.findResources(name);
-            Enumeration parentUrls = getParent().getResources(name);
+            
+            ClassLoader parent = getParent();
+            if (parent == null) {
+                // Alas, there is no method to get matching resources
+                // from a null (BOOT) parent classloader. Calling
+                // ClassLoader.getSystemClassLoader isn't right. Maybe
+                // calling Class.class.getResources(name) would do?
+                //
+                // However for the purposes of unit tests, we can
+                // simply assume that no relevant resources are
+                // loadable from the parent; unit tests will never be
+                // putting any of their resources in a "boot" classloader
+                // path!
+                return localUrls;
+            }
+            Enumeration parentUrls = parent.getResources(name);
 
             ArrayList localItems = Collections.list(localUrls);
             ArrayList parentItems = Collections.list(parentUrls);



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org