Framework was refreshing bundles incorrectly by stopping a bundle then
refreshing it in one step when it should really be stopping all bundles
in one step then refreshing all bundles in a second step. (FELIX-3153)


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1181180 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 f1e71f7..3847b51 100644
--- a/framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -3935,17 +3935,25 @@
                         helpers.add(new RefreshHelper(b));
                     }
 
-                    // Stop, purge or remove, and reinitialize all bundles first.
+                    // Stop all refreshing bundles.
                     for (RefreshHelper helper : helpers)
                     {
                         if (helper != null)
                         {
                             helper.stop();
+                        }
+                    }
+
+                    // Refresh or remove all refreshing bundles first.
+                    for (RefreshHelper helper : helpers)
+                    {
+                        if (helper != null)
+                        {
                             helper.refreshOrRemove();
                         }
                     }
 
-                    // Then restart all bundles that were previously running.
+                    // Restart all refreshed bundles that were previously running.
                     for (RefreshHelper helper : helpers)
                     {
                         if (helper != null)