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)
{