This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.commons.classloader-1.3.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-classloader.git
commit 8f139ecbca5f5f9cf82794a82f6c1a490c7d7abe Author: Carsten Ziegeler <[email protected]> AuthorDate: Fri Mar 16 12:13:56 2012 +0000 SLING-2438 : Class might never be loaded if the bundle is in state resolved on the first attempt git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/commons/classloader@1301452 13f79535-47bb-0310-9956-ffa450edef68 --- .../commons/classloader/impl/PackageAdminClassLoader.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java b/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java index 3258c8f..8985d3c 100644 --- a/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java +++ b/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java @@ -103,6 +103,9 @@ class PackageAdminClassLoader extends ClassLoader { Bundle bundle = null; if (exportedPackage != null && !exportedPackage.isRemovalPending() ) { bundle = exportedPackage.getExportingBundle(); + if ( !this.isBundleActive(bundle) ) { + bundle = null; + } } return bundle; } @@ -137,7 +140,7 @@ class PackageAdminClassLoader extends ClassLoader { Enumeration<URL> e = super.getResources(name); if ( e == null || !e.hasMoreElements() ) { final Bundle bundle = this.findBundleForPackage(getPackageFromResource(name)); - if ( this.isBundleActive(bundle) ) { + if ( bundle != null ) { e = bundle.getResources(name); if ( e != null && e.hasMoreElements() ) { this.factory.addUsedBundle(bundle); @@ -158,7 +161,7 @@ class PackageAdminClassLoader extends ClassLoader { URL url = super.findResource(name); if ( url == null ) { final Bundle bundle = this.findBundleForPackage(getPackageFromResource(name)); - if ( this.isBundleActive(bundle) ) { + if ( bundle != null ) { url = bundle.getResource(name); if ( url != null ) { this.factory.addUsedBundle(bundle); @@ -182,7 +185,7 @@ class PackageAdminClassLoader extends ClassLoader { clazz = super.findClass(name); } catch (ClassNotFoundException cnfe) { final Bundle bundle = this.findBundleForPackage(getPackageFromClassName(name)); - if ( this.isBundleActive(bundle) ) { + if ( bundle != null ) { clazz = bundle.loadClass(name); this.factory.addUsedBundle(bundle); } @@ -211,7 +214,7 @@ class PackageAdminClassLoader extends ClassLoader { } catch (final ClassNotFoundException cnfe) { final String pckName = getPackageFromClassName(name); final Bundle bundle = this.findBundleForPackage(pckName); - if ( this.isBundleActive(bundle) ) { + if ( bundle != null ) { try { clazz = bundle.loadClass(name); this.factory.addUsedBundle(bundle); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
