persist read status instead of unread status

This commit is contained in:
Athou
2013-07-22 16:31:29 +02:00
parent e9cc6fd518
commit 074ecbf159
9 changed files with 160 additions and 268 deletions

View File

@@ -54,8 +54,9 @@ public class NextUnreadRedirectPage extends WebPage {
List<FeedEntryStatus> statuses = null;
if (StringUtils.isBlank(categoryId)
|| CategoryREST.ALL.equals(categoryId)) {
statuses = feedEntryStatusDAO.findAllUnread(user, null, 0, 1,
order, true);
List<FeedSubscription> subs = feedSubscriptionDAO.findAll(user);
statuses = feedEntryStatusDAO.findBySubscriptions(subs, true, null,
null, 0, 1, order, true);
} else {
FeedCategory category = feedCategoryDAO.findById(user,
Long.valueOf(categoryId));
@@ -64,8 +65,8 @@ public class NextUnreadRedirectPage extends WebPage {
.findAllChildrenCategories(user, category);
List<FeedSubscription> subscriptions = feedSubscriptionDAO
.findByCategories(user, children);
statuses = feedEntryStatusDAO.findUnreadBySubscriptions(
subscriptions, null, 0, 1, order, true);
statuses = feedEntryStatusDAO.findBySubscriptions(
subscriptions, true, null, null, 0, 1, order, true);
}
}

View File

@@ -106,16 +106,11 @@ public class CategoryREST extends AbstractResourceREST {
if (ALL.equals(id)) {
entries.setName("All");
List<FeedEntryStatus> list = null;
List<FeedSubscription> subscriptions = feedSubscriptionDAO
.findAll(getUser());
if (unreadOnly) {
list = feedEntryStatusDAO.findAllUnread(getUser(),
newerThanDate, offset, limit + 1, order, true);
} else {
list = feedEntryStatusDAO.findBySubscriptions(subscriptions,
null, newerThanDate, offset, limit + 1, order, true);
}
List<FeedEntryStatus> list = feedEntryStatusDAO
.findBySubscriptions(subscriptions, unreadOnly, null,
newerThanDate, offset, limit + 1, order, true);
for (FeedEntryStatus status : list) {
entries.getEntries().add(
Entry.build(status, applicationSettingsService.get()
@@ -141,14 +136,9 @@ public class CategoryREST extends AbstractResourceREST {
.findAllChildrenCategories(getUser(), parent);
List<FeedSubscription> subs = feedSubscriptionDAO
.findByCategories(getUser(), categories);
List<FeedEntryStatus> list = null;
if (unreadOnly) {
list = feedEntryStatusDAO.findUnreadBySubscriptions(subs,
newerThanDate, offset, limit + 1, order, true);
} else {
list = feedEntryStatusDAO.findBySubscriptions(subs, null,
newerThanDate, offset, limit + 1, order, true);
}
List<FeedEntryStatus> list = feedEntryStatusDAO
.findBySubscriptions(subs, unreadOnly, null,
newerThanDate, offset, limit + 1, order, true);
for (FeedEntryStatus status : list) {
entries.getEntries().add(
Entry.build(status, applicationSettingsService
@@ -225,7 +215,10 @@ public class CategoryREST extends AbstractResourceREST {
req.getOlderThan());
if (ALL.equals(req.getId())) {
feedEntryStatusDAO.markAllEntries(getUser(), olderThan);
List<FeedSubscription> subscriptions = feedSubscriptionDAO
.findAll(getUser());
feedEntryStatusDAO
.markSubscriptionEntries(subscriptions, olderThan);
} else if (STARRED.equals(req.getId())) {
feedEntryStatusDAO.markStarredEntries(getUser(), olderThan);
} else {

View File

@@ -108,8 +108,8 @@ public class EntryREST extends AbstractResourceREST {
List<Entry> list = Lists.newArrayList();
List<FeedSubscription> subs = feedSubscriptionDAO.findAll(getUser());
List<FeedEntryStatus> entriesStatus = feedEntryStatusDAO
.findBySubscriptions(subs, keywords, null, offset, limit,
ReadingOrder.desc, true);
.findBySubscriptions(subs, false, keywords, null, offset,
limit, ReadingOrder.desc, true);
for (FeedEntryStatus status : entriesStatus) {
list.add(Entry.build(status, applicationSettingsService.get()
.getPublicUrl(), applicationSettingsService.get()

View File

@@ -152,16 +152,10 @@ public class FeedREST extends AbstractResourceREST {
entries.setErrorCount(subscription.getFeed().getErrorCount());
entries.setFeedLink(subscription.getFeed().getLink());
List<FeedEntryStatus> list = null;
if (unreadOnly) {
list = feedEntryStatusDAO.findUnreadBySubscriptions(
Arrays.asList(subscription), newerThanDate, offset,
limit + 1, order, true);
} else {
list = feedEntryStatusDAO.findBySubscriptions(
Arrays.asList(subscription), null, newerThanDate,
offset, limit + 1, order, true);
}
List<FeedEntryStatus> list = feedEntryStatusDAO
.findBySubscriptions(Arrays.asList(subscription),
unreadOnly, null, newerThanDate, offset, limit + 1,
order, true);
for (FeedEntryStatus status : list) {
entries.getEntries().add(