Search in sources :

Example 1 with CaseRoleAssignment

use of org.kie.server.api.model.cases.CaseRoleAssignment in project droolsjbpm-integration by kiegroup.

the class CaseManagementServiceBase method getRoleAssignment.

public CaseRoleAssignmentList getRoleAssignment(String containerId, String caseId) {
    verifyContainerId(containerId, caseId);
    Collection<CaseRoleInstance> caseRoleInstances = caseService.getCaseRoleAssignments(caseId);
    logger.debug("Roles assignments for case {} are {}", caseId, caseRoleInstances);
    List<CaseRoleAssignment> caseRoles = ConvertUtils.transformRoleAssignment(caseRoleInstances);
    CaseRoleAssignmentList caseRolesList = new CaseRoleAssignmentList(caseRoles);
    return caseRolesList;
}
Also used : CaseRoleAssignment(org.kie.server.api.model.cases.CaseRoleAssignment) CaseRoleAssignmentList(org.kie.server.api.model.cases.CaseRoleAssignmentList) CaseRoleInstance(org.jbpm.casemgmt.api.model.instance.CaseRoleInstance)

Example 2 with CaseRoleAssignment

use of org.kie.server.api.model.cases.CaseRoleAssignment in project droolsjbpm-integration by kiegroup.

the class CaseRuntimeDataServiceIntegrationTest method testGetCaseInstanceCarInsuranceClaimCaseWithData.

