Author: gnodet
Date: Mon Feb 21 09:21:14 2011
New Revision: 1072899

URL: http://svn.apache.org/viewvc?rev=1072899&view=rev
Log:
[FELIX-2849] PackageAdmin is inconsistent between getFragments and getHosts

Modified:
    
felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java

Modified: 
felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java?rev=1072899&r1=1072898&r2=1072899&view=diff
==============================================================================
--- 
felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java
 (original)
+++ 
felix/trunk/framework/src/main/java/org/apache/felix/framework/PackageAdminImpl.java
 Mon Feb 21 09:21:14 2011
@@ -193,18 +193,21 @@ class PackageAdminImpl implements Packag
         // If the bundle is not a fragment, then return its fragments.
         if ((getBundleType(bundle) & BUNDLE_TYPE_FRAGMENT) == 0)
         {
-            // Get attached fragments.
-            List<Module> modules =
-                ((ModuleImpl)
-                    ((BundleImpl) bundle).getCurrentModule()).getFragments();
             // Convert fragment modules to bundles.
             List list = new ArrayList();
-            for (int i = 0; (modules != null) && (i < modules.size()); i++)
-            {
-                Bundle b = modules.get(i).getBundle();
-                if (b != null)
+            // Iterate through modules
+            List<Module> modules = ((BundleImpl) bundle).getModules();
+            for (int modIdx = 0; modIdx < modules.size(); modIdx++)
+            {
+                // Get attached fragments.
+                List<Module> frags = ((ModuleImpl) 
modules.get(modIdx)).getFragments();
+                for (int i = 0; (frags != null) && (i < frags.size()); i++)
                 {
-                    list.add(b);
+                    Bundle b = frags.get(i).getBundle();
+                    if (b != null)
+                    {
+                        list.add(b);
+                    }
                 }
             }
             // Convert list to an array.


Reply via email to