From c063168fe202783e3135087c49aa90a78e6b75bf Mon Sep 17 00:00:00 2001 From: Leif Åstrand Date: Tue, 21 Feb 2017 09:19:41 +0200 Subject: Correctly test for mutually comparable types (#8598) --- server/src/main/java/com/vaadin/ui/Grid.java | 4 ++-- .../test/java/com/vaadin/tests/server/component/grid/GridTest.java | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'server/src') 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 extends AbstractListing 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 comparator = new Grid<>() .addColumn(ValueProvider.identity()) -- cgit v1.2.3