diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java index 8f94d716..4f792a89 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java @@ -54,7 +54,6 @@ public class FeedEntryStatusDAO extends GenericDAO { return status; } - @SuppressWarnings("unchecked") public List findByKeywords(User user, String keywords, int offset, int limit) { @@ -67,14 +66,13 @@ public class FeedEntryStatusDAO extends GenericDAO { List predicates = Lists.newArrayList(); - Join entryJoin = (Join) root - .fetch(FeedEntryStatus_.entry, JoinType.LEFT); - Join subJoin = (Join) root - .fetch(FeedEntryStatus_.subscription, JoinType.LEFT); - subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT); + Join entryJoin = root.join( + FeedEntryStatus_.entry, JoinType.LEFT); + Join subJoin = root.join( + FeedEntryStatus_.subscription, JoinType.LEFT); - Join contentJoin = (Join) entryJoin - .fetch(FeedEntry_.content, JoinType.LEFT); + Join contentJoin = entryJoin.join( + FeedEntry_.content, JoinType.LEFT); predicates .add(builder.equal(subJoin.get(FeedSubscription_.user), user)); @@ -93,15 +91,14 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); - return q.getResultList(); + return lazyLoadContent(true, q.getResultList()); } - public List findStarred(User user, - ReadingOrder order, boolean includeContent) { + public List findStarred(User user, ReadingOrder order, + boolean includeContent) { return findStarred(user, -1, -1, order, includeContent); } - @SuppressWarnings("unchecked") public List findStarred(User user, int offset, int limit, ReadingOrder order, boolean includeContent) { @@ -110,12 +107,11 @@ public class FeedEntryStatusDAO extends GenericDAO { List predicates = Lists.newArrayList(); - Join entryJoin = (Join) root - .fetch(FeedEntryStatus_.entry, JoinType.LEFT); + Join entryJoin = root.join( + FeedEntryStatus_.entry, JoinType.LEFT); - Join subJoin = (Join) root - .fetch(FeedEntryStatus_.subscription, JoinType.LEFT); - subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT); + Join subJoin = root.join( + FeedEntryStatus_.subscription, JoinType.LEFT); predicates .add(builder.equal(subJoin.get(FeedSubscription_.user), user)); @@ -134,7 +130,6 @@ public class FeedEntryStatusDAO extends GenericDAO { return findAll(user, unreadOnly, -1, -1, order, includeContent); } - @SuppressWarnings("unchecked") public List findAll(User user, boolean unreadOnly, int offset, int limit, ReadingOrder order, boolean includeContent) { CriteriaQuery query = builder.createQuery(getType()); @@ -142,11 +137,10 @@ public class FeedEntryStatusDAO extends GenericDAO { List predicates = Lists.newArrayList(); - Join entryJoin = (Join) root - .fetch(FeedEntryStatus_.entry, JoinType.LEFT); - Join subJoin = (Join) root - .fetch(FeedEntryStatus_.subscription, JoinType.LEFT); - subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT); + Join entryJoin = root.join( + FeedEntryStatus_.entry, JoinType.LEFT); + Join subJoin = root.join( + FeedEntryStatus_.subscription, JoinType.LEFT); predicates .add(builder.equal(subJoin.get(FeedSubscription_.user), user)); @@ -167,7 +161,6 @@ public class FeedEntryStatusDAO extends GenericDAO { return findByFeed(feed, user, unreadOnly, -1, -1, order, includeContent); } - @SuppressWarnings("unchecked") public List findByFeed(Feed feed, User user, boolean unreadOnly, int offset, int limit, ReadingOrder order, boolean includeContent) { @@ -177,11 +170,10 @@ public class FeedEntryStatusDAO extends GenericDAO { List predicates = Lists.newArrayList(); - Join entryJoin = (Join) root - .fetch(FeedEntryStatus_.entry, JoinType.LEFT); - Join subJoin = (Join) root - .fetch(FeedEntryStatus_.subscription, JoinType.LEFT); - subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT); + Join entryJoin = root.join( + FeedEntryStatus_.entry, JoinType.LEFT); + Join subJoin = root.join( + FeedEntryStatus_.subscription, JoinType.LEFT); predicates .add(builder.equal(subJoin.get(FeedSubscription_.user), user)); @@ -207,7 +199,6 @@ public class FeedEntryStatusDAO extends GenericDAO { includeContent); } - @SuppressWarnings("unchecked") public List findByCategories( List categories, User user, boolean unreadOnly, int offset, int limit, ReadingOrder order, boolean includeContent) { @@ -217,11 +208,10 @@ public class FeedEntryStatusDAO extends GenericDAO { List predicates = Lists.newArrayList(); - Join entryJoin = (Join) root - .fetch(FeedEntryStatus_.entry, JoinType.LEFT); - Join subJoin = (Join) root - .fetch(FeedEntryStatus_.subscription, JoinType.LEFT); - subJoin.fetch(FeedSubscription_.feed, JoinType.LEFT); + Join entryJoin = root.join( + FeedEntryStatus_.entry, JoinType.LEFT); + Join subJoin = root.join( + FeedEntryStatus_.subscription, JoinType.LEFT); predicates .add(builder.equal(subJoin.get(FeedSubscription_.user), user)); @@ -259,6 +249,7 @@ public class FeedEntryStatusDAO extends GenericDAO { List results) { if (includeContent) { for (FeedEntryStatus status : results) { + status.getSubscription().getFeed().getUrl(); status.getEntry().getContent().getContent(); } } @@ -289,8 +280,7 @@ public class FeedEntryStatusDAO extends GenericDAO { } public void markStarredEntries(User user, Date olderThan) { - List statuses = findStarred(user, - ReadingOrder.desc, + List statuses = findStarred(user, ReadingOrder.desc, false); update(markList(statuses, olderThan)); }