revert part of caching mechanism

This commit is contained in:
Athou
2013-07-25 10:38:23 +02:00
parent 73f2871235
commit c618e22c52
11 changed files with 69 additions and 188 deletions

View File

@@ -33,7 +33,6 @@ 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.FeedCategoryService;
import com.commafeed.backend.services.FeedEntryService;
import com.commafeed.backend.services.FeedSubscriptionService;
import com.commafeed.frontend.SecurityCheck;
@@ -82,9 +81,6 @@ public class CategoryREST extends AbstractResourceREST {
@Inject
FeedSubscriptionService feedSubscriptionService;
@Inject
FeedCategoryService feedCategoryService;
@Inject
CacheService cache;
@@ -214,15 +210,15 @@ public class CategoryREST extends AbstractResourceREST {
Date olderThan = req.getOlderThan() == null ? null : new Date(req.getOlderThan());
if (ALL.equals(req.getId())) {
List<FeedSubscription> subscriptions = feedSubscriptionService.getSubscriptions(getUser());
feedEntryService.markSubscriptionEntries(subscriptions, olderThan);
List<FeedSubscription> subscriptions = feedSubscriptionDAO.findAll(getUser());
feedEntryService.markSubscriptionEntries(getUser(), subscriptions, olderThan);
} else if (STARRED.equals(req.getId())) {
feedEntryService.markStarredEntries(getUser(), olderThan);
} else {
FeedCategory parent = feedCategoryDAO.findById(getUser(), Long.valueOf(req.getId()));
List<FeedCategory> categories = feedCategoryDAO.findAllChildrenCategories(getUser(), parent);
List<FeedSubscription> subs = feedSubscriptionDAO.findByCategories(getUser(), categories);
feedEntryService.markSubscriptionEntries(subs, olderThan);
feedEntryService.markSubscriptionEntries(getUser(), subs, olderThan);
}
return Response.ok(Status.OK).build();
}
@@ -245,7 +241,7 @@ public class CategoryREST extends AbstractResourceREST {
cat.setParent(parent);
}
feedCategoryDAO.saveOrUpdate(cat);
cache.invalidateUserCategories(getUser());
cache.invalidateUserRootCategory(getUser());
return Response.ok().build();
}
@@ -273,7 +269,7 @@ public class CategoryREST extends AbstractResourceREST {
feedCategoryDAO.saveOrUpdate(categories);
feedCategoryDAO.delete(cat);
cache.invalidateUserCategories(getUser());
cache.invalidateUserRootCategory(getUser());
return Response.ok().build();
} else {
return Response.status(Status.NOT_FOUND).build();
@@ -329,7 +325,7 @@ public class CategoryREST extends AbstractResourceREST {
}
feedCategoryDAO.saveOrUpdate(category);
cache.invalidateUserCategories(getUser());
cache.invalidateUserRootCategory(getUser());
return Response.ok(Status.OK).build();
}
@@ -346,7 +342,7 @@ public class CategoryREST extends AbstractResourceREST {
}
category.setCollapsed(req.isCollapse());
feedCategoryDAO.saveOrUpdate(category);
cache.invalidateUserCategories(getUser());
cache.invalidateUserRootCategory(getUser());
return Response.ok(Status.OK).build();
}
@@ -371,14 +367,18 @@ public class CategoryREST extends AbstractResourceREST {
public Response getSubscriptions() {
User user = getUser();
Category root = null;
List<FeedCategory> categories = feedCategoryService.getCategories(user);
List<FeedSubscription> subscriptions = feedSubscriptionService.getSubscriptions(getUser());
Map<Long, Long> unreadCount = feedSubscriptionService.getUnreadCount(getUser());
Category root = cache.getUserRootCategory(user);
if (root == null) {
log.debug("cat miss for {}", user.getId());
List<FeedCategory> categories = feedCategoryDAO.findAll(user);
List<FeedSubscription> subscriptions = feedSubscriptionDAO.findAll(user);
Map<Long, Long> unreadCount = feedSubscriptionService.getUnreadCount(user);
root = buildCategory(null, categories, subscriptions, unreadCount);
root.setId("all");
root.setName("All");
root = buildCategory(null, categories, subscriptions, unreadCount);
root.setId("all");
root.setName("All");
cache.setUserRootCategory(user, root);
}
return Response.ok(root).build();
}

View File

@@ -278,7 +278,7 @@ public class FeedREST extends AbstractResourceREST {
FeedSubscription subscription = feedSubscriptionDAO.findById(getUser(), Long.valueOf(req.getId()));
if (subscription != null) {
feedEntryService.markSubscriptionEntries(Arrays.asList(subscription), olderThan);
feedEntryService.markSubscriptionEntries(getUser(), Arrays.asList(subscription), olderThan);
}
return Response.ok(Status.OK).build();
}
@@ -446,7 +446,7 @@ public class FeedREST extends AbstractResourceREST {
} else {
feedSubscriptionDAO.saveOrUpdate(subscription);
}
cache.invalidateUserSubscriptions(getUser());
cache.invalidateUserRootCategory(getUser());
return Response.ok(Status.OK).build();
}