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;
}
};
}