mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
moved methods around
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.commafeed.backend;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@@ -12,6 +13,7 @@ import org.slf4j.LoggerFactory;
|
||||
import com.commafeed.backend.dao.FeedDAO;
|
||||
import com.commafeed.backend.dao.FeedEntryContentDAO;
|
||||
import com.commafeed.backend.dao.FeedEntryDAO;
|
||||
import com.commafeed.backend.dao.FeedEntryStatusDAO;
|
||||
import com.commafeed.backend.dao.FeedSubscriptionDAO;
|
||||
import com.commafeed.backend.model.Feed;
|
||||
import com.commafeed.backend.model.FeedSubscription;
|
||||
@@ -33,6 +35,9 @@ public class DatabaseCleaner {
|
||||
@Inject
|
||||
FeedEntryContentDAO feedEntryContentDAO;
|
||||
|
||||
@Inject
|
||||
FeedEntryStatusDAO feedEntryStatusDAO;
|
||||
|
||||
@Inject
|
||||
ApplicationSettingsService applicationSettingsService;
|
||||
|
||||
@@ -92,4 +97,10 @@ public class DatabaseCleaner {
|
||||
}
|
||||
feedDAO.saveOrUpdate(into);
|
||||
}
|
||||
|
||||
public void cleanStatusesOlderThan(Date olderThan) {
|
||||
log.info("cleaning old read statuses");
|
||||
int deleted = feedEntryStatusDAO.deleteOldStatuses(olderThan);
|
||||
log.info("cleaned {} read statuses", deleted);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.commafeed.backend.services;
|
||||
package com.commafeed.backend;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@@ -7,32 +7,31 @@ import javax.ejb.Stateless;
|
||||
import javax.inject.Inject;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import javax.persistence.Query;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@Stateless
|
||||
public class CleaningService {
|
||||
import com.commafeed.backend.services.ApplicationSettingsService;
|
||||
|
||||
protected final static Logger log = LoggerFactory.getLogger(CleaningService.class);
|
||||
@Stateless
|
||||
public class ScheduledTasks {
|
||||
protected final static Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
|
||||
|
||||
@Inject
|
||||
ApplicationSettingsService applicationSettingsService;
|
||||
|
||||
@Inject
|
||||
DatabaseCleaner cleaner;
|
||||
|
||||
@PersistenceContext
|
||||
EntityManager em;
|
||||
|
||||
// every day at midnight
|
||||
@Schedule(hour = "0", persistent = false)
|
||||
private void cleanOldStatuses() {
|
||||
private void cleanupOldStatuses() {
|
||||
Date threshold = applicationSettingsService.get().getUnreadThreshold();
|
||||
if (threshold != null) {
|
||||
log.info("cleaning old read statuses");
|
||||
Query query = em.createNamedQuery("Statuses.deleteOld");
|
||||
query.setParameter("date", threshold);
|
||||
int deleted = query.executeUpdate();
|
||||
log.info("cleaned {} read statuses", deleted);
|
||||
cleaner.cleanStatusesOlderThan(threshold);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -266,4 +266,10 @@ public class FeedEntryStatusDAO extends GenericDAO<FeedEntryStatus> {
|
||||
setTimeout(query, applicationSettingsService.get().getQueryTimeout());
|
||||
}
|
||||
|
||||
public int deleteOldStatuses(Date olderThan) {
|
||||
Query query = em.createNamedQuery("Statuses.deleteOld");
|
||||
query.setParameter("date", olderThan);
|
||||
return query.executeUpdate();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -262,7 +262,7 @@ public class AdminREST extends AbstractResourceREST {
|
||||
@ApiOperation(value = "Entries cleanup", notes = "Delete entries older than given date")
|
||||
public Response cleanupEntries(@QueryParam("days") @DefaultValue("30") int days) {
|
||||
Map<String, Long> map = Maps.newHashMap();
|
||||
map.put("old entries", cleaner.cleanEntriesOlderThan(days, TimeUnit.DAYS));
|
||||
map.put("old_entries", cleaner.cleanEntriesOlderThan(days, TimeUnit.DAYS));
|
||||
return Response.ok(map).build();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user