Ejemplo n.º 1
0
 public virtual void checkCreateCaseInstance(CaseDefinition caseDefinition)
 {
     if (!TenantManager.isAuthenticatedTenant(caseDefinition.TenantId))
     {
         throw LOG.exceptionCommandWithUnauthorizedTenant("create an instance of the case definition '" + caseDefinition.Id + "'");
     }
 }
Ejemplo n.º 2
0
 public virtual void checkUpdateCaseDefinition(CaseDefinition caseDefinition)
 {
     if (caseDefinition != null && !TenantManager.isAuthenticatedTenant(caseDefinition.TenantId))
     {
         throw LOG.exceptionCommandWithUnauthorizedTenant("update the case definition '" + caseDefinition.Id + "'");
     }
 }
Ejemplo n.º 3
0
        public static string getApplicationPathByCaseDefinitionId(ProcessEngine engine, string caseDefinitionId)
        {
            CaseDefinition caseDefinition = engine.RepositoryService.getCaseDefinition(caseDefinitionId);

            if (caseDefinition == null)
            {
                return(null);
            }

            return(getApplicationPathForDeployment(engine, caseDefinition.DeploymentId));
        }
Ejemplo n.º 4
0
        public virtual void testCreateCaseInstanceByIdAuthenticatedTenant()
        {
            deploymentForTenant(TENANT_ONE, CMMN_FILE);

            CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().singleResult();

            identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE));

            caseService.withCaseDefinition(caseDefinition.Id).create();

            CaseInstanceQuery query = caseService.createCaseInstanceQuery();

            assertThat(query.count(), @is(1L));
            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));
        }
Ejemplo n.º 5
0
        public static CaseDefinitionDto fromCaseDefinition(CaseDefinition definition)
        {
            CaseDefinitionDto dto = new CaseDefinitionDto();

            dto.id                = definition.Id;
            dto.key               = definition.Key;
            dto.category          = definition.Category;
            dto.name              = definition.Name;
            dto.version           = definition.Version;
            dto.resource          = definition.ResourceName;
            dto.deploymentId      = definition.DeploymentId;
            dto.tenantId          = definition.TenantId;
            dto.historyTimeToLive = definition.HistoryTimeToLive;

            return(dto);
        }
Ejemplo n.º 6
0
        public virtual CaseDefinition build()
        {
            CaseDefinition mockDefinition = mock(typeof(CaseDefinition));

            when(mockDefinition.Id).thenReturn(id_Renamed);
            when(mockDefinition.Category).thenReturn(category_Renamed);
            when(mockDefinition.Name).thenReturn(name_Renamed);
            when(mockDefinition.Key).thenReturn(key_Renamed);
            when(mockDefinition.Version).thenReturn(version_Renamed);
            when(mockDefinition.ResourceName).thenReturn(resource_Renamed);
            when(mockDefinition.DiagramResourceName).thenReturn(diagramResource);
            when(mockDefinition.DeploymentId).thenReturn(deploymentId_Renamed);
            when(mockDefinition.TenantId).thenReturn(tenantId_Renamed);

            return(mockDefinition);
        }
Ejemplo n.º 7
0
        public virtual void testFailToCreateCaseInstanceByIdWithTenantId()
        {
            deploymentForTenant(TENANT_ONE, CMMN_FILE);

            CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().singleResult();

            try
            {
                caseService.withCaseDefinition(caseDefinition.Id).caseDefinitionTenantId(TENANT_ONE).create();
                fail("BadUserRequestException exception");
            }
            catch (BadUserRequestException e)
            {
                assertThat(e.Message, containsString("Cannot specify a tenant-id"));
            }
        }
Ejemplo n.º 8
0
        public virtual void testStartCaseInstanceWithLatestBindingDifferentVersion()
        {
            deploymentForTenant(TENANT_ONE, CMMN_LATEST_WITH_MANUAL_ACTIVATION, CMMN_CASE);

            deploymentForTenant(TENANT_TWO, CMMN_LATEST_WITH_MANUAL_ACTIVATION, CMMN_CASE);
            deploymentForTenant(TENANT_TWO, CMMN_CASE);

            createCaseInstance("caseTaskCase", TENANT_ONE);
            createCaseInstance("caseTaskCase", TENANT_TWO);

            CaseInstanceQuery query = caseService.createCaseInstanceQuery().caseDefinitionKey("oneTaskCase");

            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));

            CaseDefinition latestCaseDefinitionTenantTwo = repositoryService.createCaseDefinitionQuery().caseDefinitionKey("oneTaskCase").tenantIdIn(TENANT_TWO).latestVersion().singleResult();

            query = caseService.createCaseInstanceQuery().caseDefinitionId(latestCaseDefinitionTenantTwo.Id);
            assertThat(query.count(), @is(1L));
        }
