(wip) migrate to spring beans
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-09-05 01:32:46 +02:00
parent bbd0299103
commit f80a49995b
27 changed files with 447 additions and 841 deletions

View File

@@ -3,7 +3,7 @@ package wtf.beatrice.hidekobot.runnables;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import wtf.beatrice.hidekobot.Cache;
import wtf.beatrice.hidekobot.datasources.DatabaseSource;
import wtf.beatrice.hidekobot.services.DatabaseService;
import wtf.beatrice.hidekobot.util.CommandUtil;
import java.time.LocalDateTime;
@@ -13,16 +13,20 @@ import java.util.List;
public class ExpiredMessageTask implements Runnable
{
private final DatabaseService databaseService;
private final CommandUtil commandUtil;
private final DateTimeFormatter formatter;
private static final Logger LOGGER = LoggerFactory.getLogger(ExpiredMessageTask.class);
private DatabaseSource databaseSource;
public ExpiredMessageTask()
public ExpiredMessageTask(DatabaseService databaseService,
CommandUtil commandUtil)
{
this.databaseService = databaseService;
this.commandUtil = commandUtil;
String format = Cache.getExpiryTimestampFormat();
formatter = DateTimeFormatter.ofPattern(format);
databaseSource = Cache.getDatabaseSource();
}
@@ -30,10 +34,7 @@ public class ExpiredMessageTask implements Runnable
public void run()
{
databaseSource = Cache.getDatabaseSource();
if (databaseSource == null) return;
List<String> expiringMessages = Cache.getDatabaseSource().getQueuedExpiringMessages();
List<String> expiringMessages = databaseService.getQueuedExpiringMessages();
if (expiringMessages == null || expiringMessages.isEmpty()) return;
LocalDateTime now = LocalDateTime.now();
@@ -43,11 +44,11 @@ public class ExpiredMessageTask implements Runnable
if (Cache.isVerbose()) LOGGER.info("expired check: {}", messageId);
String expiryTimestamp = databaseSource.getQueuedExpiringMessageExpiryDate(messageId);
String expiryTimestamp = databaseService.getQueuedExpiringMessageExpiryDate(messageId);
if (expiryTimestamp == null || expiryTimestamp.isEmpty()) // if missing timestamp
{
// count it as already expired
databaseSource.untrackExpiredMessage(messageId);
databaseService.untrackExpiredMessage(messageId);
// move on to next message
continue;
}
@@ -57,7 +58,7 @@ public class ExpiredMessageTask implements Runnable
if (now.isAfter(expiryDate))
{
if (Cache.isVerbose()) LOGGER.info("expired: {}", messageId);
CommandUtil.disableExpired(messageId);
commandUtil.disableExpired(messageId);
}
}