You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2006/02/02 12:22:05 UTC

svn commit: r374357 - /incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java

Author: rickhall
Date: Thu Feb  2 03:22:02 2006
New Revision: 374357

URL: http://svn.apache.org/viewcvs?rev=374357&view=rev
Log:
Re-implemented ClassLoader.findResources() in ContentClassLoader.

Modified:
    incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java

Modified: incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java
URL: http://svn.apache.org/viewcvs/incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java?rev=374357&r1=374356&r2=374357&view=diff
==============================================================================
--- incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java (original)
+++ incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/searchpolicy/ContentClassLoader.java Thu Feb  2 03:22:02 2006
@@ -20,6 +20,8 @@
 import java.security.CodeSource;
 import java.security.SecureClassLoader;
 import java.security.cert.Certificate;
+import java.util.Enumeration;
+import java.util.Vector;
 
 import org.apache.felix.framework.Logger;
 import org.apache.felix.framework.util.Util;
@@ -195,12 +197,16 @@
         return null;
     }
 
-// TODO: FIX FIND RESOURCES!
-    
     protected URL findResource(String name)
     {
         URL url = null;
 
+        // Remove leading slash, if present.
+        if (name.startsWith("/"))
+        {
+            name = name.substring(1);
+        }
+
         // Check the module class path.
         for (int i = 0;
             (url == null) &&
@@ -213,6 +219,28 @@
         }
 
         return url;
+    }
+
+    protected Enumeration findResources(String name)
+    {
+        Vector v = new Vector();
+
+        // Remove leading slash, if present.
+        if (name.startsWith("/"))
+        {
+            name = name.substring(1);
+        }
+
+        // Check the module class path.
+        for (int i = 0; i < m_contentLoader.getClassPath().length; i++)
+        {
+            if (m_contentLoader.getClassPath()[i].hasEntry(name))
+            {
+                v.addElement(m_contentLoader.getURLPolicy().createURL(i + "/" + name));
+            }
+        }
+
+        return v.elements();
     }
 
     protected String findLibrary(String name)