diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/src/main/java/com/vaadin/ui/Grid.java | 4 | ||||
-rw-r--r-- | server/src/test/java/com/vaadin/tests/server/component/grid/GridTest.java | 7 |
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()) |