You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/11/10 12:59:24 UTC
cayenne git commit: CAY-2136 Allow orderedList(..) to accept
Collection. Tests.
Repository: cayenne
Updated Branches:
refs/heads/master 2b7a21b5b -> 0a1278d9a
CAY-2136 Allow orderedList(..) to accept Collection. Tests.
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0a1278d9
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0a1278d9
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0a1278d9
Branch: refs/heads/master
Commit: 0a1278d9a938f02cc0cff3a55345a3eeda32f79f
Parents: 2b7a21b
Author: hugith <hu...@karlmenn.is>
Authored: Thu Nov 10 12:39:36 2016 +0000
Committer: hugith <hu...@karlmenn.is>
Committed: Thu Nov 10 12:39:36 2016 +0000
----------------------------------------------------------------------
.../java/org/apache/cayenne/query/Ordering.java | 5 +-
.../org/apache/cayenne/query/OrderingTest.java | 62 ++++++++++++++++++++
2 files changed, 65 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a1278d9/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java b/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
index 94f495d..0a3d156 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/Ordering.java
@@ -23,6 +23,7 @@ import java.io.PrintWriter;
import java.io.Serializable;
import java.io.StringWriter;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -71,7 +72,7 @@ public class Ordering implements Comparator<Object>, Serializable, XMLSerializab
*
* @since 4.0
*/
- public static <E> List<E> orderedList(List<E> objects, List<? extends Ordering> orderings) {
+ public static <E> List<E> orderedList(Collection<E> objects, List<? extends Ordering> orderings) {
List<E> newList = new ArrayList<E>(objects);
orderList(newList, orderings);
@@ -332,7 +333,7 @@ public class Ordering implements Comparator<Object>, Serializable, XMLSerializab
/**
* @since 4.0
*/
- public <E> List<E> orderedList(List<E> objects) {
+ public <E> List<E> orderedList(Collection<E> objects) {
List<E> newList = new ArrayList<E>(objects);
orderList(newList);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0a1278d9/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java b/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
index cd2279c..b32a8dc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/OrderingTest.java
@@ -25,6 +25,8 @@ import org.junit.Test;
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
import static org.junit.Assert.assertEquals;
@@ -195,4 +197,64 @@ public class OrderingTest {
assertEquals(list.get(1), orderedList.get(4));
assertEquals(list.get(0), orderedList.get(5));
}
+
+ @Test
+ public void testOrderedListInstanceMethod() {
+ Collection<TstBean> set = new HashSet<TstBean>(6);
+
+ TstBean shouldBe0 = new TstBean("a", 0);
+ TstBean shouldBe1 = new TstBean("b", 0);
+ TstBean shouldBe2 = new TstBean("c", 0);
+ TstBean shouldBe3 = new TstBean("d", 0);
+ TstBean shouldBe4 = new TstBean("f", 0);
+ TstBean shouldBe5 = new TstBean("r", 0);
+
+ set.add(shouldBe1);
+ set.add(shouldBe0);
+ set.add(shouldBe5);
+ set.add(shouldBe3);
+ set.add(shouldBe2);
+ set.add(shouldBe4);
+
+ List<TstBean> orderedList = new Ordering("string", SortOrder.ASCENDING).orderedList(set);
+
+ assertEquals(shouldBe0, orderedList.get(0));
+ assertEquals(shouldBe1, orderedList.get(1));
+ assertEquals(shouldBe2, orderedList.get(2));
+ assertEquals(shouldBe3, orderedList.get(3));
+ assertEquals(shouldBe4, orderedList.get(4));
+ assertEquals(shouldBe5, orderedList.get(5));
+ }
+
+ @Test
+ public void testOrderedListStaticMethod() {
+ Collection<TstBean> set = new HashSet<TstBean>(6);
+
+ TstBean shouldBe0 = new TstBean("a", 5);
+ TstBean shouldBe1 = new TstBean("b", 5);
+ TstBean shouldBe2 = new TstBean("b", 2);
+ TstBean shouldBe3 = new TstBean("b", 1);
+ TstBean shouldBe4 = new TstBean("c", 30);
+ TstBean shouldBe5 = new TstBean("c", 1);
+
+ set.add(shouldBe0);
+ set.add(shouldBe5);
+ set.add(shouldBe3);
+ set.add(shouldBe1);
+ set.add(shouldBe4);
+ set.add(shouldBe2);
+
+ List<Ordering> orderings = new ArrayList<Ordering>(2);
+ orderings.add(new Ordering("string", SortOrder.ASCENDING));
+ orderings.add(new Ordering("integer", SortOrder.DESCENDING));
+
+ List<TstBean> orderedList = Ordering.orderedList(set, orderings);
+
+ assertEquals(shouldBe0, orderedList.get(0));
+ assertEquals(shouldBe1, orderedList.get(1));
+ assertEquals(shouldBe2, orderedList.get(2));
+ assertEquals(shouldBe3, orderedList.get(3));
+ assertEquals(shouldBe4, orderedList.get(4));
+ assertEquals(shouldBe5, orderedList.get(5));
+ }
}