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);