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); } }
@Override protected AbstractFlowLogData createLogData(final ActivitiEvent event) { final String processInstanceId = event.getProcessInstanceId(); this.log.fine("The process instance '" + processInstanceId + "' is canceled."); final HistoricProcessInstanceQuery processQuery = event.getEngineServices().getHistoryService() .createHistoricProcessInstanceQuery().processInstanceId(processInstanceId); 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 ProcessInstanceFlowStepFailureLogData(flowInstanceId, flowStepId, processResult.getDeleteReason()); } }
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); } } }
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); }
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); }
Map<String, Object> variables = hisInstance.getProcessVariables();
Map<String, Object> variables = hisInstance.getProcessVariables();
@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)); }
Map<String, Object> variables = hisInstance.getProcessVariables();
Map<String, Object> variables = hisInstance.getProcessVariables();
Map<String, Object> variables = hisInstance.getProcessVariables();
@SuppressWarnings("deprecation") public HistoricProcessInstanceResponse createHistoricProcessInstanceResponse(HistoricProcessInstance processInstance, RestUrlBuilder urlBuilder) { HistoricProcessInstanceResponse result = new HistoricProcessInstanceResponse(); result.setBusinessKey(processInstance.getBusinessKey()); result.setDeleteReason(processInstance.getDeleteReason()); result.setDurationInMillis(processInstance.getDurationInMillis()); result.setEndActivityId(processInstance.getEndActivityId()); result.setEndTime(processInstance.getEndTime()); result.setId(processInstance.getId()); result.setName(processInstance.getName()); result.setProcessDefinitionId(processInstance.getProcessDefinitionId()); result.setProcessDefinitionUrl(urlBuilder.buildUrl(RestUrls.URL_PROCESS_DEFINITION, processInstance.getProcessDefinitionId())); result.setStartActivityId(processInstance.getStartActivityId()); result.setStartTime(processInstance.getStartTime()); result.setStartUserId(processInstance.getStartUserId()); result.setSuperProcessInstanceId(processInstance.getSuperProcessInstanceId()); result.setUrl(urlBuilder.buildUrl(RestUrls.URL_HISTORIC_PROCESS_INSTANCE, processInstance.getId())); if (processInstance.getProcessVariables() != null) { Map<String, Object> variableMap = processInstance.getProcessVariables(); for (String name : variableMap.keySet()) { result.addVariable(createRestVariable(name, variableMap.get(name), RestVariableScope.LOCAL, processInstance.getId(), VARIABLE_HISTORY_PROCESS, false, urlBuilder)); } } result.setTenantId(processInstance.getTenantId()); return result; }
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); }
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); }
Map<String, Object> processVariables = historicProcessInstance.getProcessVariables();
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; }