use of org.kie.server.api.model.taskassigning.PlanningExecutionResult in project droolsjbpm-integration by kiegroup.
the class TaskAssigningRuntimeServiceBaseTest method unexpectedErrorDuringPlanCalculation.
@Test
public void unexpectedErrorDuringPlanCalculation() {
when(queryHelper.readTasksDataSummary(anyLong(), any(), anyInt())).thenThrow(new RuntimeException(ERROR_MESSAGE));
PlanningExecutionResult result = serviceBase.executePlanning(new PlanningItemList(Collections.emptyList()), USER_ID);
assertHasError(result, PlanningExecutionResult.ErrorCode.UNEXPECTED_ERROR, String.format(UNEXPECTED_ERROR_DURING_PLAN_CALCULATION, ERROR_MESSAGE), null);
}
use of org.kie.server.api.model.taskassigning.PlanningExecutionResult in project droolsjbpm-integration by kiegroup.
the class TaskAssigningRuntimeServiceBaseTest method executePlanningWithTaskInInProgressOrSuspendedStatusWithActualOwnerUnChanged.
private void executePlanningWithTaskInInProgressOrSuspendedStatusWithActualOwnerUnChanged(Status status) {
TaskData taskData = mockTaskData(TASK_ID, status, ASSIGNED_USER_ID, null);
List<TaskData> taskDataList = Collections.singletonList(taskData);
PlanningItem planningItem = mockPlanningItem(TASK_ID, CONTAINER_ID, ASSIGNED_USER_ID);
PlanningItemList planningItemList = new PlanningItemList(Collections.singletonList(planningItem));
prepareExecution(taskDataList, CONTAINER_ID);
PlanningExecutionResult result = serviceBase.executePlanning(planningItemList, USER_ID);
verify(userTaskService).execute(eq(CONTAINER_ID), planningCommandCaptor.capture());
CompositeCommand compositeCommand = (CompositeCommand) planningCommandCaptor.getValue();
assertSavePlanningItemCommand(compositeCommand.getCommands(), 0, planningItem);
assertNoError(result);
}
use of org.kie.server.api.model.taskassigning.PlanningExecutionResult in project droolsjbpm-integration by kiegroup.
the class TaskAssigningRuntimeServiceBaseTest method executePlanningWithTaskInReservedStatusWithNoPlanningTask.
@Test
public void executePlanningWithTaskInReservedStatusWithNoPlanningTask() {
TaskData taskData = mockTaskData(TASK_ID, Reserved);
List<TaskData> taskDataList = Collections.singletonList(taskData);
PlanningItem planningItem = mockPlanningItem(TASK_ID, CONTAINER_ID, ASSIGNED_USER_ID);
PlanningItemList planningItemList = new PlanningItemList(Collections.singletonList(planningItem));
prepareExecution(taskDataList, CONTAINER_ID);
PlanningExecutionResult result = serviceBase.executePlanning(planningItemList, USER_ID);
verify(userTaskService).execute(eq(CONTAINER_ID), planningCommandCaptor.capture());
assertDelegateAndSaveCommand(planningCommandCaptor.getAllValues(), 0, USER_ID, planningItem);
assertNoError(result);
}
use of org.kie.server.api.model.taskassigning.PlanningExecutionResult in project droolsjbpm-integration by kiegroup.
the class SolutionProcessor method doProcess.
protected void doProcess(final TaskAssigningSolution solution) {
LOGGER.debug("Starting processing of solution: {}", solution);
final List<PlanningItem> publishedTasks = buildPlanning(solution, publishWindowSize);
if (LOGGER.isTraceEnabled()) {
traceSolution(LOGGER, solution);
tracePublishedTasks(LOGGER, publishedTasks);
}
Result result;
try {
PlanningExecutionResult executeResult = delegate.executePlanning(publishedTasks, targetUserId);
result = new Result(executeResult);
} catch (Exception e) {
LOGGER.error("An error was produced during solution processing, planning execution failed.", e);
result = new Result(e);
}
LOGGER.debug("Solution processing finished: {}", solution);
if (isAlive()) {
resultConsumer.accept(result);
status.compareAndSet(STARTED, STOPPED);
}
}
use of org.kie.server.api.model.taskassigning.PlanningExecutionResult in project droolsjbpm-integration by kiegroup.
the class TaskAssigningRuntimeClientImplTest method executePlanningRest.
@Test
public void executePlanningRest() {
when(config.isRest()).thenReturn(true);
String expectedUri = SERVER_URL + "/" + TASK_ASSIGNING_RUNTIME_URI + "/" + TASK_ASSIGNING_EXECUTE_PLANNING_URI + "?user=" + USER_ID;
doReturn(planningExecutionResult).when(runtimeClient).makeHttpPostRequestAndCreateCustomResponse(eq(expectedUri), eq(planningItemList), eq(PlanningExecutionResult.class));
PlanningExecutionResult result = runtimeClient.executePlanning(planningItemList, USER_ID);
assertEquals(planningExecutionResult, result);
}
Aggregations