Search in sources :

Example 21 with IdentityLink

use of org.activiti.engine.task.IdentityLink in project Activiti by Activiti.

the class TaskIdentityLinksTest method testCustomTypeUserLink.

@Deployment(resources = "org/activiti/engine/test/api/task/IdentityLinksProcess.bpmn20.xml")
public void testCustomTypeUserLink() {
    runtimeService.startProcessInstanceByKey("IdentityLinksProcess");
    String taskId = taskService.createTaskQuery().singleResult().getId();
    taskService.addUserIdentityLink(taskId, "kermit", "interestee");
    List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(taskId);
    IdentityLink identityLink = identityLinks.get(0);
    assertNull(identityLink.getGroupId());
    assertEquals("kermit", identityLink.getUserId());
    assertEquals("interestee", identityLink.getType());
    assertEquals(taskId, identityLink.getTaskId());
    assertEquals(1, identityLinks.size());
    taskService.deleteUserIdentityLink(taskId, "kermit", "interestee");
    assertEquals(0, taskService.getIdentityLinksForTask(taskId).size());
}
Also used : IdentityLink(org.activiti.engine.task.IdentityLink) Deployment(org.activiti.engine.test.Deployment)

Example 22 with IdentityLink

use of org.activiti.engine.task.IdentityLink in project Activiti by Activiti.

the class TaskIdentityLinksTest method testCustomIdentityLink.

// Test custom identity links
@Deployment
public void testCustomIdentityLink() {
    runtimeService.startProcessInstanceByKey("customIdentityLink");
    List<Task> tasks = taskService.createTaskQuery().taskInvolvedUser("kermit").list();
    assertEquals(1, tasks.size());
    List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(tasks.get(0).getId());
    assertEquals(2, identityLinks.size());
    for (IdentityLink idLink : identityLinks) {
        assertEquals("businessAdministrator", idLink.getType());
        String userId = idLink.getUserId();
        if (userId == null) {
            assertEquals("management", idLink.getGroupId());
        } else {
            assertEquals("kermit", userId);
        }
    }
}
Also used : Task(org.activiti.engine.task.Task) IdentityLink(org.activiti.engine.task.IdentityLink) Deployment(org.activiti.engine.test.Deployment)

Example 23 with IdentityLink

use of org.activiti.engine.task.IdentityLink in project Activiti by Activiti.

the class TaskServiceTest method testGetIdentityLinksWithAssignee.

public void testGetIdentityLinksWithAssignee() {
    Task task = taskService.newTask();
    taskService.saveTask(task);
    String taskId = task.getId();
    identityService.saveUser(identityService.newUser("kermit"));
    taskService.claim(taskId, "kermit");
    List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(taskId);
    assertEquals(1, identityLinks.size());
    assertEquals("kermit", identityLinks.get(0).getUserId());
    assertNull(identityLinks.get(0).getGroupId());
    assertEquals(IdentityLinkType.ASSIGNEE, identityLinks.get(0).getType());
    //cleanup
    taskService.deleteTask(taskId, true);
    identityService.deleteUser("kermit");
}
Also used : Task(org.activiti.engine.task.Task) IdentityLink(org.activiti.engine.task.IdentityLink)

Example 24 with IdentityLink

use of org.activiti.engine.task.IdentityLink in project Activiti by Activiti.

the class RestResponseFactory method createRestIdentityLinks.

public List<RestIdentityLink> createRestIdentityLinks(List<IdentityLink> links) {
    RestUrlBuilder urlBuilder = createUrlBuilder();
    List<RestIdentityLink> responseList = new ArrayList<RestIdentityLink>();
    for (IdentityLink instance : links) {
        responseList.add(createRestIdentityLink(instance, urlBuilder));
    }
    return responseList;
}
Also used : RestIdentityLink(org.activiti.rest.service.api.engine.RestIdentityLink) ArrayList(java.util.ArrayList) IdentityLink(org.activiti.engine.task.IdentityLink) HistoricIdentityLink(org.activiti.engine.history.HistoricIdentityLink) RestIdentityLink(org.activiti.rest.service.api.engine.RestIdentityLink)

Example 25 with IdentityLink

