protected void deleteProcessDefinitions(DeleteProcessDefinitionsBuilder builder, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings) { if (skipCustomListeners) { builder = builder.skipCustomListeners(); } if (cascade) { builder = builder.cascade(); } if (skipIoMappings) { builder = builder.skipIoMappings(); } try { builder.delete(); } catch (NotFoundException e) { // rewrite status code from bad request (400) to not found (404) throw new InvalidRequestException(Status.NOT_FOUND, e.getMessage()); } }
@Override public void deleteProcessDefinition(String processDefinitionId, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings) { DeleteProcessDefinitionsBuilder builder = deleteProcessDefinitions().byIds(processDefinitionId); if (cascade) { builder.cascade(); } if (skipCustomListeners) { builder.skipCustomListeners(); } if (skipIoMappings) { builder.skipIoMappings(); } builder.delete(); }
@Override public void deleteProcessDefinition(String processDefinitionId, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings) { DeleteProcessDefinitionsBuilder builder = deleteProcessDefinitions().byIds(processDefinitionId); if (cascade) { builder.cascade(); } if (skipCustomListeners) { builder.skipCustomListeners(); } if (skipIoMappings) { builder.skipIoMappings(); } builder.delete(); }
protected void deleteProcessDefinitions(DeleteProcessDefinitionsBuilder builder, boolean cascade, boolean skipCustomListeners, boolean skipIoMappings) { if (skipCustomListeners) { builder = builder.skipCustomListeners(); } if (cascade) { builder = builder.cascade(); } if (skipIoMappings) { builder = builder.skipIoMappings(); } try { builder.delete(); } catch (NotFoundException e) { // rewrite status code from bad request (400) to not found (404) throw new InvalidRequestException(Status.NOT_FOUND, e.getMessage()); } }
public void testDeleteProcessDefinitionsByIdsCascading() { // given for (int i = 0; i < 3; i++) { deploymentId = repositoryService.createDeployment() .addClasspathResource(PROCESS_PATH) .deploy().getId(); deploymentIds.add(deploymentId); } // when repositoryService.deleteProcessDefinitions() .byIds(findProcessDefinitionIdsByKey(PROCESS_KEY)) .cascade() .delete(); // then assertUserOperationLogs(); }
@Test public void testDeleteProcessDefinitionsByKeyWithCustomListenersSkipped() { // given IncrementCounterListener.counter = 0; for (int i = 0; i < 3; i++) { deployTwoProcessDefinitions(); } runtimeService.startProcessInstanceByKey("processOne"); // when repositoryService.deleteProcessDefinitions() .byKey("processOne") .withoutTenantId() .cascade() .skipCustomListeners() .delete(); // then assertThat(IncrementCounterListener.counter, is(0)); }
@Test public void testDeleteProcessDefinitionsByIdsWithCustomListenersSkipped() { // given IncrementCounterListener.counter = 0; for (int i = 0; i < 3; i++) { deployTwoProcessDefinitions(); } String[] processDefinitionIds = findProcessDefinitionIdsByKey("processOne"); runtimeService.startProcessInstanceByKey("processOne"); // when repositoryService.deleteProcessDefinitions() .byIds(processDefinitionIds) .cascade() .skipCustomListeners() .delete(); // then assertThat(IncrementCounterListener.counter, is(0)); }
@Test public void testDeleteProcessDefinitionsByKeyCascading() { // given for (int i = 0; i < 3; i++) { deployTwoProcessDefinitions(); } Map<String, Object> variables = new HashMap<String, Object>(); for (int i = 0; i < 3; i++) { variables.put("varName" + i, "varValue"); } for (int i = 0; i < 3; i++) { runtimeService.startProcessInstanceByKey("processOne", variables); runtimeService.startProcessInstanceByKey("processTwo", variables); } // when repositoryService.deleteProcessDefinitions() .byKey("processOne") .withoutTenantId() .cascade() .delete(); repositoryService.deleteProcessDefinitions() .byKey("processTwo") .withoutTenantId() .cascade() .delete(); // then assertThat(historyService.createHistoricVariableInstanceQuery().count(), is(0L)); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(0L)); }
public void testDeleteProcessDefinitionsByKeyCascading() { // given for (int i = 0; i < 3; i++) { deploymentId = repositoryService.createDeployment() .addClasspathResource(PROCESS_PATH) .deploy().getId(); deploymentIds.add(deploymentId); } // when repositoryService.deleteProcessDefinitions() .byKey(PROCESS_KEY) .withoutTenantId() .cascade() .delete(); // then assertUserOperationLogs(); }
@Test public void testDeleteDefinitionsByKeySkipCustomListenersAndCascade() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .queryParam("cascade", true) .queryParam("skipCustomListeners", true) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .skipCustomListeners() .cascade(); verify(builder).delete(); }
@Test public void testDeleteDefinitionsByKeyCascadeWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .queryParam("cascade", true) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID) .cascade(); verify(builder).delete(); }
@Test public void testDeleteProcessDefinitionsByKeyWithIoMappingsSkipped() { // given testHelper.deploy(IO_MAPPING_PROCESS); runtimeService.startProcessInstanceByKey(IO_MAPPING_PROCESS_KEY); testHelper.deploy(IO_MAPPING_PROCESS); runtimeService.startProcessInstanceByKey(IO_MAPPING_PROCESS_KEY); // when repositoryService.deleteProcessDefinitions() .byKey(IO_MAPPING_PROCESS_KEY) .withoutTenantId() .cascade() .skipIoMappings() .delete(); List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); // then assertThat(processDefinitions.size(), is(0)); }
@Test public void testDeleteCascadeProcessDefinitionsByIdsWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } String[] processDefinitionIds = findProcessDefinitionIdsByKey("process"); runtimeService.startProcessInstanceByKey("process"); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byIds(processDefinitionIds) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteProcessDefinitionsByIdsWithIoMappingsSkipped() { // given testHelper.deploy(IO_MAPPING_PROCESS); runtimeService.startProcessInstanceByKey(IO_MAPPING_PROCESS_KEY); testHelper.deploy(IO_MAPPING_PROCESS); runtimeService.startProcessInstanceByKey(IO_MAPPING_PROCESS_KEY); String[] processDefinitionIds = findProcessDefinitionIdsByKey(IO_MAPPING_PROCESS_KEY); // when repositoryService.deleteProcessDefinitions() .byIds(processDefinitionIds) .cascade() .skipIoMappings() .delete(); List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); // then assertThat(processDefinitions.size(), is(0)); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyWithAuthenticatedTenant() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } runtimeService.startProcessInstanceByKey("process"); identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteDefinitionsByKeySkipCustomListenersAndCascadeWithTenantId() { given() .pathParam("key", MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .queryParam("skipCustomListeners", true) .queryParam("cascade", true) .pathParam("tenant-id", MockProvider.EXAMPLE_TENANT_ID) .expect() .statusCode(Status.NO_CONTENT.getStatusCode()) .when() .delete(SINGLE_PROCESS_DEFINITION_BY_KEY_AND_TENANT_ID_DELETE_URL); DeleteProcessDefinitionsBuilder builder = repositoryServiceMock.deleteProcessDefinitions() .byKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY) .withTenantId(MockProvider.EXAMPLE_TENANT_ID) .skipCustomListeners() .cascade(); verify(builder).delete(); }
@Test public void testDeleteCascadeProcessDefinitionsByKeyDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); runtimeService.startProcessInstanceByKey("process"); // when repositoryService.deleteProcessDefinitions() .byKey("process") .withTenantId(TENANT_ONE) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteCascadeProcessDefinitionsByIdsDisabledTenantCheck() { // given for (int i = 0; i < 3; i++) { deployProcessDefinitionWithTenant(); } String[] processDefinitionIds = findProcessDefinitionIdsByKey("process"); processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); runtimeService.startProcessInstanceByKey("process"); // when repositoryService.deleteProcessDefinitions() .byIds(processDefinitionIds) .cascade() .delete(); // then identityService.clearAuthentication(); assertThat(historyService.createHistoricProcessInstanceQuery().count(), is(0L)); assertThat(repositoryService.createProcessDefinitionQuery().count(), is(1L)); assertThat(repositoryService.createProcessDefinitionQuery().tenantIdIn(TENANT_ONE).count(), is(1L)); }
@Test public void testDeleteProcessDefinitionsByKeyCascade() { // given for (int i = 0; i < 3; i++) { deployProcessDefinition(); } runtimeService.createProcessInstanceByKey(PROCESS_DEFINITION_KEY); authRule.init(scenario) .withUser("userId") .start(); // when repositoryService.deleteProcessDefinitions() .byKey(PROCESS_DEFINITION_KEY) .withoutTenantId() .cascade() .delete(); // then if (authRule.assertScenario(scenario)) { assertEquals(0, runtimeService.createProcessInstanceQuery().count()); assertEquals(0, repositoryService.createProcessDefinitionQuery().count()); if (processEngineConfiguration.getHistoryLevel().getId() >= HistoryLevel.HISTORY_LEVEL_ACTIVITY.getId()) { assertEquals(0, historyService.createHistoricActivityInstanceQuery().count()); } } }
@Test public void testDeleteProcessDefinitionsByIdsCascade() { // given for (int i = 0; i < 3; i++) { deployProcessDefinition(); } String[] processDefinitionIds = findProcessDefinitionIdsByKey(PROCESS_DEFINITION_KEY); runtimeService.createProcessInstanceByKey(PROCESS_DEFINITION_KEY); authRule.init(scenario) .withUser("userId") .start(); // when repositoryService.deleteProcessDefinitions() .byIds(processDefinitionIds) .cascade() .delete(); // then if (authRule.assertScenario(scenario)) { assertEquals(0, runtimeService.createProcessInstanceQuery().count()); assertEquals(0, repositoryService.createProcessDefinitionQuery().count()); if (processEngineConfiguration.getHistoryLevel().getId() >= HistoryLevel.HISTORY_LEVEL_ACTIVITY.getId()) { assertEquals(0, historyService.createHistoricActivityInstanceQuery().count()); } } }