mirror of
https://github.com/HWienhold/indu-reboot.git
synced 2026-02-07 00:07:44 +00:00
uncommited stuff
This commit is contained in:
parent
65e6c72008
commit
555d1dfff5
@ -1,14 +1,22 @@
|
||||
package com.indu.taskservice.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import com.indu.taskservice.service.AbortService;
|
||||
|
||||
import io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue.Consumer;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@RequiredArgsConstructor
|
||||
public enum AbortAction {
|
||||
ABORT_WORKFLOW("abort_workflow"),
|
||||
STEP_BACK("step_back"),
|
||||
RESTART_WORKFLOW("restart_workflow");
|
||||
|
||||
private final String value;
|
||||
|
||||
public Consumer<Task> doAction() {
|
||||
AbortService service = new AbortService();
|
||||
return task -> service.handleAbortAction(this,task);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
package com.indu.taskservice.model;
|
||||
|
||||
public class Action {
|
||||
|
||||
}
|
||||
@ -41,7 +41,6 @@ public class Task {
|
||||
|
||||
private String parentId;
|
||||
|
||||
|
||||
private TaskTemplate template;
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
package com.indu.taskservice.service;
|
||||
|
||||
import com.indu.taskservice.model.AbortAction;
|
||||
import com.indu.taskservice.model.Task;
|
||||
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Slf4j
|
||||
public class AbortService {
|
||||
|
||||
|
||||
public void handleAbortAction(AbortAction action, Task task) {
|
||||
if(action.equals(AbortAction.ABORT_WORKFLOW)) {
|
||||
abortWorkflow(task);
|
||||
} else if (action.equals(AbortAction.RESTART_WORKFLOW)) {
|
||||
cloneWorkflow(task);
|
||||
} else if ( action.equals(AbortAction.STEP_BACK) ) {
|
||||
stepBack(task);
|
||||
} else {
|
||||
log.error("Found unknown Abott Action {}. Dont know what todo" , action);
|
||||
}
|
||||
}
|
||||
|
||||
private void stepBack(Task task) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
private void cloneWorkflow(Task task) {
|
||||
// what todo when its top flow? -> need as well copy costructor
|
||||
|
||||
}
|
||||
|
||||
private void abortWorkflow(Task task) {
|
||||
// TODO Auto-generated method stub -> how to not trigger follow up abort stuff?
|
||||
|
||||
}
|
||||
}
|
||||
@ -83,7 +83,7 @@ public class TaskFlowService {
|
||||
setState(task, state);
|
||||
}
|
||||
|
||||
public void setState(Task task, TaskState state) {
|
||||
private void setState(Task task, TaskState state) {
|
||||
if (TaskState.DONE.equals(state)) {
|
||||
setDone(task);
|
||||
} else if (TaskState.READY.equals(state)) {
|
||||
@ -93,10 +93,16 @@ public class TaskFlowService {
|
||||
} else if (TaskState.ABORT.equals(state)) {
|
||||
setAbort(task);
|
||||
} else {
|
||||
throw new StateTransitionNotAllowedException("WAITING?");
|
||||
//WAITING?
|
||||
deactivate(task);
|
||||
}
|
||||
}
|
||||
|
||||
private void deactivate(Task task) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
private void setAbort(Task task) {
|
||||
runAbortAction(task);
|
||||
}
|
||||
@ -141,7 +147,6 @@ public class TaskFlowService {
|
||||
private void setInProgress(Task task) {
|
||||
task.setState(TaskState.IN_PROGRESS);
|
||||
repository.save(task);
|
||||
|
||||
}
|
||||
|
||||
public void setDone(Task task) {
|
||||
@ -157,7 +162,7 @@ public class TaskFlowService {
|
||||
public void setReady(Task task) {
|
||||
if (task.getTemplate().isCheckPreviousBeforeActivate()
|
||||
&& !task.getPreviousTask().getState().equals(TaskState.DONE)) {
|
||||
throw new StateTransitionNotAllowedException("Cannot set state to DONE for " + task.getTemplate().getName()
|
||||
throw new StateTransitionNotAllowedException("Cannot set state to Ready for " + task.getTemplate().getName()
|
||||
+ " bc bf task " + task.getPreviousTask().getTemplate().getName() + " has state "
|
||||
+ task.getPreviousTask().getState().name());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user