From be8a381377daa972f5fa6e0ce77bc275e29181c4 Mon Sep 17 00:00:00 2001 From: Athou Date: Fri, 19 Jul 2013 12:02:00 +0200 Subject: [PATCH] only filter by date is the set is full --- src/main/java/com/commafeed/backend/FixedSizeSortedSet.java | 6 +++++- .../java/com/commafeed/backend/dao/FeedEntryStatusDAO.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java b/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java index de5391bd..f0a597ee 100644 --- a/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java +++ b/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java @@ -24,7 +24,7 @@ public class FixedSizeSortedSet extends TreeSet { @Override public boolean add(E e) { - if (size() == maxSize) { + if (isFull()) { E last = last(); int comparison = comparator.compare(e, last); if (comparison < 0) { @@ -50,6 +50,10 @@ public class FixedSizeSortedSet extends TreeSet { } return success; } + + public boolean isFull() { + return size() == maxSize; + } @SuppressWarnings("unchecked") public List asList() { diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java index ec288f08..6c77740e 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java @@ -161,7 +161,7 @@ public class FeedEntryStatusDAO extends GenericDAO { predicates.add(builder.or(content, title)); } - if (order != null && !set.isEmpty()) { + if (order != null && !set.isEmpty() && set.isFull()) { Predicate filter = null; FeedEntry last = set.last(); if (order == ReadingOrder.desc) { @@ -230,7 +230,7 @@ public class FeedEntryStatusDAO extends GenericDAO { root.get(FeedEntryStatus_.entryInserted), newerThan)); } - if (order != null && !set.isEmpty()) { + if (order != null && !set.isEmpty() && set.isFull()) { Predicate filter = null; FeedEntryStatus last = set.last(); if (order == ReadingOrder.desc) {