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 2008/09/24 16:13:13 UTC
svn commit: r698580 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java
Author: pauls
Date: Wed Sep 24 07:13:12 2008
New Revision: 698580
URL: http://svn.apache.org/viewvc?rev=698580&view=rev
Log:
Do not bootdelegate in case Bundle.loadClass() has been used. (FELIX-712)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java?rev=698580&r1=698579&r2=698580&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/searchpolicy/R4SearchPolicyCore.java Wed Sep 24 07:13:12 2008
@@ -54,6 +54,7 @@
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.PackagePermission;
import org.osgi.framework.Version;
+import org.osgi.framework.Bundle;
public class R4SearchPolicyCore implements ModuleListener
{
@@ -595,7 +596,13 @@
break;
}
}
- if (delegate)
+ // If delegate is true then there are no bundles
+ // providing exports for this package and the instigating
+ // class was not from a bundle. Therefore,
+ // delegate to the parent class loader in case
+ // that this is not due to outside code calling a method
+ // on the bundle interface (e.g., Bundle.loadClass()).
+ if (delegate && !Bundle.class.isInstance(classes[i - 1]))
{
try
{