@Override public HistoricProcessInstance getHistoricProcessInstanceByProcessInstanceId(String processInstanceId) { return activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult(); }
@Override public HistoricProcessInstance getHistoricProcessInstanceByProcessInstanceId(String processInstanceId) { return activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult(); }
private Map<String, String> getActivitiToMidpoint(Set<String> activeProcessInstances, OperationResult result) { Map<String,String> rv = new HashMap<>(); int processWithoutTaskOidCount = 0; HistoricProcessInstanceQuery query = activitiEngine.getHistoryService().createHistoricProcessInstanceQuery() .includeProcessVariables() .excludeSubprocesses(true); List<HistoricProcessInstance> processes = query.list(); for (HistoricProcessInstance process : processes) { String taskOid = (String) process.getProcessVariables().get(CommonProcessVariableNames.VARIABLE_MIDPOINT_TASK_OID); rv.put(process.getId(), taskOid); if (taskOid == null) { processWithoutTaskOidCount++; } if (process.getEndTime() == null) { activeProcessInstances.add(process.getId()); } } LOGGER.info("Found {} processes; among these, {} have no task OID. Active processes: {}", rv.size(), processWithoutTaskOidCount, activeProcessInstances.size()); return rv; }
@Override protected AbstractFlowLogData createLogData(final ActivitiEvent event) { final String processInstanceId = event.getProcessInstanceId(); this.log.fine("The process instance '" + processInstanceId + "' is completed."); final HistoricProcessInstanceQuery processQuery = event.getEngineServices().getHistoryService() .createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables(); final HistoricProcessInstance processResult = processQuery.singleResult(); final Map<String, Object> processVariables = processResult.getProcessVariables(); final String flowInstanceId = (String) processVariables .get(ActivitiSEConstants.Activiti.VAR_PETALS_FLOW_INSTANCE_ID); final String flowStepId = (String) processVariables .get(ActivitiSEConstants.Activiti.VAR_PETALS_FLOW_STEP_ID); return new ProcessInstanceFlowStepEndLogData(flowInstanceId, flowStepId); } }
public RestVariable getVariableFromRequest(boolean includeBinary, String processInstanceId, String variableName, HttpServletRequest request) { HistoricProcessInstance processObject = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).includeProcessVariables().singleResult(); if (processObject == null) { throw new ActivitiObjectNotFoundException("Historic process instance '" + processInstanceId + "' couldn't be found.", HistoricProcessInstanceEntity.class); } Object value = processObject.getProcessVariables().get(variableName); if (value == null) { throw new ActivitiObjectNotFoundException("Historic process instance '" + processInstanceId + "' variable value for " + variableName + " couldn't be found.", VariableInstanceEntity.class); } else { return restResponseFactory.createRestVariable(variableName, value, null, processInstanceId, RestResponseFactory.VARIABLE_HISTORY_PROCESS, includeBinary); } } }
@Test public void testGetHistoricProcessInstanceByProcessInstanceId() { String processInstanceId = "processInstanceId"; HistoricProcessInstanceQuery historicProcessInstanceQuery = mock(HistoricProcessInstanceQuery.class); when(activitiHistoryService.createHistoricProcessInstanceQuery()).thenReturn(historicProcessInstanceQuery); when(historicProcessInstanceQuery.processInstanceId(processInstanceId)).thenReturn(historicProcessInstanceQuery); when(historicProcessInstanceQuery.includeProcessVariables()).thenReturn(historicProcessInstanceQuery); HistoricProcessInstance expectedHistoricProcessInstance = mock(HistoricProcessInstance.class); when(historicProcessInstanceQuery.singleResult()).thenReturn(expectedHistoricProcessInstance); HistoricProcessInstance actualHistoricProcessInstance = activitiService.getHistoricProcessInstanceByProcessInstanceId(processInstanceId); assertSame(expectedHistoricProcessInstance, actualHistoricProcessInstance); InOrder inOrder = inOrder(historicProcessInstanceQuery); inOrder.verify(historicProcessInstanceQuery).processInstanceId(processInstanceId); inOrder.verify(historicProcessInstanceQuery).includeProcessVariables(); inOrder.verify(historicProcessInstanceQuery).singleResult(); inOrder.verifyNoMoreInteractions(); }
private Map<String, Object> createJob(String clusterName, String dryRun, String contentType, String emrClusterDefinitionOverride) throws Exception { List<Parameter> parameters = new ArrayList<>(); parameters.add(new Parameter("clusterName", clusterName)); parameters.add(new Parameter("dryRun", dryRun)); parameters.add(new Parameter("contentType", contentType)); parameters.add(new Parameter("emrClusterDefinitionOverride", emrClusterDefinitionOverride)); // Run a job with Activiti XML that will start cluster. Job job = jobServiceTestHelper.createJobForCreateCluster(ACTIVITI_XML_CREATE_CLUSTER_WITH_CLASSPATH, parameters); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); return hisInstance.getProcessVariables(); }
private void createJobAndCheckStepStatusSuccess(String activitiXml, List<Parameter> parameters) throws Exception { Job job = jobServiceTestHelper.createJobForCreateClusterForActivitiXml(activitiXml, parameters); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables(); String addStepServiceTaskStatus = (String) variables.get("addStepServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + ActivitiRuntimeHelper.VARIABLE_STATUS); assertEquals(ActivitiRuntimeHelper.TASK_STATUS_SUCCESS, addStepServiceTaskStatus); String addStepId = (String) variables.get("addStepServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + BaseAddEmrStep.VARIABLE_EMR_STEP_ID); assertNotNull(addStepId); }
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
private void createJobAndCheckStepStatusFailure(String activitiXml, List<Parameter> parameters) throws Exception { Job job = jobServiceTestHelper.createJobForCreateClusterForActivitiXml(activitiXml, parameters); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables(); String addStepServiceTaskStatus = (String) variables.get("addStepServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + ActivitiRuntimeHelper.VARIABLE_STATUS); assertEquals(ActivitiRuntimeHelper.TASK_STATUS_ERROR, addStepServiceTaskStatus); }
@Test public void testCheckCluster() throws Exception { // Run a job with Activiti XML that will start cluster, check status and terminate. Job job = jobServiceTestHelper.createJobForCreateCluster(ACTIVITI_XML_CHECK_CLUSTER_WITH_CLASSPATH, getParameters(true, "", "false")); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables(); //check to be sure fields exist. These should exist whether verbose is set or not assertTrue(variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_ID)); assertTrue(variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_STATUS)); assertTrue(variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_CREATION_TIME)); assertTrue(variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_READY_TIME)); assertTrue(variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_END_TIME)); assertTrue( variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_STATUS_CHANGE_REASON_CODE)); assertTrue( variables.containsKey(taskName + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + CheckEmrCluster.VARIABLE_EMR_CLUSTER_STATUS_CHANGE_REASON_MESSAGE)); }
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
@Test public void testCheckClusterByClusterIdStepIdNoActiveStep() throws Exception { List<FieldExtension> fieldExtensions = getOptionalFieldExtensions(); FieldExtension fieldExtension = new FieldExtension(); fieldExtension.setFieldName("emrStepId"); fieldExtension.setExpression("${addHiveStepServiceTask_emrStepId}"); fieldExtensions.add(fieldExtension); // Run a job with Activiti XML that will start cluster, check status and terminate. Job job = jobServiceTestHelper.createJobForCreateClusterForActivitiXml(getCheckClusterActivitiXml(fieldExtensions), getParameters(false, "false", "false")); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables(); String hiveStepId = (String) variables.get("addHiveStepServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + "emrStepId"); assertNotNull(hiveStepId); String emrStepId = (String) variables.get("checkClusterServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + "step_id"); assertEquals(hiveStepId, emrStepId); String emrStepJarLocation = (String) variables.get("checkClusterServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + "step_jarLocation"); assertNull(emrStepJarLocation); String activeStepId = (String) variables.get("checkClusterServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + "activeStep_id"); assertNull(activeStepId); }
assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables();
@Test public void testCheckClusterByRetrieveInstanceFleets() throws Exception { // Run a job with Activiti XML that will start cluster, check status and terminate. List<FieldExtension> fieldExtensions = getOptionalFieldExtensions(); FieldExtension fieldExtension = new FieldExtension(); fieldExtension.setFieldName("emrStepId"); fieldExtension.setExpression("${addHiveStepServiceTask_emrStepId}"); fieldExtensions.add(fieldExtension); Job job = jobServiceTestHelper.createJobForCreateClusterForActivitiXml(getCheckClusterActivitiXml(fieldExtensions), getParameters(true, "true", "true")); assertNotNull(job); HistoricProcessInstance hisInstance = activitiHistoryService.createHistoricProcessInstanceQuery().processInstanceId(job.getId()).includeProcessVariables().singleResult(); Map<String, Object> variables = hisInstance.getProcessVariables(); String emrClusterInstanceFleetJson = (String) variables.get("checkClusterServiceTask" + ActivitiRuntimeHelper.TASK_VARIABLE_MARKER + "instance_fleets"); assertNotNull(emrClusterInstanceFleetJson); }
private TaskInfoBean transToTaskInfoBean(HistoricTaskInstance task) { TaskInfoBean taskInfoBean = new TaskInfoBean(); taskInfoBean.setTaskDefinitionKey(task.getTaskDefinitionKey()); taskInfoBean.setFormKey(task.getFormKey()); taskInfoBean.setProcessDefinitionId(task.getProcessDefinitionId()); taskInfoBean.setProcessInstanceId(task.getProcessInstanceId()); taskInfoBean.setTaskName(task.getName()); taskInfoBean.setTaskId(task.getId()); taskInfoBean.setAssigneeId(task.getAssignee()); taskInfoBean.setTaskCreateTime(task.getCreateTime()); taskInfoBean.setTaskEndTime(task.getEndTime()); taskInfoBean.setTaskOwner(task.getOwner()); HistoricProcessInstance historicInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).includeProcessVariables().singleResult(); taskInfoBean.setItemsName(historicInstance.getProcessDefinitionName()); taskInfoBean.setVariables(historicInstance.getProcessVariables()); return taskInfoBean; }