The patch appears to not have been attached to the message...
Better yet, perhaps you could create a JIRA issue for this on the
framework component and attach the patch to it.
http://issues.apache.org/jira/browse/Felix
Thanks.
-> richard
Olivier Gruber wrote:
I think I found a bug in the implementation of URL
Bundle.getEntry(String name);
It raises a ClassCastException when called on the system bundle since
its content loader
is not a ContentLoaderImpl but actually a SystemBundleContentLoader. :-(
*class BundleImpl *
* public* URL getEntry(String name)
{
Object sm = System./getSecurityManager/();
*if* (sm != *null*)
{
*try*
{
((SecurityManager) sm).checkPermission(*new*
AdminPermission(*this*,
AdminPermission./RESOURCE/));
}
*catch* (Exception e)
{
*return* *null*; // No permission
}
}
*return* m_felix.getBundleEntry(*this*, name);
}
*class Felix*
/**
* Implementation for Bundle.getEntry().
**/
*protected* URL getBundleEntry(BundleImpl bundle, String name)
{
*if* (bundle.getInfo().getState() == Bundle./UNINSTALLED/)
{
*throw* *new* IllegalStateException("The bundle is
uninstalled.");
}
==>> *return* ((ContentLoaderImpl)
bundle.getInfo().getCurrentModule()
.getContentLoader()).getResourceFromContent(name);
}
Here is a patch for this problem.
It is basically moving the getResourceFromContent from
ContentLoaderImpl to Felix,
which required to modify the FindEntriesEnumeration slightly.
Best regards,
Olivier Gruber, Ph.D.
Persistent & Distributed Object Platforms and Frameworks
IBM TJ Watson Research Center