You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2009/10/30 18:27:49 UTC

svn commit: r831398 - in /felix/trunk/framework/src/main/java/org/apache/felix/framework: URLHandlers.java URLHandlersBundleStreamHandler.java

Author: pauls
Date: Fri Oct 30 17:27:49 2009
New Revision: 831398

URL: http://svn.apache.org/viewvc?rev=831398&view=rev
Log:
(FELIX-1834)

Modified:
    felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java
    felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java?rev=831398&r1=831397&r2=831398&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlers.java Fri Oct 30 17:27:49 2009
@@ -602,12 +602,15 @@
         Class targetClass = null;
         for (int i = 0; i < stack.length; i++)
         {
-            if ((stack[i].getClassLoader() != null) && 
-                "org.apache.felix.framework.searchpolicy.ModuleImpl$ModuleClassLoader".equals(
-                stack[i].getClassLoader().getClass().getName()))
+            if (stack[i].getClassLoader() != null) 
             {
-                targetClass = stack[i];
-                break;
+                String name = stack[i].getClassLoader().getClass().getName();
+                if ("org.apache.felix.framework.ModuleImpl$ModuleClassLoader".equals(name) 
+                    || "org.apache.felix.framework.searchpolicy.ContentClassLoader".equals(name))
+                {
+                    targetClass = stack[i];
+                    break;
+                }
             }
         }
         

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java?rev=831398&r1=831397&r2=831398&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/URLHandlersBundleStreamHandler.java Fri Oct 30 17:27:49 2009
@@ -19,6 +19,7 @@
 package org.apache.felix.framework;
 
 import java.io.IOException;
+import java.lang.reflect.Constructor;
 import java.net.*;
 
 import org.apache.felix.framework.util.SecureAction;
@@ -60,9 +61,11 @@
                 Class targetClass = framework.getClass().getClassLoader().loadClass(
                     URLHandlersBundleURLConnection.class.getName());
                 
-                return (URLConnection) m_action.invoke(m_action.getConstructor(targetClass, 
-                    new Class[]{URL.class, framework.getClass().getClassLoader().loadClass(
-                    Felix.class.getName())}), new Object[]{url, framework});
+                Constructor constructor = m_action.getConstructor(targetClass, 
+                        new Class[]{URL.class, framework.getClass().getClassLoader().loadClass(
+                                Felix.class.getName())});
+                m_action.setAccesssible(constructor);
+                return (URLConnection) m_action.invoke(constructor, new Object[]{url, framework});
             }
             catch (Exception ex)
             {