in src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java [150:175]
public Enumeration<URL> getResources(final String name) throws IOException {
Enumeration<URL> e = super.getResources(name);
if ( e == null || !e.hasMoreElements() ) {
String packageName = getPackageFromResource(name);
Bundle providingBundle = packageProviders.get(packageName);
if (providingBundle == null) {
for (Bundle bundle : findBundlesForPackage(getPackageFromResource(name))) {
e = bundle.getResources(name);
if (e != null) {
packageProviders.put(packageName, bundle);
this.factory.addUsedBundle(bundle);
LOGGER.debug("Marking bundle {}:{} as the provider for API package {}.", bundle.getSymbolicName(), bundle
.getVersion().toString(), packageName);
return e;
}
}
} else {
e = providingBundle.getResources(name);
if (e == null) {
LOGGER.debug("Cannot find resources {} in bundle {}:{} which was marked as the provider for package {}.", name,
providingBundle.getSymbolicName(), providingBundle.getVersion().toString(), packageName);
}
}
}
return e;
}