Files
Athou_commafeed/src/main/java/com/commafeed/backend/DatabaseCleaner.java

35 lines
825 B
Java
Raw Normal View History

package com.commafeed.backend;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
2013-06-18 13:28:15 +02:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
2013-06-19 13:29:56 +02:00
import com.commafeed.backend.dao.FeedEntryDAO;
public class DatabaseCleaner {
2013-06-18 13:28:15 +02:00
private static Logger log = LoggerFactory.getLogger(DatabaseCleaner.class);
@Inject
2013-06-19 13:29:56 +02:00
FeedEntryDAO feedEntryDAO;
2013-06-18 13:00:03 +02:00
public long cleanOlderThan(long value, TimeUnit unit) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, -1 * (int) unit.toMinutes(value));
2013-06-18 13:00:03 +02:00
long total = 0;
int deleted = -1;
do {
2013-06-19 13:29:56 +02:00
deleted = feedEntryDAO.delete(cal.getTime(), 100);
2013-06-18 13:00:03 +02:00
total += deleted;
2013-06-18 13:37:56 +02:00
log.info("removed {} statuses", total);
2013-06-18 13:00:03 +02:00
} while (deleted != 0);
2013-06-18 13:37:56 +02:00
log.info("cleanup done: {}", total);
2013-06-18 13:00:03 +02:00
return total;
}
}