This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.commons.osgi-2.0.6 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-commons-osgi.git
commit db6757595fa9fa07d25348cecb1c0ea9e09459bd Author: Bertrand Delacretaz <[email protected]> AuthorDate: Thu Jan 7 17:41:31 2010 +0000 SLING-1278 - comparison was reversed git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/commons/osgi@896938 13f79535-47bb-0310-9956-ffa450edef68 --- .../osgi/bundleversion/BundleVersionInfo.java | 6 ---- .../bundleversion/BundleVersionComparisonTest.java | 34 ++++++++++++++++------ 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.java b/src/main/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.java index 983b0f0..7346ed6 100644 --- a/src/main/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.java +++ b/src/main/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionInfo.java @@ -95,9 +95,6 @@ public abstract class BundleVersionInfo<T> implements Comparable<BundleVersionIn } else { result = va.compareTo(vb); } - - // more recent ones must come before older ones - result = -result; } // Then, if snapshots, compare modification times, more recent comes first @@ -109,9 +106,6 @@ public abstract class BundleVersionInfo<T> implements Comparable<BundleVersionIn } else if(mb > ma) { result = B_GREATER; } - - // more recent ones must come before older ones - result = -result; } return result; diff --git a/src/test/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionComparisonTest.java b/src/test/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionComparisonTest.java index 7f57b3f..37da592 100644 --- a/src/test/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionComparisonTest.java +++ b/src/test/java/org/apache/sling/commons/osgi/bundleversion/BundleVersionComparisonTest.java @@ -31,19 +31,35 @@ import org.junit.Test; public class BundleVersionComparisonTest { @Test + public void testSimpleCompare() { + // We want more recent bundles to be "greater" than older ones + { + final MockBundleVersionInfo a = new MockBundleVersionInfo("a.name", "1.1", 1); + final MockBundleVersionInfo b = new MockBundleVersionInfo("a.name", "1.0", 1); + assertEquals("a is more recent than b", 1, a.compareTo(b)); + } + { + final MockBundleVersionInfo a = new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 2); + final MockBundleVersionInfo b = new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 1); + assertEquals("SNAPSHOT a is more recent than b", 1, a.compareTo(b)); + } + } + + @Test public void testSortBundles() { + // The comparator sorts bundles in ascending order + // of their symbolic names and versions final MockBundleVersionInfo [] sorted = { - new MockBundleVersionInfo("a.name", "1.1", 1), new MockBundleVersionInfo("a.name", "1.0", 1), - new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 2), - new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 1), - new MockBundleVersionInfo("b", "1.1", 1), - new MockBundleVersionInfo("b", "1.0.1.SNAPSHOT", 2), - new MockBundleVersionInfo("b", "1.0.1.SNAPSHOT", 1), - new MockBundleVersionInfo("b", "1.0", 1), - new MockBundleVersionInfo("b", "0.9", 1), + new MockBundleVersionInfo("a.name", "1.1", 1), new MockBundleVersionInfo("b", "0.8.1", 1), - new MockBundleVersionInfo("b", "0.8.0", 1) + new MockBundleVersionInfo("b", "0.9", 1), + new MockBundleVersionInfo("b", "1.0", 1), + new MockBundleVersionInfo("b", "1.0.1.SNAPSHOT", 1), + new MockBundleVersionInfo("b", "1.0.1.SNAPSHOT", 2), + new MockBundleVersionInfo("b", "1.1", 1), + new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 1), + new MockBundleVersionInfo("b", "1.2.0.SNAPSHOT", 2), }; final List<BundleVersionInfo<?>> list = new ArrayList<BundleVersionInfo<?>>(); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
