protected Set<String> findDeploymentIdsForProcessDefinitions(CommandContext commandContext, Set<String> processDefinitionKeys) { Set<String> deploymentsToRegister = new HashSet<String>(); if (!processDefinitionKeys.isEmpty()) { String[] keys = processDefinitionKeys.toArray(new String[processDefinitionKeys.size()]); ProcessDefinitionManager processDefinitionManager = commandContext.getProcessDefinitionManager(); List<ProcessDefinition> previousDefinitions = processDefinitionManager.findProcessDefinitionsByKeyIn(keys); for (ProcessDefinition definition : previousDefinitions) { deploymentsToRegister.add(definition.getDeploymentId()); } } return deploymentsToRegister; }
protected Set<String> findDeploymentIdsForProcessDefinitions(CommandContext commandContext, Set<String> processDefinitionKeys) { Set<String> deploymentsToRegister = new HashSet<String>(); if (!processDefinitionKeys.isEmpty()) { String[] keys = processDefinitionKeys.toArray(new String[processDefinitionKeys.size()]); ProcessDefinitionManager processDefinitionManager = commandContext.getProcessDefinitionManager(); List<ProcessDefinition> previousDefinitions = processDefinitionManager.findProcessDefinitionsByKeyIn(keys); for (ProcessDefinition definition : previousDefinitions) { deploymentsToRegister.add(definition.getDeploymentId()); } } return deploymentsToRegister; }
public static String getApplicationPathByProcessDefinitionId(ProcessEngine engine, String processDefinitionId) { ProcessDefinition processDefinition = engine.getRepositoryService().getProcessDefinition(processDefinitionId); if (processDefinition == null) { return null; } return getApplicationPathForDeployment(engine, processDefinition.getDeploymentId()); }
public static String getApplicationPathByProcessDefinitionId(ProcessEngine engine, String processDefinitionId) { ProcessDefinition processDefinition = engine.getRepositoryService().getProcessDefinition(processDefinitionId); if (processDefinition == null) { return null; } return getApplicationPathForDeployment(engine, processDefinition.getDeploymentId()); }
public static HalProcessDefinition fromProcessDefinition(ProcessDefinition processDefinition, ProcessEngine processEngine) { HalProcessDefinition halProcDef = new HalProcessDefinition(); halProcDef.id = processDefinition.getId(); halProcDef.key = processDefinition.getKey(); halProcDef.category = processDefinition.getCategory(); halProcDef.description = processDefinition.getDescription(); halProcDef.name = processDefinition.getName(); halProcDef.version = processDefinition.getVersion(); halProcDef.resource = processDefinition.getResourceName(); halProcDef.deploymentId = processDefinition.getDeploymentId(); halProcDef.diagram = processDefinition.getDiagramResourceName(); halProcDef.suspended = processDefinition.isSuspended(); halProcDef.contextPath = ApplicationContextPathUtil.getApplicationPathForDeployment(processEngine, processDefinition.getDeploymentId()); halProcDef.linker.createLink(REL_SELF, processDefinition.getId()); halProcDef.linker.createLink(REL_DEPLOYMENT, processDefinition.getDeploymentId()); halProcDef.linker.createLink(REL_DEPLOYMENT_RESOURCE, processDefinition.getDeploymentId(), processDefinition.getResourceName()); return halProcDef; }
public static HalProcessDefinition fromProcessDefinition(ProcessDefinition processDefinition, ProcessEngine processEngine) { HalProcessDefinition halProcDef = new HalProcessDefinition(); halProcDef.id = processDefinition.getId(); halProcDef.key = processDefinition.getKey(); halProcDef.category = processDefinition.getCategory(); halProcDef.description = processDefinition.getDescription(); halProcDef.name = processDefinition.getName(); halProcDef.version = processDefinition.getVersion(); halProcDef.resource = processDefinition.getResourceName(); halProcDef.deploymentId = processDefinition.getDeploymentId(); halProcDef.diagram = processDefinition.getDiagramResourceName(); halProcDef.suspended = processDefinition.isSuspended(); halProcDef.contextPath = ApplicationContextPathUtil.getApplicationPathForDeployment(processEngine, processDefinition.getDeploymentId()); halProcDef.linker.createLink(REL_SELF, processDefinition.getId()); halProcDef.linker.createLink(REL_DEPLOYMENT, processDefinition.getDeploymentId()); halProcDef.linker.createLink(REL_DEPLOYMENT_RESOURCE, processDefinition.getDeploymentId(), processDefinition.getResourceName()); return halProcDef; }
public ProcessDefinition build() { ProcessDefinition mockDefinition = mock(ProcessDefinition.class); when(mockDefinition.getId()).thenReturn(id); when(mockDefinition.getCategory()).thenReturn(category); when(mockDefinition.getName()).thenReturn(name); when(mockDefinition.getKey()).thenReturn(key); when(mockDefinition.getDescription()).thenReturn(description); when(mockDefinition.getVersion()).thenReturn(version); when(mockDefinition.getResourceName()).thenReturn(resource); when(mockDefinition.getDeploymentId()).thenReturn(deploymentId); when(mockDefinition.getDiagramResourceName()).thenReturn(diagram); when(mockDefinition.isSuspended()).thenReturn(suspended); when(mockDefinition.hasStartFormKey()).thenReturn(startFormKey); when(mockDefinition.getTenantId()).thenReturn(tenantId); when(mockDefinition.getVersionTag()).thenReturn(versionTag); when(mockDefinition.isStartableInTasklist()).thenReturn(isStartableInTasklist); return mockDefinition; } }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" }) public void testDeleteDeploymentCascadeWithRunningInstances() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertEquals(1, processDefinitions.size()); ProcessDefinition processDefinition = processDefinitions.get(0); runtimeService.startProcessInstanceById(processDefinition.getId()); // Try to delete the deployment, no exception should be thrown repositoryService.deleteDeployment(processDefinition.getDeploymentId(), true); }
public ProcessInstanceSnapshotBuilder deploymentId() { String deploymentId = processEngine.getRepositoryService().getProcessDefinition(snapshot.getProcessDefinitionId()).getDeploymentId(); snapshot.setDeploymentId(deploymentId); return this; }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml" }) public void testDeleteDeploymentWithRunningInstances() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertEquals(1, processDefinitions.size()); ProcessDefinition processDefinition = processDefinitions.get(0); runtimeService.startProcessInstanceById(processDefinition.getId()); // Try to delete the deployment try { repositoryService.deleteDeployment(processDefinition.getDeploymentId()); fail("Exception expected"); } catch (ProcessEngineException pee) { // Exception expected when deleting deployment with running process assert(pee.getMessage().contains("Deletion of process definition without cascading failed.")); } }
public static ProcessDefinitionDto fromProcessDefinition(ProcessDefinition definition) { ProcessDefinitionDto dto = new ProcessDefinitionDto(); dto.id = definition.getId(); dto.key = definition.getKey(); dto.category = definition.getCategory(); dto.description = definition.getDescription(); dto.name = definition.getName(); dto.version = definition.getVersion(); dto.resource = definition.getResourceName(); dto.deploymentId = definition.getDeploymentId(); dto.diagram = definition.getDiagramResourceName(); dto.suspended = definition.isSuspended(); dto.tenantId = definition.getTenantId(); dto.versionTag = definition.getVersionTag(); dto.historyTimeToLive = definition.getHistoryTimeToLive(); dto.isStartableInTasklist = definition.isStartableInTasklist(); return dto; }
public static ProcessDefinitionDto fromProcessDefinition(ProcessDefinition definition) { ProcessDefinitionDto dto = new ProcessDefinitionDto(); dto.id = definition.getId(); dto.key = definition.getKey(); dto.category = definition.getCategory(); dto.description = definition.getDescription(); dto.name = definition.getName(); dto.version = definition.getVersion(); dto.resource = definition.getResourceName(); dto.deploymentId = definition.getDeploymentId(); dto.diagram = definition.getDiagramResourceName(); dto.suspended = definition.isSuspended(); dto.tenantId = definition.getTenantId(); dto.versionTag = definition.getVersionTag(); dto.historyTimeToLive = definition.getHistoryTimeToLive(); dto.isStartableInTasklist = definition.isStartableInTasklist(); return dto; }
protected void assertProcessDeployed(String processKey, String expectedDeploymentName) { ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() .latestVersion() .processDefinitionKey(processKey) .singleResult(); DeploymentQuery deploymentQuery = repositoryService .createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()); Assert.assertEquals(expectedDeploymentName, deploymentQuery.singleResult().getName()); }
protected void assertProcessDeployed(String processKey, String expectedDeploymentName) { ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() .latestVersion() .processDefinitionKey(processKey) .singleResult(); DeploymentQuery deploymentQuery = repositoryService .createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()); Assert.assertEquals(expectedDeploymentName, deploymentQuery.singleResult().getName()); }
protected void assertProcessDeployed(String processKey, String expectedDeploymentName) { ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() .latestVersion() .processDefinitionKey(processKey) .singleResult(); DeploymentQuery deploymentQuery = repositoryService .createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()); Assert.assertEquals(expectedDeploymentName, deploymentQuery.singleResult().getName()); }
protected void assertProcessDeployed(String processKey, String expectedDeploymentName) { ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() .latestVersion() .processDefinitionKey(processKey) .singleResult(); DeploymentQuery deploymentQuery = repositoryService .createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()); Assert.assertEquals(expectedDeploymentName, deploymentQuery.singleResult().getName()); }
protected void assertProcessDeployed(String processKey, String expectedDeploymentName) { ProcessDefinition processDefinition = repositoryService .createProcessDefinitionQuery() .latestVersion() .processDefinitionKey(processKey) .singleResult(); DeploymentQuery deploymentQuery = repositoryService .createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()); Assert.assertEquals(expectedDeploymentName, deploymentQuery.singleResult().getName()); }
@Test public void testDeployProcessArchive() { Assert.assertNotNull(processEngine); RepositoryService repositoryService = processEngine.getRepositoryService(); List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery() .processDefinitionKey("testDeployProcessArchive") .list(); Assert.assertEquals(1, processDefinitions.size()); org.camunda.bpm.engine.repository.Deployment deployment = repositoryService.createDeploymentQuery() .deploymentId(processDefinitions.get(0).getDeploymentId()) .singleResult(); Set<String> registeredProcessApplications = BpmPlatform.getProcessApplicationService().getProcessApplicationNames(); boolean containsProcessApplication = false; // the process application name is used as name for the db deployment for (String appName : registeredProcessApplications) { if (appName.equals(deployment.getName())) { containsProcessApplication = true; } } assertTrue(containsProcessApplication); // manually delete process definition here (to clean up) repositoryService.deleteDeployment(deployment.getId(), true); }
@Test public void testDeployProcessArchive() { assertNotNull(processEngine); RepositoryService repositoryService = processEngine.getRepositoryService(); ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery() .processDefinitionKey("invoice-it"); assertEquals(1, processDefinitionQuery.count()); ProcessDefinition processDefinition = processDefinitionQuery.singleResult(); String deploymentId = repositoryService.createDeploymentQuery() .deploymentId(processDefinition.getDeploymentId()) .singleResult() .getId(); List<Resource> deploymentResources = repositoryService.getDeploymentResources(deploymentId); assertEquals(3, deploymentResources.size()); }
@Deployment(resources = PARALLEL_GATEWAY_PROCESS) public void testTheDeploymentIdIsSet() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("parallelGateway"); String processDefinitionId = processInstance.getProcessDefinitionId(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); ActivityInstance tree = runtimeService.getActivityInstance(processInstance.getId()); Batch modificationBatch = runtimeService .createProcessInstanceModification(processInstance.getId()) .cancelActivityInstance(getInstanceIdForActivity(tree, "task1")) .executeAsync(); assertNotNull(modificationBatch); Job job = managementService.createJobQuery().jobDefinitionId(modificationBatch.getSeedJobDefinitionId()).singleResult(); // seed job managementService.executeJob(job.getId()); for (Job pending : managementService.createJobQuery().jobDefinitionId(modificationBatch.getBatchJobDefinitionId()).list()) { managementService.executeJob(pending.getId()); assertEquals(processDefinition.getDeploymentId(), pending.getDeploymentId()); } }