Ejemplo n.º 9
0
        public static HalCaseDefinition fromCaseDefinition(CaseDefinition caseDefinition, ProcessEngine processEngine)
        {
            HalCaseDefinition halCaseDefinition = new HalCaseDefinition();

            halCaseDefinition.id           = caseDefinition.Id;
            halCaseDefinition.key          = caseDefinition.Key;
            halCaseDefinition.category     = caseDefinition.Category;
            halCaseDefinition.name         = caseDefinition.Name;
            halCaseDefinition.version      = caseDefinition.Version;
            halCaseDefinition.resource     = caseDefinition.ResourceName;
            halCaseDefinition.deploymentId = caseDefinition.DeploymentId;
            halCaseDefinition.contextPath  = ApplicationContextPathUtil.getApplicationPathForDeployment(processEngine, caseDefinition.DeploymentId);

            halCaseDefinition.linker.createLink(REL_SELF, caseDefinition.Id);
            halCaseDefinition.linker.createLink(REL_DEPLOYMENT, caseDefinition.DeploymentId);
            halCaseDefinition.linker.createLink(REL_DEPLOYMENT_RESOURCE, caseDefinition.DeploymentId, caseDefinition.ResourceName);

            return(halCaseDefinition);
        }
Ejemplo n.º 10
0
        public virtual void testFailToCreateCaseInstanceByIdNoAuthenticatedTenants()
        {
            deploymentForTenant(TENANT_ONE, CMMN_FILE);

            CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().singleResult();

            identityService.setAuthentication("user", null, null);

            try
            {
                caseService.withCaseDefinition(caseDefinition.Id).create();

                fail("expected exception");
            }
            catch (ProcessEngineException e)
            {
                assertThat(e.Message, containsString("Cannot create an instance of the case definition"));
            }
        }
Ejemplo n.º 11
0
        public virtual void testStartCaseInstanceWithLatestBindingDifferentVersion()
        {
            BpmnModelInstance callingProcess = Bpmn.createExecutableProcess("callingProcess").startEvent().callActivity().camundaCaseRef("Case_1").camundaCaseBinding("latest").endEvent().done();

            deploymentForTenant(TENANT_ONE, CMMN, callingProcess);

            deploymentForTenant(TENANT_TWO, CMMN, callingProcess);
            deploymentForTenant(TENANT_TWO, CMMN);

            runtimeService.createProcessInstanceByKey("callingProcess").processDefinitionTenantId(TENANT_ONE).execute();
            runtimeService.createProcessInstanceByKey("callingProcess").processDefinitionTenantId(TENANT_TWO).execute();

            CaseInstanceQuery query = caseService.createCaseInstanceQuery().caseDefinitionKey("Case_1");

            assertThat(query.tenantIdIn(TENANT_ONE).count(), @is(1L));

            CaseDefinition latestCaseDefinitionTenantTwo = repositoryService.createCaseDefinitionQuery().tenantIdIn(TENANT_TWO).latestVersion().singleResult();

            query = caseService.createCaseInstanceQuery().caseDefinitionId(latestCaseDefinitionTenantTwo.Id);
            assertThat(query.count(), @is(1L));
        }
Ejemplo n.º 12
0
        protected internal virtual void createCaseInstance(string caseDefinitionKey)
        {
            CaseDefinition caseDefinition = repositoryService.createCaseDefinitionQuery().caseDefinitionKey(caseDefinitionKey).latestVersion().singleResult();

            caseService.createCaseInstanceById(caseDefinition.Id);
        }
Ejemplo n.º 13
0
 public TenantIdProviderCaseInstanceContext(CaseDefinition caseDefinition, VariableMap variables, DelegateCaseExecution superCaseExecution) : this(caseDefinition, variables)
 {
     this.superCaseExecution = superCaseExecution;
 }
Ejemplo n.º 14
0
 public TenantIdProviderCaseInstanceContext(CaseDefinition caseDefinition, VariableMap variables)
 {
     this.caseDefinition = caseDefinition;
     this.variables      = variables;
 }
Ejemplo n.º 15
0
 public virtual void checkCreateCaseInstance(CaseDefinition caseDefinition)
 {
     // no authorization check for CMMN
 }
Ejemplo n.º 16
0
 public virtual void checkUpdateCaseDefinition(CaseDefinition caseDefinition)
 {
 }
Ejemplo n.º 17
0
 public virtual void checkReadCaseDefinition(CaseDefinition caseDefinition)
 {
 }