From da4143fa131dd6a389bdbb7ceb663bcef29b2077 Mon Sep 17 00:00:00 2001 From: Athou Date: Sun, 7 Jan 2024 15:04:46 +0100 Subject: [PATCH] multiple feeds may have the same url hash --- .../java/com/commafeed/backend/dao/FeedDAO.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java b/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java index 2520c1a1..f91eb0e8 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/dao/FeedDAO.java @@ -9,7 +9,6 @@ import org.hibernate.SessionFactory; import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.QFeed; import com.commafeed.backend.model.QFeedSubscription; -import com.google.common.collect.Iterables; import com.querydsl.jpa.JPAExpressions; import com.querydsl.jpa.impl.JPAQuery; @@ -45,12 +44,13 @@ public class FeedDAO extends GenericDAO { } public Feed findByUrl(String normalizedUrl, String normalizedUrlHash) { - List feeds = query().selectFrom(feed).where(feed.normalizedUrlHash.eq(normalizedUrlHash)).fetch(); - Feed feed = Iterables.getFirst(feeds, null); - if (feed != null && StringUtils.equals(normalizedUrl, feed.getNormalizedUrl())) { - return feed; - } - return null; + return query().selectFrom(feed) + .where(feed.normalizedUrlHash.eq(normalizedUrlHash)) + .fetch() + .stream() + .filter(f -> StringUtils.equals(normalizedUrl, f.getNormalizedUrl())) + .findFirst() + .orElse(null); } public List findWithoutSubscriptions(int max) {