aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/main/java/com/vaadin/ui/Grid.java4
-rw-r--r--server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java7
2 files changed, 9 insertions, 2 deletions
diff --git a/server/src/main/java/com/vaadin/ui/Grid.java b/server/src/main/java/com/vaadin/ui/Grid.java
index b11bef7eed..186be328f4 100644
--- a/server/src/main/java/com/vaadin/ui/Grid.java
+++ b/server/src/main/java/com/vaadin/ui/Grid.java
@@ -902,8 +902,8 @@ public class Grid<T> extends AbstractListing<T> implements HasComponents,
Class<?> baseType = ReflectTools.findCommonBaseType(aClass,
bClass);
- if (!baseType.isAssignableFrom(Comparable.class)) {
- return false;
+ if (Comparable.class.isAssignableFrom(baseType)) {
+ return true;
}
}
diff --git a/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java b/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java
index 397bc27b82..40c753943e 100644
--- a/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java
+++ b/server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java
@@ -9,6 +9,7 @@ import java.text.DecimalFormatSymbols;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -487,6 +488,12 @@ public class GridTest {
testValueProviderSorting(10.1, 200, 3000.1, 4000);
}
+ @Test
+ public void defaultSorting_mutuallyComparableTypes() {
+ testValueProviderSorting(new Date(10), new java.sql.Date(1000000),
+ new Date(100000000));
+ }
+
private static void testValueProviderSorting(Object... expectedOrder) {
SerializableComparator<Object> comparator = new Grid<>()
.addColumn(ValueProvider.identity())