public List<HistoricDecisionInstanceDto> queryHistoricDecisionInstances(HistoricDecisionInstanceQueryDto queryDto, Integer firstResult, Integer maxResults) { HistoricDecisionInstanceQuery query = queryDto.toQuery(processEngine); List<HistoricDecisionInstance> matchingHistoricDecisionInstances; if (firstResult != null || maxResults != null) { matchingHistoricDecisionInstances = executePaginatedQuery(query, firstResult, maxResults); } else { matchingHistoricDecisionInstances = query.list(); } List<HistoricDecisionInstanceDto> historicDecisionInstanceDtoResults = new ArrayList<HistoricDecisionInstanceDto>(); for (HistoricDecisionInstance historicDecisionInstance : matchingHistoricDecisionInstances) { HistoricDecisionInstanceDto resultHistoricDecisionInstanceDto = HistoricDecisionInstanceDto.fromHistoricDecisionInstance(historicDecisionInstance); historicDecisionInstanceDtoResults.add(resultHistoricDecisionInstanceDto); } return historicDecisionInstanceDtoResults; }
public List<HistoricDecisionInstanceDto> queryHistoricDecisionInstances(HistoricDecisionInstanceQueryDto queryDto, Integer firstResult, Integer maxResults) { HistoricDecisionInstanceQuery query = queryDto.toQuery(processEngine); List<HistoricDecisionInstance> matchingHistoricDecisionInstances; if (firstResult != null || maxResults != null) { matchingHistoricDecisionInstances = executePaginatedQuery(query, firstResult, maxResults); } else { matchingHistoricDecisionInstances = query.list(); } List<HistoricDecisionInstanceDto> historicDecisionInstanceDtoResults = new ArrayList<HistoricDecisionInstanceDto>(); for (HistoricDecisionInstance historicDecisionInstance : matchingHistoricDecisionInstances) { HistoricDecisionInstanceDto resultHistoricDecisionInstanceDto = HistoricDecisionInstanceDto.fromHistoricDecisionInstance(historicDecisionInstance); historicDecisionInstanceDtoResults.add(resultHistoricDecisionInstanceDto); } return historicDecisionInstanceDtoResults; }
protected HistoricDecisionInstanceQuery setUpMockHistoricDecisionInstanceQuery(List<HistoricDecisionInstance> mockedHistoricDecisionInstances) { HistoricDecisionInstanceQuery mockedHistoricDecisionInstanceQuery = mock(HistoricDecisionInstanceQuery.class); when(mockedHistoricDecisionInstanceQuery.list()).thenReturn(mockedHistoricDecisionInstances); when(mockedHistoricDecisionInstanceQuery.count()).thenReturn((long) mockedHistoricDecisionInstances.size()); when(processEngine.getHistoryService().createHistoricDecisionInstanceQuery()).thenReturn(mockedHistoricDecisionInstanceQuery); return mockedHistoricDecisionInstanceQuery; }
@Test public void testNoParametersQuery() { expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); verify(mockedQuery).list(); verifyNoMoreInteractions(mockedQuery); }
public void testQuerySortingAsc() { List<HistoricDecisionInstance> historicDecisionInstances = historyService.createHistoricDecisionInstanceQuery() .orderByTenantId() .asc() .list(); assertThat(historicDecisionInstances.size(), is(2)); assertThat(historicDecisionInstances.get(0).getTenantId(), is(TENANT_ONE)); assertThat(historicDecisionInstances.get(1).getTenantId(), is(TENANT_TWO)); }
public void testQuerySortingDesc() { List<HistoricDecisionInstance> historicDecisionInstances = historyService.createHistoricDecisionInstanceQuery() .orderByTenantId() .desc() .list(); assertThat(historicDecisionInstances.size(), is(2)); assertThat(historicDecisionInstances.get(0).getTenantId(), is(TENANT_TWO)); assertThat(historicDecisionInstances.get(1).getTenantId(), is(TENANT_ONE)); }
public void execute(ProcessEngine engine, String scenarioName) { VariableMap variables = Variables.createVariables() .putValue("status", "silver") .putValue("sum", 723); for (int i = 0; i < 10; i++) { engine.getDecisionService().evaluateDecisionByKey("decision_710") .variables(variables) .evaluate(); } List<String> decisionInstanceIds = new ArrayList<>(); List<HistoricDecisionInstance> decisionInstances = engine.getHistoryService().createHistoricDecisionInstanceQuery().list(); for (HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); } engine.getHistoryService().deleteHistoricDecisionInstancesAsync(decisionInstanceIds, null); } };
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testQuerySortByEvaluationTime() { startProcessInstanceAndEvaluateDecision(); waitASignificantAmountOfTime(); startProcessInstanceAndEvaluateDecision(); List<HistoricDecisionInstance> orderAsc = historyService.createHistoricDecisionInstanceQuery().orderByEvaluationTime().asc().list(); assertThat(orderAsc.get(0).getEvaluationTime().before(orderAsc.get(1).getEvaluationTime()), is(true)); List<HistoricDecisionInstance> orderDesc = historyService.createHistoricDecisionInstanceQuery().orderByEvaluationTime().desc().list(); assertThat(orderDesc.get(0).getEvaluationTime().after(orderDesc.get(1).getEvaluationTime()), is(true)); }
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; }
@Test public void testDefaultCustomObjectDeserialization() { String decisionDefinitionId = MockProvider.EXAMPLE_DECISION_DEFINITION_ID; given() .queryParam("decisionDefinitionId", decisionDefinitionId) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedQuery); inOrder.verify(mockedQuery).decisionDefinitionId(decisionDefinitionId); inOrder.verify(mockedQuery, never()).disableCustomObjectDeserialization(); inOrder.verify(mockedQuery).list(); }
@Test public void testDefaultBinaryFetching() { String decisionDefinitionId = MockProvider.EXAMPLE_DECISION_DEFINITION_ID; given() .queryParam("decisionDefinitionId", decisionDefinitionId) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedQuery); inOrder.verify(mockedQuery).decisionDefinitionId(decisionDefinitionId); inOrder.verify(mockedQuery, never()).disableBinaryFetching(); inOrder.verify(mockedQuery).list(); }
@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 testMultipleDecisionInstances() { startProcessInstanceAndEvaluateDecision("a"); waitASignificantAmountOfTime(); startProcessInstanceAndEvaluateDecision("b"); List<HistoricDecisionInstance> historicDecisionInstances = historyService .createHistoricDecisionInstanceQuery() .includeInputs() .orderByEvaluationTime().asc() .list(); assertThat(historicDecisionInstances.size(), is(2)); List<HistoricDecisionInputInstance> inputsOfFirstDecision = historicDecisionInstances.get(0).getInputs(); assertThat(inputsOfFirstDecision.size(), is(1)); assertThat(inputsOfFirstDecision.get(0).getValue(), is((Object) "a")); List<HistoricDecisionInputInstance> inputsOfSecondDecision = historicDecisionInstances.get(1).getInputs(); assertThat(inputsOfSecondDecision.size(), is(1)); assertThat(inputsOfSecondDecision.get(0).getValue(), is((Object) "b")); }
@Test public void testDisableCustomObjectDeserialization() { String decisionDefinitionId = MockProvider.EXAMPLE_DECISION_DEFINITION_ID; given() .queryParam("decisionDefinitionId", decisionDefinitionId) .queryParam("disableCustomObjectDeserialization", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedQuery); inOrder.verify(mockedQuery).decisionDefinitionId(decisionDefinitionId); inOrder.verify(mockedQuery).disableCustomObjectDeserialization(); inOrder.verify(mockedQuery).list(); }
@Test public void testRootDecisionInstancesOnly() { given() .queryParam("rootDecisionInstancesOnly", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); verify(mockedQuery).rootDecisionInstancesOnly(); verify(mockedQuery).list(); }
@Test public void testDisableBinaryFetching() { String decisionDefinitionId = MockProvider.EXAMPLE_DECISION_DEFINITION_ID; given() .queryParam("decisionDefinitionId", decisionDefinitionId) .queryParam("disableBinaryFetching", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); InOrder inOrder = inOrder(mockedQuery); inOrder.verify(mockedQuery).decisionDefinitionId(decisionDefinitionId); inOrder.verify(mockedQuery).disableBinaryFetching(); inOrder.verify(mockedQuery).list(); }
@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()); } }
@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()); } }
@Test public void testTenantIdListParameter() { mockedQuery = setUpMockHistoricDecisionInstanceQuery(createMockHistoricDecisionInstancesTwoTenants()); Response response = given() .queryParam("tenantIdIn", MockProvider.EXAMPLE_TENANT_ID_LIST) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(HISTORIC_DECISION_INSTANCE_RESOURCE_URL); verify(mockedQuery).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID, MockProvider.ANOTHER_EXAMPLE_TENANT_ID); verify(mockedQuery).list(); String content = response.asString(); List<String> historicDecisionInstances = from(content).getList(""); assertThat(historicDecisionInstances).hasSize(2); String returnedTenantId1 = from(content).getString("[0].tenantId"); String returnedTenantId2 = from(content).getString("[1].tenantId"); assertThat(returnedTenantId1).isEqualTo(MockProvider.EXAMPLE_TENANT_ID); assertThat(returnedTenantId2).isEqualTo(MockProvider.ANOTHER_EXAMPLE_TENANT_ID); }