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 2012/03/16 13:13:56 UTC
svn commit: r1301452 -
/sling/trunk/bundles/commons/classloader/src/main/java/org/apache/sling/commons/classloader/impl/PackageAdminClassLoader.java
Author: cziegeler
Date: Fri Mar 16 12:13:56 2012
New Revision: 1301452
URL: http://svn.apache.org/viewvc?rev=1301452&view=rev
Log:
SLING-2438 : Class might never be loaded if the bundle is in state resolved on the first attempt
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=1301452&r1=1301451&r2=1301452&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 Fri Mar 16 12:13:56 2012
@@ -103,6 +103,9 @@ class PackageAdminClassLoader extends Cl
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 Cl
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 Cl
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 Cl
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 Cl
} 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);