This approach causes these tests to fail
Failed tests:
testDynamicImportWithWildcard(org.jboss.test.osgi.core.jbosgi323.OSGi323TestCase)
testAllPackagesWildcard(org.jboss.test.osgi.classloader.DynamicImportPackageTestCase)
testAllPackagesWildcardNotWired(org.jboss.test.osgi.classloader.DynamicImportPackageTestCase)
testPackageWildcardWired(org.jboss.test.osgi.classloader.DynamicImportPackageTestCase)
testPackageWildcardNotWired(org.jboss.test.osgi.classloader.DynamicImportPackageTestCase)
AFAICS, the module tracking only works when the exporting module gets installed *after* the importing module has its policy setup.
The WildcardClassLoaderPolicy should probably also scan allready existing modules when it is setup. More generally, perhaps a ModuleTracker
that works simmilar to BundleTracker is needed.
Even then, addModule
public void addModule(Module current)
{
Domain md = getDomain(current);
if (md != null && current.canResolve(requirement))
{
...
}
will not add the exporting module because Module.canResolve(req) would not return 'true' for DynamicImport-Package: *