@Test
public void testGetCaseInstanceCarInsuranceClaimCaseWithData() {
    String caseId = startCarInsuranceClaimCase(USER_YODA, USER_JOHN, USER_YODA);
    CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId, true, true, true, true);
    assertCarInsuranceCaseInstance(caseInstance, caseId, USER_YODA);
    KieServerAssert.assertNullOrEmpty("Milestones should be empty.", caseInstance.getMilestones());
    // Assert case file
    assertNotNull(caseInstance.getCaseFile());
    assertEquals("first case started", caseInstance.getCaseFile().getData().get("s"));
    // Assert role assignments
    assertNotNull(caseInstance.getRoleAssignments());
    assertEquals(4, caseInstance.getRoleAssignments().size());
    CaseRoleAssignment ownerRole = caseInstance.getRoleAssignments().get(0);
    assertEquals("owner", ownerRole.getName());
    assertEquals(1, ownerRole.getUsers().size());
    assertEquals(USER_YODA, ownerRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", ownerRole.getGroups());
    CaseRoleAssignment insuredRole = caseInstance.getRoleAssignments().get(1);
    assertEquals("insured", insuredRole.getName());
    assertEquals(1, insuredRole.getUsers().size());
    assertEquals(USER_YODA, insuredRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", insuredRole.getGroups());
    CaseRoleAssignment assessorRole = caseInstance.getRoleAssignments().get(2);
    assertEquals("assessor", assessorRole.getName());
    assertEquals(USER_YODA, assessorRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", assessorRole.getGroups());
    CaseRoleAssignment insuranceRepresentativeRole = caseInstance.getRoleAssignments().get(3);
    assertEquals("insuranceRepresentative", insuranceRepresentativeRole.getName());
    assertEquals(1, insuranceRepresentativeRole.getUsers().size());
    assertEquals(USER_JOHN, insuranceRepresentativeRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", insuranceRepresentativeRole.getGroups());
    // Assert stages
    assertNotNull(caseInstance.getStages());
    assertEquals(1, caseInstance.getStages().size());
    CaseStage stage = caseInstance.getStages().get(0);
    assertNotNull(stage.getIdentifier());
    assertEquals("Build claim report", stage.getName());
    assertEquals("Active", stage.getStatus());
    List<NodeInstance> activeNodes = stage.getActiveNodes();
    assertEquals(1, activeNodes.size());
    assertEquals("Provide accident information", activeNodes.get(0).getName());
    assertEquals("HumanTaskNode", activeNodes.get(0).getNodeType());
    assertEquals(2, stage.getAdHocFragments().size());
}
Also used : CaseInstance(org.kie.server.api.model.cases.CaseInstance) CaseRoleAssignment(org.kie.server.api.model.cases.CaseRoleAssignment) CaseStage(org.kie.server.api.model.cases.CaseStage) NodeInstance(org.kie.server.api.model.instance.NodeInstance) JbpmKieServerBaseIntegrationTest(org.kie.server.integrationtests.jbpm.JbpmKieServerBaseIntegrationTest) Test(org.junit.Test)

Example 3 with CaseRoleAssignment

use of org.kie.server.api.model.cases.CaseRoleAssignment in project droolsjbpm-integration by kiegroup.

the class CaseRuntimeDataServiceIntegrationTest method testCreateDifferentTypesCases.

@Test
public void testCreateDifferentTypesCases() {
    String caseId = startUserTaskCase(USER_YODA, USER_JOHN);
    String caseClaimId = startCarInsuranceClaimCase(USER_JOHN, USER_YODA, USER_YODA);
    assertNotNull(caseId);
    assertTrue(caseId.startsWith(CASE_HR_ID_PREFIX));
    assertNotNull(caseClaimId);
    assertTrue(caseClaimId.startsWith(CLAIM_CASE_ID_PREFIX));
    List<CaseInstance> caseInstances = caseClient.getCaseInstancesByContainer(CONTAINER_ID, Arrays.asList(CaseStatus.OPEN.getName()), 0, 10);
    assertEquals(2, caseInstances.size());
    List<String> caseDefs = caseInstances.stream().map(c -> c.getCaseDefinitionId()).collect(toList());
    assertTrue(caseDefs.contains(CASE_HR_DEF_ID));
    assertTrue(caseDefs.contains(CLAIM_CASE_DEF_ID));
    caseInstances = caseClient.getCaseInstancesByDefinition(CONTAINER_ID, CLAIM_CASE_DEF_ID, Arrays.asList(CaseStatus.OPEN.getName()), 0, 10);
    assertEquals(1, caseInstances.size());
    List<CaseStage> stages = caseClient.getStages(CONTAINER_ID, caseClaimId, true, 0, 10);
    assertEquals(1, stages.size());
    CaseStage caseStage = stages.get(0);
    assertEquals("Build claim report", caseStage.getName());
    assertEquals(2, caseStage.getAdHocFragments().size());
    List<CaseRoleAssignment> roles = caseClient.getRoleAssignments(CONTAINER_ID, caseClaimId);
    assertEquals(4, roles.size());
    Map<String, CaseRoleAssignment> mappedRoles = roles.stream().collect(toMap(CaseRoleAssignment::getName, r -> r));
    assertTrue(mappedRoles.containsKey(CASE_OWNER_ROLE));
    assertTrue(mappedRoles.containsKey(CASE_INSURED_ROLE));
    assertTrue(mappedRoles.containsKey(CASE_INS_REP_ROLE));
    assertTrue(mappedRoles.containsKey(CASE_ASSESSOR_ROLE));
    CaseRoleAssignment ownerRole = mappedRoles.get(CASE_OWNER_ROLE);
    assertTrue(ownerRole.getUsers().contains(USER_YODA));
    KieServerAssert.assertNullOrEmpty("Groups should be empty", ownerRole.getGroups());
    CaseRoleAssignment insuredRole = mappedRoles.get(CASE_INSURED_ROLE);
    assertTrue(insuredRole.getUsers().contains(USER_JOHN));
    KieServerAssert.assertNullOrEmpty("Groups should be empty", insuredRole.getGroups());
    CaseRoleAssignment insRepRole = mappedRoles.get(CASE_INS_REP_ROLE);
    assertTrue(insRepRole.getUsers().contains(USER_YODA));
    KieServerAssert.assertNullOrEmpty("Groups should be empty", insRepRole.getGroups());
    CaseRoleAssignment assessorRole = mappedRoles.get(CASE_ASSESSOR_ROLE);
    assertTrue(assessorRole.getUsers().contains(USER_YODA));
    KieServerAssert.assertNullOrEmpty("Groups should be empty", assessorRole.getGroups());
    caseClient.assignUserToRole(CONTAINER_ID, caseClaimId, CASE_ASSESSOR_ROLE, USER_MARY);
    caseClient.assignGroupToRole(CONTAINER_ID, caseClaimId, CASE_ASSESSOR_ROLE, "managers");
    roles = caseClient.getRoleAssignments(CONTAINER_ID, caseClaimId);
    assertEquals(4, roles.size());
    mappedRoles = roles.stream().collect(toMap(CaseRoleAssignment::getName, r -> r));
    assessorRole = mappedRoles.get(CASE_ASSESSOR_ROLE);
    assertTrue(assessorRole.getUsers().contains(USER_MARY));
    assertTrue(assessorRole.getGroups().contains("managers"));
    caseClient.removeUserFromRole(CONTAINER_ID, caseClaimId, CASE_ASSESSOR_ROLE, USER_MARY);
    caseClient.removeUserFromRole(CONTAINER_ID, caseClaimId, CASE_ASSESSOR_ROLE, USER_YODA);
    caseClient.removeGroupFromRole(CONTAINER_ID, caseClaimId, CASE_ASSESSOR_ROLE, "managers");
    roles = caseClient.getRoleAssignments(CONTAINER_ID, caseClaimId);
    assertEquals(4, roles.size());
    mappedRoles = roles.stream().collect(toMap(CaseRoleAssignment::getName, r -> r));
    assessorRole = mappedRoles.get(CASE_ASSESSOR_ROLE);
    KieServerAssert.assertNullOrEmpty("Users should be empty", assessorRole.getUsers());
    KieServerAssert.assertNullOrEmpty("Groups should be empty", assessorRole.getGroups());
}
Also used : Arrays(java.util.Arrays) ProcessInstance(org.kie.server.api.model.instance.ProcessInstance) BiFunction(java.util.function.BiFunction) ProcessDefinition(org.kie.server.api.model.definition.ProcessDefinition) Reserved(org.kie.api.task.model.Status.Reserved) CaseInstance(org.kie.server.api.model.cases.CaseInstance) Collectors.toMap(java.util.stream.Collectors.toMap) Map(java.util.Map) After(org.junit.After) Assertions(org.assertj.core.api.Assertions) CaseServicesClient(org.kie.server.client.CaseServicesClient) Assert.fail(org.junit.Assert.fail) Ready(org.kie.api.task.model.Status.Ready) TaskSummary(org.kie.server.api.model.instance.TaskSummary) NodeInstance(org.kie.server.api.model.instance.NodeInstance) Collection(java.util.Collection) CaseComment(org.kie.server.api.model.cases.CaseComment) Collectors(java.util.stream.Collectors) CaseRoleAssignment(org.kie.server.api.model.cases.CaseRoleAssignment) List(java.util.List) CaseFileDataItem(org.kie.server.api.model.cases.CaseFileDataItem) CaseAdHocFragment(org.kie.server.api.model.cases.CaseAdHocFragment) CaseDefinition(org.kie.server.api.model.cases.CaseDefinition) Assert.assertFalse(org.junit.Assert.assertFalse) Status(org.kie.api.task.model.Status) JbpmKieServerBaseIntegrationTest(org.kie.server.integrationtests.jbpm.JbpmKieServerBaseIntegrationTest) KieServicesException(org.kie.server.api.exception.KieServicesException) BeforeClass(org.junit.BeforeClass) STATE_ACTIVE(org.kie.api.runtime.process.ProcessInstance.STATE_ACTIVE) CaseStage(org.kie.server.api.model.cases.CaseStage) HashMap(java.util.HashMap) Function(java.util.function.Function) CaseFile(org.kie.server.api.model.cases.CaseFile) ArrayList(java.util.ArrayList) KieServerAssert(org.kie.server.integrationtests.shared.KieServerAssert) KieServices(org.kie.api.KieServices) Assume(org.junit.Assume) STATE_ABORTED(org.kie.api.runtime.process.ProcessInstance.STATE_ABORTED) CaseMilestone(org.kie.server.api.model.cases.CaseMilestone) Iterator(java.util.Iterator) Assert.assertNotNull(org.junit.Assert.assertNotNull) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) KieServerDeployer(org.kie.server.integrationtests.shared.KieServerDeployer) TestConfig(org.kie.server.integrationtests.config.TestConfig) Assert.assertNotEquals(org.junit.Assert.assertNotEquals) STATE_COMPLETED(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED) Collectors.toList(java.util.stream.Collectors.toList) Assert.assertNull(org.junit.Assert.assertNull) CaseStatus(org.jbpm.casemgmt.api.model.CaseStatus) ReleaseId(org.kie.server.api.model.ReleaseId) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) CaseInstance(org.kie.server.api.model.cases.CaseInstance) CaseRoleAssignment(org.kie.server.api.model.cases.CaseRoleAssignment) CaseStage(org.kie.server.api.model.cases.CaseStage) JbpmKieServerBaseIntegrationTest(org.kie.server.integrationtests.jbpm.JbpmKieServerBaseIntegrationTest) Test(org.junit.Test)

Example 4 with CaseRoleAssignment

use of org.kie.server.api.model.cases.CaseRoleAssignment in project droolsjbpm-integration by kiegroup.

the class CaseRuntimeDataServiceIntegrationTest method testGetCaseInstanceUserTaskCaseWithData.

@Test
public void testGetCaseInstanceUserTaskCaseWithData() {
    String caseId = startUserTaskCase(USER_YODA, USER_JOHN);
    caseClient.triggerAdHocFragment(CONTAINER_ID, caseId, "Milestone1", null);
    CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId, true, true, true, true);
    assertHrCaseInstance(caseInstance, caseId, USER_YODA);
    KieServerAssert.assertNullOrEmpty("Stages should be empty.", caseInstance.getStages());
    // Assert case file
    assertNotNull(caseInstance.getCaseFile());
    assertEquals("first case started", caseInstance.getCaseFile().getData().get("s"));
    // Assert role assignments
    assertNotNull(caseInstance.getRoleAssignments());
    assertEquals(3, caseInstance.getRoleAssignments().size());
    CaseRoleAssignment ownerRole = caseInstance.getRoleAssignments().get(0);
    assertEquals("owner", ownerRole.getName());
    assertEquals(1, ownerRole.getUsers().size());
    assertEquals(USER_YODA, ownerRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", ownerRole.getGroups());
    CaseRoleAssignment contactRole = caseInstance.getRoleAssignments().get(1);
    assertEquals("contact", contactRole.getName());
    assertEquals(1, contactRole.getUsers().size());
    assertEquals(USER_JOHN, contactRole.getUsers().get(0));
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", contactRole.getGroups());
    CaseRoleAssignment participantRole = caseInstance.getRoleAssignments().get(2);
    assertEquals("participant", participantRole.getName());
    KieServerAssert.assertNullOrEmpty("Users should be empty.", participantRole.getUsers());
    KieServerAssert.assertNullOrEmpty("Groups should be empty.", participantRole.getGroups());
    // Assert milestones
    assertNotNull(caseInstance.getMilestones());
    assertEquals(2, caseInstance.getMilestones().size());
    CaseMilestone milestone = caseInstance.getMilestones().get(0);
    assertNotNull(milestone.getIdentifier());
    assertEquals("Milestone2", milestone.getName());
    assertEquals("Available", milestone.getStatus());
    assertNull(milestone.getAchievedAt());
    assertFalse(milestone.isAchieved());
    milestone = caseInstance.getMilestones().get(1);
    assertEquals("2", milestone.getIdentifier());
    assertEquals("Milestone1", milestone.getName());
    assertEquals("Completed", milestone.getStatus());
    assertNotNull(milestone.getAchievedAt());
    assertTrue(milestone.isAchieved());
}
Also used : CaseInstance(org.kie.server.api.model.cases.CaseInstance) CaseRoleAssignment(org.kie.server.api.model.cases.CaseRoleAssignment) CaseMilestone(org.kie.server.api.model.cases.CaseMilestone) JbpmKieServerBaseIntegrationTest(org.kie.server.integrationtests.jbpm.JbpmKieServerBaseIntegrationTest) Test(org.junit.Test)

Aggregations

CaseRoleAssignment (org.kie.server.api.model.cases.CaseRoleAssignment)4 Test (org.junit.Test)3 CaseInstance (org.kie.server.api.model.cases.CaseInstance)3 JbpmKieServerBaseIntegrationTest (org.kie.server.integrationtests.jbpm.JbpmKieServerBaseIntegrationTest)3 CaseStage (org.kie.server.api.model.cases.CaseStage)2 NodeInstance (org.kie.server.api.model.instance.NodeInstance)2 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 List (java.util.List)1 Map (java.util.Map)1 BiFunction (java.util.function.BiFunction)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 Collectors.toList (java.util.stream.Collectors.toList)1 Collectors.toMap (java.util.stream.Collectors.toMap)1 Assertions (org.assertj.core.api.Assertions)1