public static HistoricDecisionOutputInstance createMockHistoricDecisionOutput(TypedValue typedValue) { HistoricDecisionOutputInstance output = mock(HistoricDecisionOutputInstance.class); when(output.getId()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_ID); when(output.getDecisionInstanceId()).thenReturn(EXAMPLE_HISTORIC_DECISION_INSTANCE_ID); when(output.getClauseId()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_CLAUSE_ID); when(output.getClauseName()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_CLAUSE_NAME); when(output.getRuleId()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_RULE_ID); when(output.getRuleOrder()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_RULE_ORDER); when(output.getVariableName()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_VARIABLE_NAME); when(output.getTypedValue()).thenReturn(typedValue); when(output.getErrorMessage()).thenReturn(null); when(output.getCreateTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_CREATE_TIME)); when(output.getRemovalTime()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_HISTORIC_DECISION_OUTPUT_INSTANCE_REMOVAL_TIME)); when(output.getRootProcessInstanceId()).thenReturn(EXAMPLE_HISTORIC_DECISION_OUTPUT_ROOT_PROCESS_INSTANCE_ID); return output; }
@Test @Deployment(resources = {DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN}) public void decisionOutputInstanceProperties() { // given start process and evaluate decision VariableMap variables = Variables.createVariables(); variables.put("input1", null); runtimeService.startProcessInstanceByKey("testProcess", variables); // when List<HistoricDecisionInstance> decisionInstances = optimizeService.getHistoricDecisionInstances(pastDate(), null, 10); // then assertThat(decisionInstances.size(), is(1)); HistoricDecisionInstance decisionInstance = decisionInstances.get(0); List<HistoricDecisionOutputInstance> outputs = decisionInstance.getOutputs(); assertThat(outputs, is(notNullValue())); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getDecisionInstanceId(), is(decisionInstance.getId())); assertThat(output.getClauseId(), is("out")); assertThat(output.getClauseName(), is("output")); assertThat(output.getRuleId(), is("rule")); assertThat(output.getRuleOrder(), is(1)); assertThat(output.getVariableName(), is("result")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_COMPOUND_OUTPUT_DMN }) public void testCompoundDecisionOutputInstances() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(2)); HistoricDecisionOutputInstance firstOutput = outputs.get(0); assertThat(firstOutput.getClauseId(), is("out1")); assertThat(firstOutput.getRuleId(), is("rule1")); assertThat(firstOutput.getRuleOrder(), is(1)); assertThat(firstOutput.getVariableName(), is("result1")); assertThat(firstOutput.getValue(), is((Object) "okay")); HistoricDecisionOutputInstance secondOutput = outputs.get(1); assertThat(secondOutput.getClauseId(), is("out2")); assertThat(secondOutput.getRuleId(), is("rule1")); assertThat(secondOutput.getRuleOrder(), is(1)); assertThat(secondOutput.getVariableName(), is("result2")); assertThat(secondOutput.getValue(), is((Object) "not okay")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_MULTIPLE_OUTPUT_DMN }) public void testMultipleDecisionOutputInstances() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(2)); HistoricDecisionOutputInstance firstOutput = outputs.get(0); assertThat(firstOutput.getClauseId(), is("out1")); assertThat(firstOutput.getRuleId(), is("rule1")); assertThat(firstOutput.getRuleOrder(), is(1)); assertThat(firstOutput.getVariableName(), is("result1")); assertThat(firstOutput.getValue(), is((Object) "okay")); HistoricDecisionOutputInstance secondOutput = outputs.get(1); assertThat(secondOutput.getClauseId(), is("out1")); assertThat(secondOutput.getRuleId(), is("rule2")); assertThat(secondOutput.getRuleOrder(), is(2)); assertThat(secondOutput.getVariableName(), is("result1")); assertThat(secondOutput.getValue(), is((Object) "not okay")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionOutputInstanceProperties() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs, is(notNullValue())); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getDecisionInstanceId(), is(historicDecisionInstance.getId())); assertThat(output.getClauseId(), is("out")); assertThat(output.getClauseName(), is("output")); assertThat(output.getRuleId(), is("rule")); assertThat(output.getRuleOrder(), is(1)); assertThat(output.getVariableName(), is("result")); }
@Deployment(resources = DECISION_LITERAL_EXPRESSION_DMN) public void testDecisionInstancePropertiesOfDecisionLiteralExpression() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); decisionService.evaluateDecisionByKey("decision") .variables(Variables.createVariables().putValue("sum", 2205)) .evaluate(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeInputs().includeOutputs(); assertThat(query.count(), is(1L)); HistoricDecisionInstance historicDecisionInstance = query.singleResult(); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinition.getId())); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is("decision")); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("Decision with Literal Expression")); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); assertThat(historicDecisionInstance.getInputs().size(), is(0)); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getVariableName(), is("result")); assertThat(output.getTypeName(), is("string")); assertThat((String) output.getValue(), is("ok")); assertThat(output.getClauseId(), is(nullValue())); assertThat(output.getClauseName(), is(nullValue())); assertThat(output.getRuleId(), is(nullValue())); assertThat(output.getRuleOrder(), is(nullValue())); }
public static HistoricDecisionOutputInstanceDto fromHistoricDecisionOutputInstance(HistoricDecisionOutputInstance historicDecisionOutputInstance) { HistoricDecisionOutputInstanceDto dto = new HistoricDecisionOutputInstanceDto(); dto.id = historicDecisionOutputInstance.getId(); dto.decisionInstanceId = historicDecisionOutputInstance.getDecisionInstanceId(); dto.clauseId = historicDecisionOutputInstance.getClauseId(); dto.clauseName = historicDecisionOutputInstance.getClauseName(); dto.ruleId = historicDecisionOutputInstance.getRuleId(); dto.ruleOrder = historicDecisionOutputInstance.getRuleOrder(); dto.variableName = historicDecisionOutputInstance.getVariableName(); dto.createTime = historicDecisionOutputInstance.getCreateTime(); dto.removalTime = historicDecisionOutputInstance.getRemovalTime(); dto.rootProcessInstanceId = historicDecisionOutputInstance.getRootProcessInstanceId(); if(historicDecisionOutputInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, historicDecisionOutputInstance.getTypedValue()); } else { dto.errorMessage = historicDecisionOutputInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(historicDecisionOutputInstance.getTypeName()); } return dto; }
public static HistoricDecisionOutputInstanceDto fromHistoricDecisionOutputInstance(HistoricDecisionOutputInstance historicDecisionOutputInstance) { HistoricDecisionOutputInstanceDto dto = new HistoricDecisionOutputInstanceDto(); dto.id = historicDecisionOutputInstance.getId(); dto.decisionInstanceId = historicDecisionOutputInstance.getDecisionInstanceId(); dto.clauseId = historicDecisionOutputInstance.getClauseId(); dto.clauseName = historicDecisionOutputInstance.getClauseName(); dto.ruleId = historicDecisionOutputInstance.getRuleId(); dto.ruleOrder = historicDecisionOutputInstance.getRuleOrder(); dto.variableName = historicDecisionOutputInstance.getVariableName(); dto.createTime = historicDecisionOutputInstance.getCreateTime(); dto.removalTime = historicDecisionOutputInstance.getRemovalTime(); dto.rootProcessInstanceId = historicDecisionOutputInstance.getRootProcessInstanceId(); if(historicDecisionOutputInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, historicDecisionOutputInstance.getTypedValue()); } else { dto.errorMessage = historicDecisionOutputInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(historicDecisionOutputInstance.getTypeName()); } return dto; }
@Test @Deployment(resources = {DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN}) public void decisionOutputInstanceProperties() { // given start process and evaluate decision VariableMap variables = Variables.createVariables(); variables.put("input1", null); runtimeService.startProcessInstanceByKey("testProcess", variables); // when List<HistoricDecisionInstance> decisionInstances = optimizeService.getHistoricDecisionInstances(pastDate(), null, 10); // then assertThat(decisionInstances.size(), is(1)); HistoricDecisionInstance decisionInstance = decisionInstances.get(0); List<HistoricDecisionOutputInstance> outputs = decisionInstance.getOutputs(); assertThat(outputs, is(notNullValue())); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getDecisionInstanceId(), is(decisionInstance.getId())); assertThat(output.getClauseId(), is("out")); assertThat(output.getClauseName(), is("output")); assertThat(output.getRuleId(), is("rule")); assertThat(output.getRuleOrder(), is(1)); assertThat(output.getVariableName(), is("result")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionOutputInstanceProperties() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs, is(notNullValue())); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getDecisionInstanceId(), is(historicDecisionInstance.getId())); assertThat(output.getClauseId(), is("out")); assertThat(output.getClauseName(), is("output")); assertThat(output.getRuleId(), is("rule")); assertThat(output.getRuleOrder(), is(1)); assertThat(output.getVariableName(), is("result")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_MULTIPLE_OUTPUT_DMN }) public void testMultipleDecisionOutputInstances() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(2)); HistoricDecisionOutputInstance firstOutput = outputs.get(0); assertThat(firstOutput.getClauseId(), is("out1")); assertThat(firstOutput.getRuleId(), is("rule1")); assertThat(firstOutput.getRuleOrder(), is(1)); assertThat(firstOutput.getVariableName(), is("result1")); assertThat(firstOutput.getValue(), is((Object) "okay")); HistoricDecisionOutputInstance secondOutput = outputs.get(1); assertThat(secondOutput.getClauseId(), is("out1")); assertThat(secondOutput.getRuleId(), is("rule2")); assertThat(secondOutput.getRuleOrder(), is(2)); assertThat(secondOutput.getVariableName(), is("result1")); assertThat(secondOutput.getValue(), is((Object) "not okay")); }
@Deployment(resources = { DECISION_PROCESS, DECISION_COMPOUND_OUTPUT_DMN }) public void testCompoundDecisionOutputInstances() { startProcessInstanceAndEvaluateDecision(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().includeOutputs().singleResult(); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(2)); HistoricDecisionOutputInstance firstOutput = outputs.get(0); assertThat(firstOutput.getClauseId(), is("out1")); assertThat(firstOutput.getRuleId(), is("rule1")); assertThat(firstOutput.getRuleOrder(), is(1)); assertThat(firstOutput.getVariableName(), is("result1")); assertThat(firstOutput.getValue(), is((Object) "okay")); HistoricDecisionOutputInstance secondOutput = outputs.get(1); assertThat(secondOutput.getClauseId(), is("out2")); assertThat(secondOutput.getRuleId(), is("rule1")); assertThat(secondOutput.getRuleOrder(), is(1)); assertThat(secondOutput.getVariableName(), is("result2")); assertThat(secondOutput.getValue(), is((Object) "not okay")); }
@Deployment(resources = DECISION_LITERAL_EXPRESSION_DMN) public void testDecisionInstancePropertiesOfDecisionLiteralExpression() { DecisionDefinition decisionDefinition = repositoryService.createDecisionDefinitionQuery().singleResult(); decisionService.evaluateDecisionByKey("decision") .variables(Variables.createVariables().putValue("sum", 2205)) .evaluate(); HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().includeInputs().includeOutputs(); assertThat(query.count(), is(1L)); HistoricDecisionInstance historicDecisionInstance = query.singleResult(); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinition.getId())); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is("decision")); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("Decision with Literal Expression")); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); assertThat(historicDecisionInstance.getInputs().size(), is(0)); List<HistoricDecisionOutputInstance> outputs = historicDecisionInstance.getOutputs(); assertThat(outputs.size(), is(1)); HistoricDecisionOutputInstance output = outputs.get(0); assertThat(output.getVariableName(), is("result")); assertThat(output.getTypeName(), is("string")); assertThat((String) output.getValue(), is("ok")); assertThat(output.getClauseId(), is(nullValue())); assertThat(output.getClauseName(), is(nullValue())); assertThat(output.getRuleId(), is(nullValue())); assertThat(output.getRuleOrder(), is(nullValue())); }
public static HistoricDecisionOutputInstanceDto fromHistoricDecisionOutputInstance(HistoricDecisionOutputInstance historicDecisionOutputInstance) { HistoricDecisionOutputInstanceDto dto = new HistoricDecisionOutputInstanceDto(); dto.id = historicDecisionOutputInstance.getId(); dto.decisionInstanceId = historicDecisionOutputInstance.getDecisionInstanceId(); dto.clauseId = historicDecisionOutputInstance.getClauseId(); dto.clauseName = historicDecisionOutputInstance.getClauseName(); dto.ruleId = historicDecisionOutputInstance.getRuleId(); dto.ruleOrder = historicDecisionOutputInstance.getRuleOrder(); dto.variableName = historicDecisionOutputInstance.getVariableName(); dto.createTime = historicDecisionOutputInstance.getCreateTime(); dto.removalTime = historicDecisionOutputInstance.getRemovalTime(); dto.rootProcessInstanceId = historicDecisionOutputInstance.getRootProcessInstanceId(); if(historicDecisionOutputInstance.getErrorMessage() == null) { VariableValueDto.fromTypedValue(dto, historicDecisionOutputInstance.getTypedValue()); } else { dto.errorMessage = historicDecisionOutputInstance.getErrorMessage(); dto.type = VariableValueDto.toRestApiTypeName(historicDecisionOutputInstance.getTypeName()); } return dto; }