From 9dc67ba6f951676aefbe0c1aba49ead386f1ee16 Mon Sep 17 00:00:00 2001 From: Athou Date: Fri, 24 May 2013 07:26:43 +0200 Subject: [PATCH] handle all entry content sanity check at the same place --- .../com/commafeed/backend/feeds/FeedParser.java | 12 ++++++++---- .../backend/feeds/FeedRefreshWorker.java | 16 ---------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/commafeed/backend/feeds/FeedParser.java b/src/main/java/com/commafeed/backend/feeds/FeedParser.java index 52276c14..f025280b 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedParser.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedParser.java @@ -73,19 +73,23 @@ public class FeedParser { List items = rss.getEntries(); for (SyndEntry item : items) { FeedEntry entry = new FeedEntry(); + entry.setGuid(item.getUri()); entry.setGuidHash(DigestUtils.sha1Hex(item.getUri())); entry.setUrl(FeedUtils.truncate(item.getLink(), 2048)); entry.setUpdated(validateDate(getUpdateDate(item))); - entry.setAuthor(item.getAuthor()); + entry.setAuthor(FeedUtils.truncate(item.getAuthor(), 128)); FeedEntryContent content = new FeedEntryContent(); - content.setContent(getContent(item)); - content.setTitle(item.getTitle()); + content.setContent(FeedUtils.handleContent(getContent(item), + feed.getLink())); + content.setTitle(FeedUtils.truncate(FeedUtils.handleContent( + item.getTitle(), feed.getLink()), 2048)); SyndEnclosure enclosure = (SyndEnclosure) Iterables.getFirst( item.getEnclosures(), null); if (enclosure != null) { - content.setEnclosureUrl(enclosure.getUrl()); + content.setEnclosureUrl(FeedUtils.truncate( + enclosure.getUrl(), 2048)); content.setEnclosureType(enclosure.getType()); } entry.setContent(content); diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java index b7bc62cf..9c89ec2c 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java @@ -15,7 +15,6 @@ import com.commafeed.backend.MetricsBean; import com.commafeed.backend.dao.FeedEntryDAO; import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedEntry; -import com.commafeed.backend.model.FeedEntryContent; import com.commafeed.backend.model.FeedPushInfo; import com.commafeed.backend.services.ApplicationSettingsService; import com.commafeed.backend.services.FeedPushInfoService; @@ -110,9 +109,6 @@ public class FeedRefreshWorker { .getLastModifiedHeader()); feed.setEtagHeader(fetchedFeed.getFeed().getEtagHeader()); - for (FeedEntry entry : entries) { - handleEntry(feed, entry); - } handlePubSub(feed, fetchedFeed); } catch (NotModifiedException e) { @@ -145,18 +141,6 @@ public class FeedRefreshWorker { } - private void handleEntry(Feed feed, FeedEntry entry) { - String baseUri = feed.getLink(); - FeedEntryContent content = entry.getContent(); - content.setEnclosureUrl(FeedUtils.truncate(content.getEnclosureUrl(), - 2048)); - content.setContent(FeedUtils.handleContent(content.getContent(), - baseUri)); - String title = FeedUtils.handleContent(content.getTitle(), baseUri); - content.setTitle(FeedUtils.truncate(title, 2048)); - entry.setAuthor(FeedUtils.truncate(entry.getAuthor(), 128)); - } - private void handlePubSub(Feed feed, FetchedFeed fetchedFeed) { String hub = fetchedFeed.getHub(); String topic = fetchedFeed.getTopic();