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 13:27:14 UTC

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

Author: skitching
Date: Sun Apr 16 04:27:11 2006
New Revision: 394457

URL: http://svn.apache.org/viewcvs?rev=394457&view=rev
Log:
Fix error where getResources() would return parent items first, even when
parentFirst attribute was set to false.

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=394457&r1=394456&r2=394457&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 04:27:11 2006
@@ -21,8 +21,9 @@
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
-
-// TODO: use HashTable instead of HashMap for java1.1 support
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -232,6 +233,25 @@
                 return local;
             }
             return super.getResource(name);
+        }
+    }
+    
+    /**
+     * Same as parent class method except that when parentFirst is false
+     * any resources in the local classpath are returned before resources
+     * in the parent.
+     */
+    public Enumeration getResources(String name) throws IOException {
+        if (parentFirst) {
+            return super.getResources(name);
+        } else {
+            Enumeration localUrls = super.findResources(name);
+            Enumeration parentUrls = getParent().getResources(name);
+
+            ArrayList localItems = Collections.list(localUrls);
+            ArrayList parentItems = Collections.list(parentUrls);
+            localItems.addAll(parentItems);
+            return Collections.enumeration(localItems);
         }
     }
     



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