You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/01/31 07:44:21 UTC
svn commit: r1781026 -
/sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
Author: cziegeler
Date: Tue Jan 31 07:44:21 2017
New Revision: 1781026
URL: http://svn.apache.org/viewvc?rev=1781026&view=rev
Log:
SLING-6500 : Used bundle might not be added to list of used bundles
Modified:
sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
Modified: sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java?rev=1781026&r1=1781025&r2=1781026&view=diff
==============================================================================
--- sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java (original)
+++ sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java Tue Jan 31 07:44:21 2017
@@ -61,8 +61,8 @@ class PackageAdminClassLoader extends Cl
private Map<String, URL> urlCache = new ConcurrentHashMap<String, URL>();
public PackageAdminClassLoader(final PackageAdmin pckAdmin,
- final ClassLoader parent,
- final DynamicClassLoaderManagerFactory factory) {
+ final ClassLoader parent,
+ final DynamicClassLoaderManagerFactory factory) {
super(parent);
this.packageAdmin = pckAdmin;
this.factory = factory;
@@ -146,7 +146,7 @@ class PackageAdminClassLoader extends Cl
/**
* @see java.lang.ClassLoader#getResources(java.lang.String)
*/
- @SuppressWarnings("unchecked")
+ @Override
public Enumeration<URL> getResources(final String name) throws IOException {
Enumeration<URL> e = super.getResources(name);
if ( e == null || !e.hasMoreElements() ) {
@@ -176,6 +176,7 @@ class PackageAdminClassLoader extends Cl
/**
* @see java.lang.ClassLoader#findResource(java.lang.String)
*/
+ @Override
public URL findResource(final String name) {
final URL cachedURL = urlCache.get(name);
if ( cachedURL != null ) {
@@ -211,6 +212,7 @@ class PackageAdminClassLoader extends Cl
/**
* @see java.lang.ClassLoader#findClass(java.lang.String)
*/
+ @Override
public Class<?> findClass(final String name) throws ClassNotFoundException {
final Class<?> cachedClass = this.classCache.get(name);
if ( cachedClass != null ) {
@@ -236,6 +238,7 @@ class PackageAdminClassLoader extends Cl
/**
* @see java.lang.ClassLoader#loadClass(java.lang.String, boolean)
*/
+ @Override
protected Class<?> loadClass(final String name, final boolean resolve) throws ClassNotFoundException {
final Class<?> cachedClass = this.classCache.get(name);
if ( cachedClass != null ) {
@@ -287,6 +290,7 @@ class PackageAdminClassLoader extends Cl
} else {
try {
clazz = providingBundle.loadClass(name);
+ this.factory.addUsedBundle(providingBundle);
} catch (ClassNotFoundException icnfe) {
throw new ClassNotFoundException(String.format("Cannot find class %s in bundle %s:%s which was marked as the provider for" +
" package %s.", name, providingBundle.getSymbolicName(), providingBundle.getVersion().toString(), packageName), icnfe);