Modified StartLevel implementation to sort by bundle ID within a given start
level as per the spec.


git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@421984 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/Felix.java b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/Felix.java
index 900d063..eded375 100644
--- a/org.apache.felix.framework/src/main/java/org/apache/felix/framework/Felix.java
+++ b/org.apache.felix.framework/src/main/java/org/apache/felix/framework/Felix.java
@@ -674,7 +674,7 @@
             // Sort bundle array by start level either ascending or
             // descending depending on whether the start level is being
             // lowered or raised to that the bundles can be efficiently
-            // processed in order.
+            // processed in order. Within a start level sort by bundle ID.
             Comparator comparator = null;
             if (lowering)
             {
@@ -694,7 +694,11 @@
                         {
                             return -1;
                         }
-                        return 0;
+                        else if (b1.getInfo().getBundleId() < b2.getInfo().getBundleId())
+                        {
+                            return 1;
+                        }
+                        return -1;
                     }
                 };
             }
@@ -716,7 +720,11 @@
                         {
                             return -1;
                         }
-                        return 0;
+                        else if (b1.getInfo().getBundleId() > b2.getInfo().getBundleId())
+                        {
+                            return 1;
+                        }
+                        return -1;
                     }
                 };
             }