private void setUpMockDefinitionQuery(ProcessDefinition mockDefinition) { processDefinitionQueryMock = mock(ProcessDefinitionQuery.class); when(processDefinitionQueryMock.processDefinitionKey(MockProvider.EXAMPLE_PROCESS_DEFINITION_KEY)).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.processDefinitionId(MockProvider.EXAMPLE_PROCESS_DEFINITION_ID)).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.tenantIdIn(anyString())).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.withoutTenantId()).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.latestVersion()).thenReturn(processDefinitionQueryMock); when(processDefinitionQueryMock.singleResult()).thenReturn(mockDefinition); when(processDefinitionQueryMock.count()).thenReturn(1L); when(processDefinitionQueryMock.list()).thenReturn(Collections.singletonList(mockDefinition)); when(repositoryServiceMock.createProcessDefinitionQuery()).thenReturn(processDefinitionQueryMock); }
@Override protected void applyFilters(ProcessDefinitionQuery query) { if (processDefinitionId != null) { query.processDefinitionId(processDefinitionId);
public ProcessDefinition getProcessDefinition() { // TODO cache result to avoid multiple queries within one page request if (processDefinitionId!=null) { return repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); } else { return repositoryService.createProcessDefinitionQuery().processDefinitionKey(processDefinitionKey).latestVersion().singleResult(); } }
@Override protected void applyFilters(ProcessDefinitionQuery query) { if (processDefinitionId != null) { query.processDefinitionId(processDefinitionId);
verify(mockedQuery).processDefinitionId(queryParameters.get("processDefinitionId")); verify(mockedQuery).processDefinitionCategory(queryParameters.get("category")); verify(mockedQuery).processDefinitionCategoryLike(queryParameters.get("categoryLike"));
public void testQueryByProcessDefinitionIds() { // empty list assertTrue(repositoryService.createProcessDefinitionQuery().processDefinitionIdIn("a", "b").list().isEmpty()); // collect all ids List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list(); String[] ids = new String[list.size()]; for (int i = 0; i < ids.length; i++) { ids[i] = list.get(i).getId(); } List<ProcessDefinition> idInList = repositoryService.createProcessDefinitionQuery().processDefinitionIdIn(ids).list(); for (ProcessDefinition processDefinition : idInList) { boolean found = false; for (ProcessDefinition otherProcessDefinition : list) { if(otherProcessDefinition.getId().equals(processDefinition.getId())) { found = true; break; } } if(!found) { fail("Expected to find process definition "+processDefinition); } } assertEquals(0, repositoryService.createProcessDefinitionQuery().processDefinitionId("dummyId").processDefinitionIdIn(ids).count()); }
@Deployment(resources = { DECISION_PROCESS, DECISION_SINGLE_OUTPUT_DMN }) public void testDecisionInstanceProperties() { startProcessInstanceAndEvaluateDecision(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); String activityInstanceId = historyService.createHistoricActivityInstanceQuery().activityId("task").singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is("task")); assertThat(historicDecisionInstance.getActivityInstanceId(), is(activityInstanceId)); assertThat(historicDecisionInstance.getRootDecisionInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getDecisionRequirementsDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
@Deployment(resources={ "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testFindProcessDefinitionById() { List<ProcessDefinition> definitions = repositoryService.createProcessDefinitionQuery().list(); assertEquals(1, definitions.size()); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(definitions.get(0).getId()).singleResult(); runtimeService.startProcessInstanceByKey("oneTaskProcess"); assertNotNull(processDefinition); assertEquals("oneTaskProcess", processDefinition.getKey()); assertEquals("The One Task Process", processDefinition.getName()); processDefinition = repositoryService.getProcessDefinition(definitions.get(0).getId()); assertEquals("This is a process for testing purposes", processDefinition.getDescription()); }
@Override public Object execute(CommandContext commandContext) { //when List<String> historicProcessInstanceIdsForCleanup = commandContext.getHistoricProcessInstanceManager().findHistoricProcessInstanceIdsForCleanup( batchSize, 0, 60); //then assertEquals(resultCount, historicProcessInstanceIdsForCleanup.size()); if (resultCount > 0) { List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet<String>(historicProcessInstanceIdsForCleanup)).list(); for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) { assertNotNull(historicProcessInstance.getEndTime()); List<ProcessDefinition> processDefinitions = engineRule.getRepositoryService().createProcessDefinitionQuery() .processDefinitionId(historicProcessInstance.getProcessDefinitionId()).list(); assertEquals(1, processDefinitions.size()); ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) processDefinitions.get(0); assertTrue(historicProcessInstance.getEndTime().before(DateUtils.addDays(ClockUtil.getCurrentTime(), processDefinition.getHistoryTimeToLive()))); } } return null; } });
@Test public void evaluateDecisionWithDecisionService() { runtimeService.startProcessInstanceByKey("testProcess", Variables.createVariables() .putValue("input1", null) .putValue("myBean", new DecisionServiceDelegate())); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult(); String decisionDefinitionId = repositoryService.createDecisionDefinitionQuery().decisionDefinitionKey(DECISION_DEFINITION_KEY).singleResult().getId(); HistoricDecisionInstance historicDecisionInstance = historyService.createHistoricDecisionInstanceQuery().singleResult(); assertThat(historicDecisionInstance, is(notNullValue())); assertThat(historicDecisionInstance.getDecisionDefinitionId(), is(decisionDefinitionId)); assertThat(historicDecisionInstance.getDecisionDefinitionKey(), is(DECISION_DEFINITION_KEY)); assertThat(historicDecisionInstance.getDecisionDefinitionName(), is("sample decision")); // references to process instance should be set since the decision is evaluated while executing a process instance assertThat(historicDecisionInstance.getProcessDefinitionKey(), is(processDefinition.getKey())); assertThat(historicDecisionInstance.getProcessDefinitionId(), is(processDefinition.getId())); assertThat(historicDecisionInstance.getProcessInstanceId(), is(processInstance.getId())); assertThat(historicDecisionInstance.getCaseDefinitionKey(), is(nullValue())); assertThat(historicDecisionInstance.getCaseDefinitionId(), is(nullValue())); assertThat(historicDecisionInstance.getCaseInstanceId(), is(nullValue())); assertThat(historicDecisionInstance.getActivityId(), is(activityId)); assertThat(historicDecisionInstance.getEvaluationTime(), is(notNullValue())); }
@Override protected ProcessDefinitionQuery processDefinitionQuery() { return super.processDefinitionQuery().processDefinitionId(actual.getProcessDefinitionId()); }
public void testInvalidUsageOfLatest() { try { repositoryService.createProcessDefinitionQuery().processDefinitionId("test").latestVersion().list(); fail(); } catch (ProcessEngineException e) { // Expected Exception } try { repositoryService.createProcessDefinitionQuery().processDefinitionVersion(1).latestVersion().list(); fail(); } catch (ProcessEngineException e) { // Expected Exception } try { repositoryService.createProcessDefinitionQuery().deploymentId("test").latestVersion().list(); fail(); } catch (ProcessEngineException e) { // Expected Exception } }
@Override protected ProcessDefinitionQuery processDefinitionQuery() { return super.processDefinitionQuery() .processDefinitionId(processInstanceQuery().singleResult().getProcessDefinitionId()); }
@Override protected ProcessDefinitionQuery processDefinitionQuery() { return super.processDefinitionQuery() .processDefinitionId(processInstanceQuery().singleResult().getProcessDefinitionId()); }
/** * Helper method to easily access the process definition * on which the given process instance is based. * * @param processInstance the process instance for which * the definition should be retrieved. * @return the process definition on which the given * process instance is based. */ public static ProcessDefinition processDefinition(ProcessInstance processInstance) { assertThat(processInstance).isNotNull(); return processDefinition(processDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId())); }
@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()); } }
public ProcessDefinition getProcessDefinition() { // TODO cache result to avoid multiple queries within one page request if (processDefinitionId!=null) { return repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); } else { return repositoryService.createProcessDefinitionQuery().processDefinitionKey(processDefinitionKey).latestVersion().singleResult(); } }
private CoveredFlowNode createCoveredFlowNode(DelegateExecution execution) { // Get the process definition in order to obtain the key final RepositoryService repositoryService = execution.getProcessEngineServices().getRepositoryService(); final ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId( execution.getProcessDefinitionId()).singleResult(); final String currentActivityId = execution.getCurrentActivityId(); final CoveredFlowNode coveredFlowNode = new CoveredFlowNode(processDefinition.getKey(), currentActivityId); return coveredFlowNode; }
String processInstanceId = processInstance.getId(); String processDefinitionId = processInstance.getProcessDefinitionId(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult();
String processDefinitionId = processInstance.getProcessDefinitionId(); disableAuthorization(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); enableAuthorization();