cache unread count

This commit is contained in:
Athou
2013-07-03 12:42:01 +02:00
parent aab83043bd
commit ef4dfe2ff5
10 changed files with 112 additions and 25 deletions

View File

@@ -33,6 +33,7 @@ import com.commafeed.backend.model.FeedSubscription;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.backend.model.UserSettings.ReadingOrder;
import com.commafeed.backend.services.FeedSubscriptionService;
import com.commafeed.frontend.SecurityCheck;
import com.commafeed.frontend.model.Category;
import com.commafeed.frontend.model.Entries;
@@ -73,6 +74,9 @@ public class CategoryREST extends AbstractResourceREST {
@Inject
FeedSubscriptionDAO feedSubscriptionDAO;
@Inject
FeedSubscriptionService feedSubscriptionService;
@Inject
CacheService cache;
@@ -231,7 +235,7 @@ public class CategoryREST extends AbstractResourceREST {
feedEntryStatusDAO.markCategoryEntries(getUser(), categories,
olderThan);
}
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -254,7 +258,7 @@ public class CategoryREST extends AbstractResourceREST {
cat.setParent(parent);
}
feedCategoryDAO.saveOrUpdate(cat);
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok().build();
}
@@ -285,7 +289,7 @@ public class CategoryREST extends AbstractResourceREST {
feedCategoryDAO.saveOrUpdate(categories);
feedCategoryDAO.delete(cat);
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok().build();
} else {
return Response.status(Status.NOT_FOUND).build();
@@ -350,7 +354,7 @@ public class CategoryREST extends AbstractResourceREST {
}
feedCategoryDAO.saveOrUpdate(category);
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -368,7 +372,7 @@ public class CategoryREST extends AbstractResourceREST {
}
category.setCollapsed(req.isCollapse());
feedCategoryDAO.saveOrUpdate(category);
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -377,7 +381,7 @@ public class CategoryREST extends AbstractResourceREST {
@ApiOperation(value = "Get unread count for feed subscriptions", responseClass = "List[com.commafeed.frontend.model.UnreadCount]")
public Response getUnreadCount() {
List<UnreadCount> list = Lists.newArrayList();
Map<Long, Long> unreadCount = feedEntryStatusDAO
Map<Long, Long> unreadCount = feedSubscriptionService
.getUnreadCount(getUser());
for (Map.Entry<Long, Long> e : unreadCount.entrySet()) {
list.add(new UnreadCount(e.getKey(), e.getValue()));
@@ -397,11 +401,10 @@ public class CategoryREST extends AbstractResourceREST {
List<FeedCategory> categories = feedCategoryDAO.findAll(user);
List<FeedSubscription> subscriptions = feedSubscriptionDAO
.findAll(getUser());
Map<Long, Long> unreadCount = feedEntryStatusDAO
Map<Long, Long> unreadCount = feedSubscriptionService
.getUnreadCount(getUser());
root = buildCategory(null, categories, subscriptions,
unreadCount);
root = buildCategory(null, categories, subscriptions, unreadCount);
root.setId("all");
root.setName("All");
cache.setRootCategory(user, root);

View File

@@ -51,7 +51,7 @@ public class EntryREST extends AbstractResourceREST {
feedEntryService.markEntry(getUser(), Long.valueOf(req.getId()),
req.getFeedId(), req.isRead());
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}

View File

@@ -292,7 +292,7 @@ public class FeedREST extends AbstractResourceREST {
if (subscription != null) {
feedEntryStatusDAO.markSubscriptionEntries(subscription, olderThan);
}
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -379,7 +379,7 @@ public class FeedREST extends AbstractResourceREST {
.entity("Failed to subscribe to URL " + url + ": "
+ e.getMessage()).build();
}
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -424,7 +424,7 @@ public class FeedREST extends AbstractResourceREST {
req.getId());
if (sub != null) {
feedSubscriptionDAO.delete(sub);
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
} else {
return Response.status(Status.NOT_FOUND).build();
@@ -484,7 +484,7 @@ public class FeedREST extends AbstractResourceREST {
} else {
feedSubscriptionDAO.saveOrUpdate(subscription);
}
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok(Status.OK).build();
}
@@ -523,7 +523,7 @@ public class FeedREST extends AbstractResourceREST {
.status(Status.INTERNAL_SERVER_ERROR)
.entity(e.getMessage()).build());
}
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.temporaryRedirect(
URI.create(applicationSettingsService.get().getPublicUrl()))
.build();

View File

@@ -198,7 +198,7 @@ public class UserREST extends AbstractResourceREST {
return Response.status(Status.FORBIDDEN).build();
}
userService.unregister(getUser());
cache.invalidateRootCategory(getUser());
cache.invalidateUserData(getUser());
return Response.ok().build();
}
}