added on-demand database cleanup (date is hardcoded for the moment)

This commit is contained in:
Athou
2013-06-16 11:48:23 +02:00
parent 2b6ad62f03
commit 379e342e30
11 changed files with 91 additions and 23 deletions

View File

@@ -90,6 +90,6 @@ public class FeedDAO extends GenericDAO<Feed> {
}
public List<Feed> findByTopic(String topic) {
return findByField(Feed_.pushTopic, topic);
return findByField(Feed_.pushTopicHash, DigestUtils.sha1Hex(topic));
}
}

View File

@@ -1,5 +1,6 @@
package com.commafeed.backend.dao;
import java.util.Date;
import java.util.List;
import javax.ejb.Stateless;
@@ -55,6 +56,14 @@ public class FeedEntryDAO extends GenericDAO<FeedEntry> {
return list;
}
public List<FeedEntry> findByInserted(Date olderThan) {
CriteriaQuery<FeedEntry> query = builder.createQuery(getType());
Root<FeedEntry> root = query.from(getType());
query.where(builder.lessThan(root.get(FeedEntry_.inserted), olderThan));
return em.createQuery(query).getResultList();
}
public List<FeedEntry> findByFeed(Feed feed, int offset, int limit) {
CriteriaQuery<FeedEntry> query = builder.createQuery(getType());
Root<FeedEntry> root = query.from(getType());

View File

@@ -50,15 +50,15 @@ public abstract class GenericDAO<T extends AbstractModel> {
saveOrUpdate(Arrays.asList(models));
}
public void delete(T object) {
public void delete(AbstractModel object) {
if (object != null) {
object = em.merge(object);
em.remove(object);
}
}
public void delete(List<T> objects) {
for (T object : objects) {
public void delete(Collection<? extends AbstractModel> objects) {
for (AbstractModel object : objects) {
delete(object);
}
}