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