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 2010/12/07 22:32:09 UTC

svn commit: r1043207 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java

Author: rickhall
Date: Tue Dec  7 21:32:08 2010
New Revision: 1043207

URL: http://svn.apache.org/viewvc?rev=1043207&view=rev
Log:
Need to fire UNRESOLVED event when bundles are refreshed if they
are not in the INSTALLED state. (FELIX-2456)

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

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java?rev=1043207&r1=1043206&r2=1043207&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/Felix.java Tue Dec  7 21:32:08 2010
@@ -3672,8 +3672,17 @@ public class Felix extends BundleImpl im
 
         try
         {
-            // Reset the bundle object and fire UNRESOLVED event.
+            // See if we need to fire UNRESOLVED event.
+            boolean fire = (bundle.getState() != Bundle.INSTALLED);
+            // Reset the bundle object.
             ((BundleImpl) bundle).refresh();
+            // Fire UNRESOLVED event if necessary
+            // and notify state change..
+            if (fire)
+            {
+                setBundleStateAndNotify(bundle, Bundle.INSTALLED);
+                fireBundleEvent(BundleEvent.UNRESOLVED, bundle);
+            }
         }
         catch (Exception ex)
         {