only filter by date is the set is full

This commit is contained in:
Athou
2013-07-19 12:02:00 +02:00
parent 079345b2e0
commit be8a381377
2 changed files with 7 additions and 3 deletions

View File

@@ -24,7 +24,7 @@ public class FixedSizeSortedSet<E> extends TreeSet<E> {
@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<E> extends TreeSet<E> {
}
return success;
}
public boolean isFull() {
return size() == maxSize;
}
@SuppressWarnings("unchecked")
public List<E> asList() {

View File

@@ -161,7 +161,7 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
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<FeedEntryStatus> {
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) {