taskInstance.setId( task.getId() ); taskInstance.setName( task.getName() ); taskInstance.setDescription( task.getDescription() ); taskInstance.setFormName( task.getFormName() ); taskInstance.setDeploymentId( registrationKey ); taskInstance.setProcessId( task.getProcessId() ); taskInstance.setStatus( task.getStatus() ); TaskInputsDefinition inputDefinitions = processService.getUserTaskInputDefinitions( domainId, task.getProcessId(), task.getName() ); TaskOutputsDefinition outputDefinitions = processService.getUserTaskOutputDefinitions( domainId, task.getProcessId(), task.getName() ); Map<String, Object> inputs = processData( documentClient, task.getInputData() ); Map<String, Object> outputs = processData( documentClient, task.getOutputData() );
@Override public TaskSummary apply(final TaskInstance taskInstance) { if (taskInstance == null) { return null; } else { return TaskSummary.builder() .id(taskInstance.getId()) .name(taskInstance.getName()) .description(taskInstance.getDescription()) .status(taskInstance.getStatus()) .priority(taskInstance.getPriority()) .actualOwner(taskInstance.getActualOwner()) .createdBy(taskInstance.getCreatedBy()) .createdOn(taskInstance.getCreatedOn()) .activationTime(taskInstance.getActivationTime()) .expirationTime(taskInstance.getExpirationDate()) .processId(taskInstance.getProcessId()) .processInstanceId(taskInstance.getProcessInstanceId()) .deploymentId(taskInstance.getContainerId()) .parentId(taskInstance.getParentId()) .errorCount(0) .build(); } } }
@Test public void allowDelegatePotentialOwnerNotCurrentUser() { final TaskInstance task = new TaskInstance(); task.setPotentialOwners(Arrays.asList(OTHER_USER)); when(identityProvider.getRoles()).thenReturn(Arrays.asList(CURRENT_USER)); assertFalse(new TaskAssignmentSummaryMapper().isDelegationAllowed(task, identityProvider)); }
public void update(String containerId, Number taskId, String userId, String payload, String marshallerType) { containerId = context.getContainerId(containerId, new ByTaskIdContainerLocator(taskId.longValue())); userId = getUser(userId); logger.debug("About to unmarshal task instances from payload: '{}'", payload); TaskInstance updatedTask = marshallerHelper.unmarshal(containerId, payload, marshallerType, TaskInstance.class); logger.debug("About to update task with id '{}' as user '{}' with data {}", taskId, userId, updatedTask); UserTaskInstanceDesc task = new UserTaskInstanceDesc(taskId.longValue(), updatedTask.getName(), updatedTask.getDescription(), updatedTask.getPriority(), updatedTask.getExpirationDate(), updatedTask.getFormName()); userTaskService.updateTask(containerId, taskId.longValue(), userId, task, updatedTask.getInputData(), updatedTask.getOutputData()); }
protected Boolean isForwardAllowed(final TaskInstance task, final IdentityProvider identityProvider) { if ("Completed".equals(task.getStatus())) { return false; } final String actualOwner = task.getActualOwner(); if (actualOwner != null && actualOwner.equals(identityProvider.getName())) { return true; } final List<String> roles = identityProvider.getRoles(); final List<String> potentialOwners = task.getPotentialOwners(); if (potentialOwners != null && Collections.disjoint(potentialOwners, roles) == false) { return true; } final List<String> businessAdministrators = task.getBusinessAdmins(); if (businessAdministrators != null && Collections.disjoint(businessAdministrators, roles) == false) { return true; } return false; }
assertEquals("First task", taskInstance.getName()); KieServerAssert.assertNullOrEmpty(taskInstance.getDescription()); KieServerAssert.assertNullOrEmpty(taskInstance.getSubject()); assertEquals("Reserved", taskInstance.getStatus()); assertEquals(0, taskInstance.getPriority().intValue()); assertEquals(USER_YODA, taskInstance.getActualOwner()); assertEquals(USER_YODA, taskInstance.getCreatedBy()); assertEquals(PROCESS_ID_USERTASK, taskInstance.getProcessId()); assertEquals(CONTAINER_ID, taskInstance.getContainerId()); assertEquals(taskSummary.getId(), taskInstance.getId()); assertEquals(-1, taskInstance.getParentId().longValue()); assertEquals(true, taskInstance.getSkipable()); assertEquals(processInstanceId, taskInstance.getProcessInstanceId()); assertNotNull(taskInstance.getWorkItemId()); assertTrue(taskInstance.getWorkItemId().longValue() > 0); assertNull(taskInstance.getExcludedOwners()); assertNull(taskInstance.getPotentialOwners()); assertNull(taskInstance.getBusinessAdmins()); assertNull(taskInstance.getInputData()); assertNull(taskInstance.getOutputData());
private void assertTaskInstace(TaskInstance expected, TaskInstance actual) { assertNotNull(actual); assertEquals(expected.getName(), actual.getName()); KieServerAssert.assertNullOrEmpty(actual.getDescription()); assertEquals(expected.getStatus(), actual.getStatus()); assertEquals(expected.getPriority(), actual.getPriority()); assertEquals(expected.getActualOwner(), actual.getActualOwner()); assertEquals(expected.getCreatedBy(), actual.getCreatedBy()); assertEquals(expected.getProcessId(), actual.getProcessId()); assertEquals(expected.getContainerId(), actual.getContainerId()); assertEquals(expected.getProcessInstanceId(), actual.getProcessInstanceId()); }
resultsIds.add( res.getId() ); .filter( taskInstance -> taskInstance.getId().equals( task.getId() ) ) .findFirst() .orElse( null ); Assertions.assertThat( instance ).isNotNull(); Assertions.assertThat( instance.getContainerId() ).isEqualTo( CONTAINER_ID ); Assertions.assertThat( instance.getProcessInstanceId() ).isEqualTo( processInstanceId ); Assertions.assertThat( instance.getName() ).isEqualTo( FIRST_TASK_NAME ); Assertions.assertThat( instance.getActualOwner() ).isEqualTo( USER_YODA ); Assertions.assertThat( instance.getCreatedBy() ).isEqualTo( USER_YODA ); Assertions.assertThat( instance.getDescription() ).isEqualTo( task.getDescription() ); Assertions.assertThat( instance.getExpirationDate() ).isEqualTo( task.getExpirationTime() ); Assertions.assertThat( instance.getPriority() ).isEqualTo( task.getPriority() ); Assertions.assertThat( instance.getStatus() ).isEqualTo( task.getStatus() );
anyString())).thenReturn(new TaskOutputsDefinition()); TaskInstance taskInstance = new TaskInstance(); taskInstance.setId(new Long(12)); taskInstance.setName("modify"); taskInstance.setFormName("modify"); taskInstance.setDescription("modify"); taskInstance.setProcessId("invoices"); taskInstance.setInputData(new HashMap<>()); taskInstance.setOutputData(new HashMap<>());
outputData.put("person_", createPersonInstance(USER_MARY)); TaskInstance task = TaskInstance.builder() .name("Modified name") .description("Simple user task.") assertEquals(10, taskInstance.getPriority().intValue()); assertNotNull(taskInstance.getExpirationDate()); assertEquals("Modified name", taskInstance.getName()); assertEquals("Simple user task.", taskInstance.getDescription()); String inputVar = (String) taskInstance.getInputData().get("added input"); assertNotNull(inputVar); assertEquals("test", inputVar); Object personVar = taskInstance.getOutputData().get("person_"); assertNotNull(personVar); assertEquals(USER_MARY, KieServerReflections.valueOf(personVar, "name")); String stringVar = (String) taskInstance.getOutputData().get("string_"); assertNotNull(personVar); assertEquals("my custom data", stringVar);
@Override public TaskAssignmentSummary apply(final TaskInstance task, final IdentityProvider identityProvider) { if (task == null) { return null; } else { final TaskAssignmentSummary summary = new TaskAssignmentSummary(); summary.setTaskId(task.getId()); summary.setActualOwner(task.getActualOwner()); summary.setTaskName(task.getName()); summary.setPotOwnersString(task.getPotentialOwners()); summary.setCreatedBy(task.getCreatedBy()); summary.setBusinessAdmins(task.getBusinessAdmins()); summary.setStatus(task.getStatus()); summary.setDelegationAllowed(isDelegationAllowed(task, identityProvider)); summary.setForwardAllowed(isForwardAllowed(task, identityProvider)); return summary; } }
Date expirationDate = currentTime.getTime(); TaskInstance task = TaskInstance.builder() .name("Modified name") .description("Simple user task.") assertEquals(10, taskInstance.getPriority().intValue()); assertNotNull(taskInstance.getExpirationDate()); assertEquals("Modified name", taskInstance.getName()); assertEquals("Simple user task.", taskInstance.getDescription()); } finally { processClient.abortProcessInstance(CONTAINER_ID, processInstanceId);
when( processServicesClient.getUserTaskOutputDefinitions( anyString(), anyString(), anyString() ) ).thenReturn( new TaskOutputsDefinition() ); TaskInstance taskInstance = new TaskInstance(); taskInstance.setId( new Long(12) ); taskInstance.setName( "TaskName" ); taskInstance.setFormName( "TaskFormName" ); taskInstance.setDescription( "TaskDescription" ); taskInstance.setProcessId( "testProcess" );
assertEquals(10, taskInstance.getPriority().intValue()); assertNotNull(taskInstance.getExpirationDate()); assertFalse(taskInstance.getSkipable().booleanValue()); assertEquals("Modified name", taskInstance.getName()); assertEquals("Simple user task.", taskInstance.getDescription()); } finally { processClient.abortProcessInstance(CONTAINER_ID, processInstanceId);
private void checkTaskStatusAndActualOwner(String containerId, Long taskId, Status status, String actualOwner) { TaskInstance task = taskClient.getTaskInstance(containerId, taskId); assertEquals(taskId, task.getId()); assertEquals(status.toString(), task.getStatus()); assertEquals(actualOwner, task.getActualOwner()); } }
private void testFindTaskInstanceWithSearchService( TaskQueryFilterSpec filter, Long taskInstanceId ) { List<Long> resultsIds = new ArrayList<>(); List<TaskInstance> results = queryClient.findHumanTasksWithFilters( QUERY_NAME, filter, 0, 100 ); for ( TaskInstance res : results ) { resultsIds.add( res.getId() ); Assertions.assertThat(res.getInputData()).isNullOrEmpty(); Assertions.assertThat(res.getOutputData()).isNullOrEmpty(); } Assertions.assertThat( results ).isNotNull(); Assertions.assertThat( results ).isNotEmpty(); Assertions.assertThat( resultsIds ).contains( taskInstanceId ); }
@Test public void allowDelegateBusinessAdmins() { final TaskInstance task = new TaskInstance(); task.setBusinessAdmins(Arrays.asList(CURRENT_USER)); when(identityProvider.getRoles()).thenReturn(Arrays.asList(CURRENT_USER)); assertTrue(new TaskAssignmentSummaryMapper().isDelegationAllowed(task, identityProvider)); }
@Test public void allowDelegateActualOwnerNotCurrentUser() { final TaskInstance task = new TaskInstance(); task.setActualOwner(OTHER_USER); assertFalse(new TaskAssignmentSummaryMapper().isDelegationAllowed(task, identityProvider)); }
"Service Task", node2WorkItemId); TaskInstance t1 = TaskInstance.builder() .actualOwner(taskActualOwner) .build();