protected List<String> collectHistoricDecisionInstanceIds() { Set<String> collectedDecisionInstanceIds = new HashSet<String>(); List<String> decisionInstanceIds = getHistoricDecisionInstanceIds(); if (decisionInstanceIds != null) { collectedDecisionInstanceIds.addAll(decisionInstanceIds); } final HistoricDecisionInstanceQueryImpl decisionInstanceQuery = (HistoricDecisionInstanceQueryImpl) historicDecisionInstanceQuery; if (decisionInstanceQuery != null) { for (HistoricDecisionInstance hdi : decisionInstanceQuery.list()) { collectedDecisionInstanceIds.add(hdi.getId()); } } return new ArrayList<String>(collectedDecisionInstanceIds); }
protected List<String> collectHistoricDecisionInstanceIds() { Set<String> collectedDecisionInstanceIds = new HashSet<String>(); List<String> decisionInstanceIds = getHistoricDecisionInstanceIds(); if (decisionInstanceIds != null) { collectedDecisionInstanceIds.addAll(decisionInstanceIds); } final HistoricDecisionInstanceQueryImpl decisionInstanceQuery = (HistoricDecisionInstanceQueryImpl) historicDecisionInstanceQuery; if (decisionInstanceQuery != null) { for (HistoricDecisionInstance hdi : decisionInstanceQuery.list()) { collectedDecisionInstanceIds.add(hdi.getId()); } } return new ArrayList<String>(collectedDecisionInstanceIds); }
private List<String> extractIds(List<HistoricDecisionInstance> historicDecisionInstances) { List<String> decisionInstanceIds = new ArrayList<String>(); for (HistoricDecisionInstance historicDecisionInstance: historicDecisionInstances) { decisionInstanceIds.add(historicDecisionInstance.getId()); } return decisionInstanceIds; }
public void enrichHistoricDecisionsWithInputsAndOutputs(HistoricDecisionInstanceQueryImpl query, List<HistoricDecisionInstance> decisionInstances) { Map<String, HistoricDecisionInstanceEntity> decisionInstancesById = new HashMap<String, HistoricDecisionInstanceEntity>(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstancesById.put(decisionInstance.getId(), (HistoricDecisionInstanceEntity) decisionInstance); } if (!decisionInstances.isEmpty() && query.isIncludeInput()) { appendHistoricDecisionInputInstances(decisionInstancesById, query); } if(!decisionInstances.isEmpty() && query.isIncludeOutputs()) { appendHistoricDecisionOutputInstances(decisionInstancesById, query); } }
public void enrichHistoricDecisionsWithInputsAndOutputs(HistoricDecisionInstanceQueryImpl query, List<HistoricDecisionInstance> decisionInstances) { Map<String, HistoricDecisionInstanceEntity> decisionInstancesById = new HashMap<String, HistoricDecisionInstanceEntity>(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstancesById.put(decisionInstance.getId(), (HistoricDecisionInstanceEntity) decisionInstance); } if (!decisionInstances.isEmpty() && query.isIncludeInput()) { appendHistoricDecisionInputInstances(decisionInstancesById, query); } if(!decisionInstances.isEmpty() && query.isIncludeOutputs()) { appendHistoricDecisionOutputInstances(decisionInstancesById, query); } }
@Override public void checkDeleteHistoricDecisionInstance(HistoricDecisionInstance decisionInstance) { if (decisionInstance != null && !getTenantManager().isAuthenticatedTenant(decisionInstance.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant( "delete the historic decision instance '" + decisionInstance.getId() + "'" ); } }
@Override public void checkDeleteHistoricDecisionInstance(HistoricDecisionInstance decisionInstance) { if (decisionInstance != null && !getTenantManager().isAuthenticatedTenant(decisionInstance.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant( "delete the historic decision instance '" + decisionInstance.getId() + "'" ); } }
private List<String> prepareHistoricDecisions() { for (int i = 0; i < 5; i++) { decisionService.evaluateDecisionByKey(DECISION).variables(createVariables()).evaluate(); } final List<HistoricDecisionInstance> decisionInstances = historyService.createHistoricDecisionInstanceQuery().list(); final List<String> decisionInstanceIds = new ArrayList<String>(); for (HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); } return decisionInstanceIds; }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionInputInstanceProperties() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeInputs().singleResult(); List<HistoricDecisionInputInstance> inputs = historicDecisionInstance.getInputs(); assertThat(inputs, is(notNullValue())); assertThat(inputs.size(), is(1)); HistoricDecisionInputInstance input = inputs.get(0); assertThat(input.getDecisionInstanceId(), is(historicDecisionInstance.getId())); assertThat(input.getClauseId(), is("in")); assertThat(input.getClauseName(), is("input")); }
@After public void cleanUp() { List<HistoricDecisionInstance> historicDecisionInstances = historyService.createHistoricDecisionInstanceQuery().list(); for (HistoricDecisionInstance historicDecisionInstance : historicDecisionInstances) { historyService.deleteHistoricDecisionInstanceByInstanceId(historicDecisionInstance.getId()); } }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByDecisionInstanceIds() { ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision(); ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision(); String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId(); String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.decisionInstanceIdIn(decisionInstanceId1).count(), is(1L)); assertThat(query.decisionInstanceIdIn(decisionInstanceId2).count(), is(1L)); assertThat(query.decisionInstanceIdIn(decisionInstanceId1, decisionInstanceId2).count(), is(2L)); }
@Deployment(resources = { DRG_DMN }) public void testQueryByRootDecisionInstanceId() { decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue("temperature", 21).putValue("dayType", "Weekend")) .evaluate(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.count(), is(3L)); String rootDecisionInstanceId = query.decisionDefinitionKey(DISH_DECISION).singleResult().getId(); String requiredDecisionInstanceId1 = query.decisionDefinitionKey("season").singleResult().getId(); String requiredDecisionInstanceId2 = query.decisionDefinitionKey("guestCount").singleResult().getId(); query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.rootDecisionInstanceId(rootDecisionInstanceId).count(), is(3L)); assertThat(query.rootDecisionInstanceId(requiredDecisionInstanceId1).count(), is(0L)); assertThat(query.rootDecisionInstanceId(requiredDecisionInstanceId2).count(), is(0L)); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQueryByDecisionInstanceId() { ProcessInstance pi1 = startProcessInstanceAndEvaluateDecision(); ProcessInstance pi2 = startProcessInstanceAndEvaluateDecision(); String decisionInstanceId1 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi1.getId()).singleResult().getId(); String decisionInstanceId2 = historyService.createHistoricDecisionInstanceQuery().processInstanceId(pi2.getId()).singleResult().getId(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); assertThat(query.decisionInstanceId(decisionInstanceId1).count(), is(1L)); assertThat(query.decisionInstanceId(decisionInstanceId2).count(), is(1L)); assertThat(query.decisionInstanceId("unknown").count(), is(0L)); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDeleteHistoricDecisionInstanceByInstanceId() { // given startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY); assertThat(query.count(), is(1L)); HistoricDecisionInstance historicDecisionInstance = query.includeInputs().includeOutputs().singleResult(); // when historyService.deleteHistoricDecisionInstanceByInstanceId(historicDecisionInstance.getId()); // then assertThat(query.count(), is(0L)); }
@Test public void deleteHistoricDecisionInstanceByInstanceIdWithAuthenticatedTenant() { // given testRule.deployForTenant(TENANT_ONE, DMN); evaluateDecisionTable(null); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); HistoricDecisionInstance historicDecisionInstance = query.includeInputs().includeOutputs().singleResult(); // when identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); historyService.deleteHistoricDecisionInstanceByInstanceId(historicDecisionInstance.getId()); // then identityService.clearAuthentication(); assertThat(query.count(), is(0L)); }
@Before public void evaluateDecisionInstances() { testRule.deploy("org/camunda/bpm/engine/test/api/dmn/Example.dmn"); VariableMap variables = Variables.createVariables() .putValue("status", "silver") .putValue("sum", 723); for (int i = 0; i < 10; i++) { decisionService.evaluateDecisionByKey(DECISION).variables(variables).evaluate(); } List<HistoricDecisionInstance> decisionInstances = historyService.createHistoricDecisionInstanceQuery().list(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); } }
@Before public void executeDecisionInstances() { testRule.deploy("org/camunda/bpm/engine/test/api/dmn/Example.dmn"); VariableMap variables = Variables.createVariables() .putValue("status", "silver") .putValue("sum", 723); for (int i = 0; i < 10; i++) { decisionService.evaluateDecisionByKey(DECISION).variables(variables).evaluate(); } List<HistoricDecisionInstance> decisionInstances = historyService.createHistoricDecisionInstanceQuery().list(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); } }
@Before public void executeDecisionInstances() { testRule.deploy("org/camunda/bpm/engine/test/api/dmn/Example.dmn"); VariableMap variables = Variables.createVariables() .putValue("status", "silver") .putValue("sum", 723); for (int i = 0; i < 10; i++) { decisionService.evaluateDecisionByKey(DECISION).variables(variables).evaluate(); } List<HistoricDecisionInstance> decisionInstances = historyService.createHistoricDecisionInstanceQuery().list(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); } }
public void testDeleteHistoricDecisionInstanceByInstanceIdWithoutAuthorization() { // given createGrantAuthorization(DECISION_DEFINITION, DECISION_DEFINITION_KEY, userId, READ_HISTORY); startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); HistoricDecisionInstance historicDecisionInstance = query.includeInputs().includeOutputs().singleResult(); try { // when historyService.deleteHistoricDecisionInstanceByInstanceId(historicDecisionInstance.getId()); fail("expect authorization exception"); } catch (AuthorizationException e) { // then assertThat(e.getMessage(), is("The user with id 'test' does not have 'DELETE_HISTORY' permission on resource 'testDecision' of type 'DecisionDefinition'.")); } }
public void testDeleteHistoricDecisionInstanceByInstanceIdWithDeleteHistoryPermissionOnDecisionDefinition() { // given createGrantAuthorization(DECISION_DEFINITION, DECISION_DEFINITION_KEY, userId, DELETE_HISTORY, READ_HISTORY); startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery(); verifyQueryResults(query, 1); HistoricDecisionInstance historicDecisionInstance = query.includeInputs().includeOutputs().singleResult(); // when historyService.deleteHistoricDecisionInstanceByInstanceId(historicDecisionInstance.getId()); // then verifyQueryResults(query, 0); }