[
https://issues.apache.org/jira/browse/FELIX-808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
eyindanga updated FELIX-808:
----------------------------
Description:
The method R4SearchPolicyCore.searchDynamicImports( IModule module, String
name, String pkgName, boolean isClass) always load a class by using the current
thrad class loader even if the object to laod is a resource.
This code may chek if the object is a class or a resource, and invoke the
coresponding method on the classloader.
// If there are no bundles providing exports for this
// package and if the instigating class was not from a
// bundle, then delegate to the parent class loader.
// Otherwise, break out of loop and return null.
boolean delegate = true;
for (ClassLoader cl = classes[i].getClassLoader(); cl != null;
cl = cl.getClass().getClassLoader())
{
if (ContentClassLoader.class.isInstance(cl))
{
delegate = false;
break;
}
}
if (delegate)
{
return this.getClass().getClassLoader().loadClass(name);
}
Summary: The method R4SearchPolicyCore.searchDynamicImports(
IModule module, String name, String pkgName, boolean isClass) always load a
class by using the current thrad class loader even if the object to load is a
resource. (was: The method R4SearchPolicyCore.searchDynamicImports(
IModule module, String name, String pkgName, boolean isClass) alwayls load a
class by using the current thrad class loader even if the object to laod is a
resource.)
> The method R4SearchPolicyCore.searchDynamicImports( IModule module,
> String name, String pkgName, boolean isClass) always load a class by using
> the current thrad class loader even if the object to load is a resource.
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: FELIX-808
> URL: https://issues.apache.org/jira/browse/FELIX-808
> Project: Felix
> Issue Type: Bug
> Reporter: eyindanga
>
> The method R4SearchPolicyCore.searchDynamicImports( IModule module, String
> name, String pkgName, boolean isClass) always load a class by using the
> current thrad class loader even if the object to laod is a resource.
> This code may chek if the object is a class or a resource, and invoke the
> coresponding method on the classloader.
> // If there are no bundles providing exports for this
> // package and if the instigating class was not from a
> // bundle, then delegate to the parent class loader.
> // Otherwise, break out of loop and return null.
> boolean delegate = true;
> for (ClassLoader cl = classes[i].getClassLoader(); cl !=
> null; cl = cl.getClass().getClassLoader())
> {
> if (ContentClassLoader.class.isInstance(cl))
> {
> delegate = false;
> break;
> }
> }
> if (delegate)
> {
> return this.getClass().getClassLoader().loadClass(name);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.