Special case getResource()/getResources()/loadClass() for fragments.
(FELIX-1272)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@787791 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/Felix.java b/framework/src/main/java/org/apache/felix/framework/Felix.java
index 295c4ca..61a698e 100644
--- a/framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -1248,6 +1248,10 @@
{
throw new IllegalStateException("The bundle is uninstalled.");
}
+ else if (Util.isFragment(bundle.getCurrentModule()))
+ {
+ return null;
+ }
return bundle.getCurrentModule().getResourceByDelegation(name);
}
@@ -1260,6 +1264,10 @@
{
throw new IllegalStateException("The bundle is uninstalled.");
}
+ else if (Util.isFragment(bundle.getCurrentModule()))
+ {
+ return null;
+ }
return bundle.getCurrentModule().getResourcesByDelegation(name);
}
@@ -1372,6 +1380,10 @@
{
throw new IllegalStateException("Bundle is uninstalled");
}
+ else if (Util.isFragment(bundle.getCurrentModule()))
+ {
+ throw new ClassNotFoundException("Fragments cannot load classes.");
+ }
else if (bundle.getState() == Bundle.INSTALLED)
{
try