use of org.activiti.engine.task.IdentityLink in project Activiti by Activiti.

the class IdentityLinkEventsTest method testTaskIdentityLinks.

/**
	 * Check identity links on process instances. 
	 */
@Deployment(resources = { "org/activiti/engine/test/api/runtime/oneTaskProcess.bpmn20.xml" })
public void testTaskIdentityLinks() throws Exception {
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess");
    Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();
    assertNotNull(task);
    // Add identity link
    taskService.addCandidateUser(task.getId(), "kermit");
    taskService.addCandidateGroup(task.getId(), "sales");
    // Three events are received, since the user link on the task also creates an involvment in the process
    assertEquals(6, listener.getEventsReceived().size());
    ActivitiEntityEvent event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
    assertTrue(event.getEntity() instanceof IdentityLink);
    IdentityLink link = (IdentityLink) event.getEntity();
    assertEquals("kermit", link.getUserId());
    assertEquals("candidate", link.getType());
    assertEquals(task.getId(), link.getTaskId());
    assertEquals(task.getExecutionId(), event.getExecutionId());
    assertEquals(task.getProcessDefinitionId(), event.getProcessDefinitionId());
    assertEquals(task.getProcessInstanceId(), event.getProcessInstanceId());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
    assertEquals("kermit", link.getUserId());
    assertEquals("candidate", link.getType());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(4);
    assertEquals(ActivitiEventType.ENTITY_CREATED, event.getType());
    assertTrue(event.getEntity() instanceof IdentityLink);
    link = (IdentityLink) event.getEntity();
    assertEquals("sales", link.getGroupId());
    assertEquals("candidate", link.getType());
    assertEquals(task.getId(), link.getTaskId());
    assertEquals(task.getExecutionId(), event.getExecutionId());
    assertEquals(task.getProcessDefinitionId(), event.getProcessDefinitionId());
    assertEquals(task.getProcessInstanceId(), event.getProcessInstanceId());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(5);
    assertEquals(ActivitiEventType.ENTITY_INITIALIZED, event.getType());
    assertEquals("sales", link.getGroupId());
    assertEquals("candidate", link.getType());
    listener.clearEventsReceived();
    // Deleting process should delete identity link
    runtimeService.deleteProcessInstance(processInstance.getId(), "test");
    assertEquals(3, listener.getEventsReceived().size());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(0);
    assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(1);
    assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
    event = (ActivitiEntityEvent) listener.getEventsReceived().get(2);
    assertEquals(ActivitiEventType.ENTITY_DELETED, event.getType());
}
Also used : Task(org.activiti.engine.task.Task) ActivitiEntityEvent(org.activiti.engine.delegate.event.ActivitiEntityEvent) ProcessInstance(org.activiti.engine.runtime.ProcessInstance) IdentityLink(org.activiti.engine.task.IdentityLink) Deployment(org.activiti.engine.test.Deployment)

Aggregations

IdentityLink (org.activiti.engine.task.IdentityLink)45 Deployment (org.activiti.engine.test.Deployment)21 Task (org.activiti.engine.task.Task)15 RestIdentityLink (org.activiti.rest.service.api.engine.RestIdentityLink)8 ProcessDefinition (org.activiti.engine.repository.ProcessDefinition)7 ProcessInstance (org.activiti.engine.runtime.ProcessInstance)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)5 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)4 ArrayList (java.util.ArrayList)3 List (java.util.List)3 ActivitiObjectNotFoundException (org.activiti.engine.ActivitiObjectNotFoundException)3 TaskService (org.activiti.engine.TaskService)3 ActivitiEntityEvent (org.activiti.engine.delegate.event.ActivitiEntityEvent)3 OperationResult (com.evolveum.midpoint.schema.result.OperationResult)2 ObjectNotFoundException (com.evolveum.midpoint.util.exception.ObjectNotFoundException)2 SystemException (com.evolveum.midpoint.util.exception.SystemException)2 Event (org.activiti.engine.task.Event)2 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)2 PolyString (com.evolveum.midpoint.prism.polystring.PolyString)1 ObjectTypeUtil.toShortString (com.evolveum.midpoint.schema.util.ObjectTypeUtil.toShortString)1