From 18abb9dc476f898efa903442e5516b51389b0ac8 Mon Sep 17 00:00:00 2001 From: kamhung <22250530@qq.com> Date: Wed, 11 Nov 2015 17:33:54 +0800 Subject: [PATCH] --- src/com/wentch/redkale/source/FilterNode.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/com/wentch/redkale/source/FilterNode.java b/src/com/wentch/redkale/source/FilterNode.java index 19956553c..ca5c8b6b9 100644 --- a/src/com/wentch/redkale/source/FilterNode.java +++ b/src/com/wentch/redkale/source/FilterNode.java @@ -896,14 +896,16 @@ public class FilterNode { throw new RuntimeException("Flipper not supported sort illegal function (" + flipper.getSort() + ")"); } } - Comparator c = (E o1, E o2) -> { + Comparator c = (sub.length > 1 && sub[1].equalsIgnoreCase("DESC")) ? (E o1, E o2) -> { + Comparable c1 = (Comparable) attr.get(o1); + Comparable c2 = (Comparable) attr.get(o2); + return c2 == null ? -1 : c2.compareTo(c1); + } : (E o1, E o2) -> { Comparable c1 = (Comparable) attr.get(o1); Comparable c2 = (Comparable) attr.get(o2); return c1 == null ? -1 : c1.compareTo(c2); }; - if (sub.length > 1 && sub[1].equalsIgnoreCase("DESC")) { - c = c.reversed(); - } + if (comparator == null) { comparator = c; } else {