You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2011/09/28 19:04:05 UTC

svn commit: r1176962 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/StatefulResolver.java

Author: rickhall
Date: Wed Sep 28 17:04:05 2011
New Revision: 1176962

URL: http://svn.apache.org/viewvc?rev=1176962&view=rev
Log:
Make sure capabilities from resolved singleton bundles are properly
indexed. (FELIX-3137)

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

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/StatefulResolver.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/StatefulResolver.java?rev=1176962&r1=1176961&r2=1176962&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/StatefulResolver.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/StatefulResolver.java Wed Sep 28 17:04:05 2011
@@ -928,12 +928,19 @@ class StatefulResolver
 
             m_revisions.add(br);
 
-            if (Util.isSingleton(br))
+            // Add singletons to the singleton map.
+            boolean isSingleton = Util.isSingleton(br);
+            if (isSingleton)
             {
                 // Index the new singleton.
                 addToSingletonMap(m_singletons, br);
             }
-            else
+
+            // We always need to index non-singleton bundle capabilities, but
+            // singleton bundles only need to be index if they are resolved.
+            // Unresolved singleton capabilities are only indexed before a
+            // resolve operation when singleton selection is performed.
+            if (!isSingleton || (br.getWiring() != null))
             {
                 if (Util.isFragment(br))
                 {