Skip to content

Commit

Permalink
DMP-4554: Upgrade Spring Boot to 3.4.1 (#2503)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ben-Edwards-cgi committed Jan 29, 2025
1 parent 6d6d67b commit 023e5d7
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package uk.gov.hmcts.darts.task.model;

import lombok.Getter;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.config.TriggerTask;
import uk.gov.hmcts.darts.task.runner.AutomatedTask;

@Getter
public class AutomatedTaskTrigger extends TriggerTask {
private final AutomatedTask automatedTask;

public AutomatedTaskTrigger(AutomatedTask automatedTask, Trigger trigger) {
super(automatedTask, trigger);
this.automatedTask = automatedTask;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import org.springframework.scheduling.config.ScheduledTaskHolder;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.config.Task;
import org.springframework.scheduling.config.TriggerTask;
import org.springframework.scheduling.support.CronExpression;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Service;
Expand All @@ -20,6 +19,7 @@
import uk.gov.hmcts.darts.common.exception.DartsApiException;
import uk.gov.hmcts.darts.common.repository.AutomatedTaskRepository;
import uk.gov.hmcts.darts.task.api.AutomatedTaskName;
import uk.gov.hmcts.darts.task.model.AutomatedTaskTrigger;
import uk.gov.hmcts.darts.task.model.TriggerAndAutomatedTask;
import uk.gov.hmcts.darts.task.runner.AutoloadingAutomatedTask;
import uk.gov.hmcts.darts.task.runner.AutomatedTask;
Expand Down Expand Up @@ -180,7 +180,7 @@ public boolean cancelAutomatedTask(String taskName, boolean mayInterruptIfRunnin
Set<ScheduledTask> scheduledTasks = taskHolder.getScheduledTasks();
for (ScheduledTask scheduledTask : scheduledTasks) {
Task task = scheduledTask.getTask();
if (task instanceof TriggerTask triggerTask && cancelTriggerTask(
if (task instanceof AutomatedTaskTrigger triggerTask && cancelTriggerTask(
taskName,
scheduledTask,
triggerTask,
Expand All @@ -197,10 +197,9 @@ public AutomatedTaskStatus getAutomatedTaskStatus(String taskName) {
Set<ScheduledTask> scheduledTasks = taskHolder.getScheduledTasks();
for (ScheduledTask scheduledTask : scheduledTasks) {
Task task = scheduledTask.getTask();
if (task instanceof TriggerTask triggerTask
&& triggerTask.getRunnable() instanceof AutomatedTask automatedTask
&& automatedTask.getTaskName().equals(taskName)) {
return automatedTask.getAutomatedTaskStatus();
if (task instanceof AutomatedTaskTrigger triggerTask
&& triggerTask.getAutomatedTask().getTaskName().equals(taskName)) {
return triggerTask.getAutomatedTask().getAutomatedTaskStatus();
}
}
throw new DartsApiException(FAILED_TO_FIND_AUTOMATED_TASK);
Expand All @@ -217,20 +216,19 @@ private TriggerAndAutomatedTask getTriggerAndAutomatedTask(String taskName) {
Set<ScheduledTask> scheduledTasks = taskHolder.getScheduledTasks();
for (ScheduledTask scheduledTask : scheduledTasks) {
Task task = scheduledTask.getTask();
if (task instanceof TriggerTask triggerTask
&& triggerTask.getRunnable() instanceof AbstractLockableAutomatedTask automatedTask
&& automatedTask.getTaskName().equals(taskName)) {
if (task instanceof AutomatedTaskTrigger triggerTask
&& triggerTask.getAutomatedTask().getTaskName().equals(taskName)) {
return TriggerAndAutomatedTask.builder()
.automatedTask(automatedTask)
.automatedTask(triggerTask.getAutomatedTask())
.trigger(triggerTask.getTrigger())
.build();
}
}
return null;
}

private boolean cancelTriggerTask(String taskName, ScheduledTask scheduledTask, TriggerTask triggerTask, boolean mayInterruptIfRunning) {
if (triggerTask.getRunnable() instanceof AutomatedTask automatedTask && automatedTask.getTaskName().equals(taskName)) {
private boolean cancelTriggerTask(String taskName, ScheduledTask scheduledTask, AutomatedTaskTrigger triggerTask, boolean mayInterruptIfRunning) {
if (triggerTask.getAutomatedTask().getTaskName().equals(taskName)) {
log.info("About to cancel task: " + taskName);
scheduledTask.cancel(mayInterruptIfRunning);
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import uk.gov.hmcts.darts.task.config.AutomatedTaskConfigurationProperties;
import uk.gov.hmcts.darts.task.config.ProcessDailyListAutomatedTaskConfig;
import uk.gov.hmcts.darts.task.exception.AutomatedTaskSetupError;
import uk.gov.hmcts.darts.task.model.AutomatedTaskTrigger;
import uk.gov.hmcts.darts.task.runner.AutoloadingAutomatedTask;
import uk.gov.hmcts.darts.task.runner.AutomatedTask;
import uk.gov.hmcts.darts.task.runner.impl.AbstractLockableAutomatedTask;
Expand Down Expand Up @@ -160,7 +161,7 @@ public AutomatedTaskName getAutomatedTaskName() {
};
autoloadingAutomatedTasks.add(automatedTask);
Trigger trigger = triggerContext -> null;
TriggerTask task = new TriggerTask(automatedTask, trigger);
AutomatedTaskTrigger task = new AutomatedTaskTrigger(automatedTask, trigger);
when(scheduledTaskHolder.getScheduledTasks()).thenReturn(scheduledTaskList);
when(scheduledTask.getTask()).thenReturn(task);

Expand Down Expand Up @@ -195,7 +196,7 @@ public AutomatedTaskName getAutomatedTaskName() {
};
autoloadingAutomatedTasks.add(automatedTask);
Trigger trigger = triggerContext -> null;
TriggerTask task = new TriggerTask(automatedTask, trigger);
AutomatedTaskTrigger task = new AutomatedTaskTrigger(automatedTask, trigger);
when(scheduledTaskHolder.getScheduledTasks()).thenReturn(scheduledTaskList);
when(scheduledTask.getTask()).thenReturn(task);

Expand Down Expand Up @@ -230,7 +231,7 @@ public AutomatedTaskName getAutomatedTaskName() {
};
autoloadingAutomatedTasks.add(automatedTask);
Trigger trigger = triggerContext -> null;
TriggerTask task = new TriggerTask(automatedTask, trigger);
AutomatedTaskTrigger task = new AutomatedTaskTrigger(automatedTask, trigger);
when(scheduledTaskHolder.getScheduledTasks()).thenReturn(scheduledTaskList);
when(scheduledTask.getTask()).thenReturn(task);

Expand Down Expand Up @@ -392,15 +393,15 @@ void cancelAutomatedTask() {
Set<ScheduledTask> scheduledTaskList = new HashSet<>();
scheduledTaskList.add(scheduledTask);

TriggerTask task = getTriggerTask();
AutomatedTaskTrigger task = getTriggerTask();
when(scheduledTaskHolder.getScheduledTasks()).thenReturn(scheduledTaskList);
when(scheduledTask.getTask()).thenReturn(task);

assertTrue(automatedTaskService.cancelAutomatedTask("ProcessDailyList", true));

}

private TriggerTask getTriggerTask() {
private AutomatedTaskTrigger getTriggerTask() {
AbstractLockableAutomatedTask automatedTask = new AbstractLockableAutomatedTask<>(
mockAutomatedTaskRepository,
mockAutomatedTaskConfigurationProperties,
Expand All @@ -425,7 +426,7 @@ public AutomatedTaskName getAutomatedTaskName() {
}
};
Trigger trigger = triggerContext -> null;
return new TriggerTask(automatedTask, trigger);
return new AutomatedTaskTrigger(automatedTask, trigger);
}

@Test
Expand Down

0 comments on commit 023e5d7

Please sign in to comment.