Files
Athou_commafeed/src/main/java/com/commafeed/backend/services/FeedEntryContentService.java

39 lines
1.1 KiB
Java
Raw Normal View History

package com.commafeed.backend.services;
import javax.inject.Inject;
import org.apache.commons.codec.digest.DigestUtils;
import com.commafeed.backend.dao.FeedEntryContentDAO;
import com.commafeed.backend.feeds.FeedUtils;
import com.commafeed.backend.model.FeedEntryContent;
public class FeedEntryContentService {
@Inject
FeedEntryContentDAO feedEntryContentDAO;
/**
* this is NOT thread-safe
*/
public FeedEntryContent findOrCreate(FeedEntryContent content,
String baseUrl) {
FeedEntryContent existing = feedEntryContentDAO.findExisting(content);
if (existing == null) {
content.setAuthor(FeedUtils.truncate(
FeedUtils.handleContent(content.getAuthor(), baseUrl, true),
128));
content.setTitle(FeedUtils.truncate(
FeedUtils.handleContent(content.getTitle(), baseUrl, true),
2048));
content.setContentHash(DigestUtils.sha1Hex(content.getContent()));
content.setContent(FeedUtils.handleContent(content.getContent(),
baseUrl, false));
existing = content;
feedEntryContentDAO.saveOrUpdate(existing);
}
return existing;
}
}