Class TaskService
- java.lang.Object
-
- com.netgrif.application.engine.workflow.service.TaskService
-
- All Implemented Interfaces:
ITaskService
@Service public class TaskService extends java.lang.Object implements ITaskService
-
-
Field Summary
Fields Modifier and Type Field Description protected IDataServicedataServiceprotected IElasticTaskServiceelasticTaskServiceprotected IEventServiceeventServiceprotected IHistoryServicehistoryServiceprotected org.springframework.data.mongodb.core.MongoTemplatemongoTemplateprotected IProcessRoleServiceprocessRoleServiceprotected org.springframework.context.ApplicationEventPublisherpublisherprotected org.springframework.scheduling.TaskSchedulerschedulerprotected TaskSearchServicesearchServiceprotected IElasticTaskMappingServicetaskMappingServiceprotected TaskRepositorytaskRepositoryprotected IUserServiceuserServiceprotected IValidationServicevalidationprotected IWorkflowServiceworkflowService
-
Constructor Summary
Constructors Constructor Description TaskService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AssignTaskEventOutcomeassignTask(LoggedUser loggedUser, java.lang.String taskId)AssignTaskEventOutcomeassignTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)AssignTaskEventOutcomeassignTask(Task task, IUser user)AssignTaskEventOutcomeassignTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params)AssignTaskEventOutcomeassignTask(java.lang.String taskId)AssignTaskEventOutcomeassignTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)java.util.List<AssignTaskEventOutcome>assignTasks(java.util.List<Task> tasks, IUser user)java.util.List<AssignTaskEventOutcome>assignTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params)protected CaseassignTaskToUser(IUser user, Task task, java.lang.String useCaseId)CancelTaskEventOutcomecancelTask(LoggedUser loggedUser, java.lang.String taskId)CancelTaskEventOutcomecancelTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)CancelTaskEventOutcomecancelTask(Task task, IUser user)CancelTaskEventOutcomecancelTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params)java.util.List<CancelTaskEventOutcome>cancelTasks(java.util.List<Task> tasks, IUser user)java.util.List<CancelTaskEventOutcome>cancelTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params)voidcancelTasksWithoutReload(java.util.Set<java.lang.String> transitions, java.lang.String caseId)Used in cancel task actionvoidcancelTasksWithoutReload(java.util.Set<java.lang.String> transitions, java.lang.String caseId, java.util.Map<java.lang.String,java.lang.String> params)Used in cancel task actionlongcount(java.util.List<TaskSearchRequest> requests, LoggedUser user, java.util.Locale locale, java.lang.Boolean isIntersection)protected voiddelegate(IUser delegated, Task task, Case useCase)DelegateTaskEventOutcomedelegateTask(LoggedUser loggedUser, java.lang.String delegatedId, java.lang.String taskId)DelegateTaskEventOutcomedelegateTask(LoggedUser loggedUser, java.lang.String delegatedId, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)voiddelete(java.util.List<Task> tasks, Case useCase)voiddelete(java.util.List<Task> tasks, java.lang.String caseId)voiddeleteTasksByCase(java.lang.String caseId)voiddeleteTasksByPetriNetId(java.lang.String petriNetId)protected CaseevaluateRules(java.lang.String caseId, Task task, EventType eventType, EventPhase eventPhase)protected voidexecute(Transition transition, Case useCase, java.util.function.Predicate<Arc> predicate)protected java.util.List<EventOutcome>executeTransition(Task task, Case useCase)java.util.List<Task>findAllByCase(java.lang.String caseId)java.util.List<TaskReference>findAllByCase(java.lang.String caseId, java.util.Locale locale)java.util.List<Task>findAllById(java.util.List<java.lang.String> ids)org.springframework.data.domain.Page<Task>findByCases(org.springframework.data.domain.Pageable pageable, java.util.List<java.lang.String> cases)TaskfindById(java.lang.String id)org.springframework.data.domain.Page<Task>findByTransitions(org.springframework.data.domain.Pageable pageable, java.util.List<java.lang.String> transitions)org.springframework.data.domain.Page<Task>findByUser(org.springframework.data.domain.Pageable pageable, IUser user)TaskfindOne(java.lang.String taskId)FinishTaskEventOutcomefinishTask(LoggedUser loggedUser, java.lang.String taskId)FinishTaskEventOutcomefinishTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)FinishTaskEventOutcomefinishTask(Task task, IUser user)FinishTaskEventOutcomefinishTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params)FinishTaskEventOutcomefinishTask(java.lang.String taskId)FinishTaskEventOutcomefinishTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)java.util.List<FinishTaskEventOutcome>finishTasks(java.util.List<Task> tasks, IUser user)java.util.List<FinishTaskEventOutcome>finishTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params)org.springframework.data.domain.Page<Task>getAll(LoggedUser loggedUser, org.springframework.data.domain.Pageable pageable, java.util.Locale locale)SetDataEventOutcomegetMainOutcome(java.util.Map<java.lang.String,SetDataEventOutcome> outcomes, java.lang.String taskId)protected IUsergetUserFromLoggedUser(LoggedUser loggedUser)voidreloadTasks(Case useCase)Reloads all unassigned tasks of given case: Task is presentTask is not present Transition executableno actioncreate task Transition not executabledestroy taskno actionvoidresolveUserRef(Case useCase)TaskresolveUserRef(Task task, Case useCase)Tasksave(Task task)java.util.List<Task>save(java.util.List<Task> tasks)protected voidscheduleTaskExecution(Task task, java.time.LocalDateTime time, Case useCase)org.springframework.data.domain.Page<Task>search(com.querydsl.core.types.Predicate predicate, org.springframework.data.domain.Pageable pageable)org.springframework.data.domain.Page<Task>search(java.util.List<TaskSearchRequest> requests, org.springframework.data.domain.Pageable pageable, LoggedUser user, java.util.Locale locale, java.lang.Boolean isIntersection)org.springframework.data.domain.Page<Task>searchAll(com.querydsl.core.types.Predicate predicate)TasksearchOne(com.querydsl.core.types.Predicate predicate)voidsetElasticTaskService(IElasticTaskService elasticTaskService)voidstartExecution(Transition transition, Case useCase)
-
-
-
Field Detail
-
publisher
@Autowired protected org.springframework.context.ApplicationEventPublisher publisher
-
taskRepository
@Autowired protected TaskRepository taskRepository
-
userService
@Autowired protected IUserService userService
-
mongoTemplate
@Autowired protected org.springframework.data.mongodb.core.MongoTemplate mongoTemplate
-
searchService
@Autowired protected TaskSearchService searchService
-
scheduler
@Autowired @Qualifier("taskScheduler") protected org.springframework.scheduling.TaskScheduler scheduler
-
workflowService
@Autowired protected IWorkflowService workflowService
-
dataService
@Autowired protected IDataService dataService
-
processRoleService
@Autowired protected IProcessRoleService processRoleService
-
taskMappingService
@Autowired protected IElasticTaskMappingService taskMappingService
-
eventService
@Autowired protected IEventService eventService
-
elasticTaskService
protected IElasticTaskService elasticTaskService
-
historyService
@Autowired protected IHistoryService historyService
-
validation
@Autowired protected IValidationService validation
-
-
Method Detail
-
setElasticTaskService
@Lazy @Autowired public void setElasticTaskService(IElasticTaskService elasticTaskService)
-
assignTasks
public java.util.List<AssignTaskEventOutcome> assignTasks(java.util.List<Task> tasks, IUser user) throws TransitionNotExecutableException
- Specified by:
assignTasksin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTasks
public java.util.List<AssignTaskEventOutcome> assignTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
assignTasksin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(LoggedUser loggedUser, java.lang.String taskId) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(java.lang.String taskId) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(Task task, IUser user) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTask
public AssignTaskEventOutcome assignTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
assignTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
assignTaskToUser
protected Case assignTaskToUser(IUser user, Task task, java.lang.String useCaseId) throws TransitionNotExecutableException
- Throws:
TransitionNotExecutableException
-
finishTasks
public java.util.List<FinishTaskEventOutcome> finishTasks(java.util.List<Task> tasks, IUser user) throws TransitionNotExecutableException
- Specified by:
finishTasksin interfaceITaskService- Throws:
TransitionNotExecutableException
-
finishTasks
public java.util.List<FinishTaskEventOutcome> finishTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
finishTasksin interfaceITaskService- Throws:
TransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(java.lang.String taskId) throws java.lang.IllegalArgumentException, TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
java.lang.IllegalArgumentExceptionTransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params) throws java.lang.IllegalArgumentException, TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
java.lang.IllegalArgumentExceptionTransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(LoggedUser loggedUser, java.lang.String taskId) throws java.lang.IllegalArgumentException, TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
java.lang.IllegalArgumentExceptionTransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params) throws java.lang.IllegalArgumentException, TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
java.lang.IllegalArgumentExceptionTransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(Task task, IUser user) throws TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
finishTask
public FinishTaskEventOutcome finishTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
finishTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
cancelTasks
public java.util.List<CancelTaskEventOutcome> cancelTasks(java.util.List<Task> tasks, IUser user)
- Specified by:
cancelTasksin interfaceITaskService
-
cancelTasks
public java.util.List<CancelTaskEventOutcome> cancelTasks(java.util.List<Task> tasks, IUser user, java.util.Map<java.lang.String,java.lang.String> params)
- Specified by:
cancelTasksin interfaceITaskService
-
cancelTask
public CancelTaskEventOutcome cancelTask(LoggedUser loggedUser, java.lang.String taskId)
- Specified by:
cancelTaskin interfaceITaskService
-
cancelTask
public CancelTaskEventOutcome cancelTask(LoggedUser loggedUser, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params)
- Specified by:
cancelTaskin interfaceITaskService
-
cancelTask
public CancelTaskEventOutcome cancelTask(Task task, IUser user)
- Specified by:
cancelTaskin interfaceITaskService
-
cancelTask
public CancelTaskEventOutcome cancelTask(Task task, IUser user, java.util.Map<java.lang.String,java.lang.String> params)
- Specified by:
cancelTaskin interfaceITaskService
-
cancelTasksWithoutReload
public void cancelTasksWithoutReload(java.util.Set<java.lang.String> transitions, java.lang.String caseId)Used in cancel task action- Specified by:
cancelTasksWithoutReloadin interfaceITaskService
-
cancelTasksWithoutReload
public void cancelTasksWithoutReload(java.util.Set<java.lang.String> transitions, java.lang.String caseId, java.util.Map<java.lang.String,java.lang.String> params)Used in cancel task action- Specified by:
cancelTasksWithoutReloadin interfaceITaskService
-
delegateTask
public DelegateTaskEventOutcome delegateTask(LoggedUser loggedUser, java.lang.String delegatedId, java.lang.String taskId) throws TransitionNotExecutableException
- Specified by:
delegateTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
delegateTask
public DelegateTaskEventOutcome delegateTask(LoggedUser loggedUser, java.lang.String delegatedId, java.lang.String taskId, java.util.Map<java.lang.String,java.lang.String> params) throws TransitionNotExecutableException
- Specified by:
delegateTaskin interfaceITaskService- Throws:
TransitionNotExecutableException
-
delegate
protected void delegate(IUser delegated, Task task, Case useCase) throws TransitionNotExecutableException
- Throws:
TransitionNotExecutableException
-
evaluateRules
protected Case evaluateRules(java.lang.String caseId, Task task, EventType eventType, EventPhase eventPhase)
-
reloadTasks
public void reloadTasks(Case useCase)
Reloads all unassigned tasks of given case:Task is present Task is not present Transition executable no action create task Transition not executable destroy task no action - Specified by:
reloadTasksin interfaceITaskService
-
startExecution
public void startExecution(Transition transition, Case useCase) throws TransitionNotExecutableException
- Throws:
TransitionNotExecutableException
-
execute
protected void execute(Transition transition, Case useCase, java.util.function.Predicate<Arc> predicate) throws TransitionNotExecutableException
- Throws:
TransitionNotExecutableException
-
executeTransition
protected java.util.List<EventOutcome> executeTransition(Task task, Case useCase)
-
scheduleTaskExecution
protected void scheduleTaskExecution(Task task, java.time.LocalDateTime time, Case useCase)
-
findOne
public Task findOne(java.lang.String taskId)
- Specified by:
findOnein interfaceITaskService
-
getAll
public org.springframework.data.domain.Page<Task> getAll(LoggedUser loggedUser, org.springframework.data.domain.Pageable pageable, java.util.Locale locale)
- Specified by:
getAllin interfaceITaskService
-
search
public org.springframework.data.domain.Page<Task> search(java.util.List<TaskSearchRequest> requests, org.springframework.data.domain.Pageable pageable, LoggedUser user, java.util.Locale locale, java.lang.Boolean isIntersection)
- Specified by:
searchin interfaceITaskService
-
count
public long count(java.util.List<TaskSearchRequest> requests, LoggedUser user, java.util.Locale locale, java.lang.Boolean isIntersection)
- Specified by:
countin interfaceITaskService
-
findByCases
public org.springframework.data.domain.Page<Task> findByCases(org.springframework.data.domain.Pageable pageable, java.util.List<java.lang.String> cases)
- Specified by:
findByCasesin interfaceITaskService
-
findById
public Task findById(java.lang.String id)
- Specified by:
findByIdin interfaceITaskService
-
findAllById
public java.util.List<Task> findAllById(java.util.List<java.lang.String> ids)
- Specified by:
findAllByIdin interfaceITaskService
-
findByUser
public org.springframework.data.domain.Page<Task> findByUser(org.springframework.data.domain.Pageable pageable, IUser user)
- Specified by:
findByUserin interfaceITaskService
-
findByTransitions
public org.springframework.data.domain.Page<Task> findByTransitions(org.springframework.data.domain.Pageable pageable, java.util.List<java.lang.String> transitions)
- Specified by:
findByTransitionsin interfaceITaskService
-
searchAll
public org.springframework.data.domain.Page<Task> searchAll(com.querydsl.core.types.Predicate predicate)
- Specified by:
searchAllin interfaceITaskService
-
search
public org.springframework.data.domain.Page<Task> search(com.querydsl.core.types.Predicate predicate, org.springframework.data.domain.Pageable pageable)
- Specified by:
searchin interfaceITaskService
-
searchOne
public Task searchOne(com.querydsl.core.types.Predicate predicate)
- Specified by:
searchOnein interfaceITaskService
-
findAllByCase
public java.util.List<TaskReference> findAllByCase(java.lang.String caseId, java.util.Locale locale)
- Specified by:
findAllByCasein interfaceITaskService
-
findAllByCase
public java.util.List<Task> findAllByCase(java.lang.String caseId)
- Specified by:
findAllByCasein interfaceITaskService
-
save
public Task save(Task task)
- Specified by:
savein interfaceITaskService
-
save
public java.util.List<Task> save(java.util.List<Task> tasks)
- Specified by:
savein interfaceITaskService
-
resolveUserRef
public void resolveUserRef(Case useCase)
- Specified by:
resolveUserRefin interfaceITaskService
-
resolveUserRef
public Task resolveUserRef(Task task, Case useCase)
- Specified by:
resolveUserRefin interfaceITaskService
-
delete
public void delete(java.util.List<Task> tasks, Case useCase)
- Specified by:
deletein interfaceITaskService
-
delete
public void delete(java.util.List<Task> tasks, java.lang.String caseId)
- Specified by:
deletein interfaceITaskService
-
deleteTasksByCase
public void deleteTasksByCase(java.lang.String caseId)
- Specified by:
deleteTasksByCasein interfaceITaskService
-
deleteTasksByPetriNetId
public void deleteTasksByPetriNetId(java.lang.String petriNetId)
- Specified by:
deleteTasksByPetriNetIdin interfaceITaskService
-
getMainOutcome
public SetDataEventOutcome getMainOutcome(java.util.Map<java.lang.String,SetDataEventOutcome> outcomes, java.lang.String taskId)
- Specified by:
getMainOutcomein interfaceITaskService
-
getUserFromLoggedUser
protected IUser getUserFromLoggedUser(LoggedUser loggedUser)
-
-