diff --git a/src/main/java/com/realtime/protection/server/task/status/states/FinishedState.java b/src/main/java/com/realtime/protection/server/task/status/states/FinishedState.java index 757577f..06d9d9a 100644 --- a/src/main/java/com/realtime/protection/server/task/status/states/FinishedState.java +++ b/src/main/java/com/realtime/protection/server/task/status/states/FinishedState.java @@ -1,11 +1,16 @@ package com.realtime.protection.server.task.status.states; +import com.realtime.protection.configuration.utils.enums.StateEnum; import com.realtime.protection.server.command.CommandService; import com.realtime.protection.server.task.TaskService; +import com.realtime.protection.server.task.status.StateHandler; -public class FinishedState implements State { +public class FinishedState extends StateHandler implements State { @Override public Boolean handle(State newState, CommandService commandService, TaskService taskService, Long taskId) { - return newState instanceof FinishedState; + return switch (StateEnum.getStateEnumByState(newState)) { + case PENDING, FINISHED -> true; + default -> throw new IllegalStateException("Unexpected value: " + StateEnum.getStateEnumByState(newState)); + }; } }