handle all entry content sanity check at the same place

This commit is contained in:
Athou
2013-05-24 07:26:43 +02:00
parent bb4ce2e0e4
commit 9dc67ba6f9
2 changed files with 8 additions and 20 deletions

View File

@@ -73,19 +73,23 @@ public class FeedParser {
List<SyndEntry> 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);

View File

@@ -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();