@Override public void setCurrentFlowElement(FlowElement currentFlowElement) { this.currentFlowElement = currentFlowElement; if (currentFlowElement != null) { this.activityId = currentFlowElement.getId(); this.activityName = currentFlowElement.getName(); } else { this.activityId = null; this.activityName = null; } }
if (flowElement != null && StringUtils.isNotEmpty(flowElement.getName())) { hasName = true;
protected void postExecuteStep(DelegateExecution context, StepPhase state) { logDebug(MessageFormat.format(Messages.STEP_FINISHED, context.getCurrentFlowElement() .getName())); processLogsPersister.persistLogs(context); context.setVariable(Constants.VAR_STEP_EXECUTION, state.toString()); }
protected void postExecuteStep(DelegateExecution context, StepPhase state) { logDebug(MessageFormat.format(Messages.STEP_FINISHED, context.getCurrentFlowElement() .getName())); processLogsPersister.persistLogs(context); context.setVariable(Constants.VAR_STEP_EXECUTION, state.toString()); }
public void setValues(FlowElement otherElement) { super.setValues(otherElement); setName(otherElement.getName()); setDocumentation(otherElement.getDocumentation()); executionListeners = new ArrayList<>(); if (otherElement.getExecutionListeners() != null && !otherElement.getExecutionListeners().isEmpty()) { for (FlowableListener listener : otherElement.getExecutionListeners()) { executionListeners.add(listener.clone()); } } } }
public void setValues(FlowElement otherElement) { super.setValues(otherElement); setName(otherElement.getName()); setDocumentation(otherElement.getDocumentation()); executionListeners = new ArrayList<>(); if (otherElement.getExecutionListeners() != null && !otherElement.getExecutionListeners().isEmpty()) { for (FlowableListener listener : otherElement.getExecutionListeners()) { executionListeners.add(listener.clone()); } } } }
protected void internalPopulateExecutionTree(DebugInfoExecutionTreeNode parentNode, Map<String, List<ExecutionEntity>> parentMapping) { if (parentMapping.containsKey(parentNode.getId())) { for (ExecutionEntity childExecutionEntity : parentMapping.get(parentNode.getId())) { DebugInfoExecutionTreeNode childNode = new DebugInfoExecutionTreeNode(); childNode.setId(childExecutionEntity.getId()); childNode.setActivityId(childExecutionEntity.getCurrentFlowElement() != null ? childExecutionEntity.getCurrentFlowElement().getId() : null); childNode.setActivityName(childExecutionEntity.getCurrentFlowElement() != null ? childExecutionEntity.getCurrentFlowElement().getName() : null); childNode.setProcessDefinitionId(childExecutionEntity.getProcessDefinitionId()); childNode.setParentNode(childNode); parentNode.getChildNodes().add(childNode); internalPopulateExecutionTree(childNode, parentMapping); } } }
protected void syncUserTaskExecutionActivityInstance(ExecutionEntity childExecution, String oldActivityId, FlowElement newFlowElement) { ActivityInstanceEntityManager activityInstanceEntityManager = CommandContextUtil.getActivityInstanceEntityManager(); List<ActivityInstanceEntity> activityInstances = activityInstanceEntityManager.findActivityInstancesByExecutionAndActivityId(childExecution.getId(), oldActivityId); for (ActivityInstanceEntity activityInstance : activityInstances) { activityInstance.setProcessDefinitionId(childExecution.getProcessDefinitionId()); activityInstance.setActivityId(childExecution.getActivityId()); activityInstance.setActivityName(newFlowElement.getName()); } }
protected FlowableMultiInstanceActivityCompletedEvent buildCompletedEvent(DelegateExecution execution, FlowableEngineEventType eventType) { FlowElement flowNode = execution.getCurrentFlowElement(); return FlowableEventBuilder.createMultiInstanceActivityCompletedEvent(eventType, (int) execution.getVariable(NUMBER_OF_INSTANCES), (int) execution.getVariable(NUMBER_OF_ACTIVE_INSTANCES), (int) execution.getVariable(NUMBER_OF_COMPLETED_INSTANCES), flowNode.getId(), flowNode.getName(), execution.getId(), execution.getProcessInstanceId(), execution.getProcessDefinitionId(), flowNode); }
public ActivityImpl createActivityOnScope(BpmnParse bpmnParse, FlowElement flowElement, String xmlLocalName, ScopeImpl scopeElement) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Parsing activity {}", flowElement.getId()); } ActivityImpl activity = scopeElement.createActivity(flowElement.getId()); bpmnParse.setCurrentActivity(activity); activity.setProperty("name", flowElement.getName()); activity.setProperty("documentation", flowElement.getDocumentation()); if (flowElement instanceof Activity) { Activity modelActivity = (Activity) flowElement; activity.setProperty("default", modelActivity.getDefaultFlow()); if (modelActivity.isForCompensation()) { activity.setProperty(PROPERTYNAME_IS_FOR_COMPENSATION, true); } } else if (flowElement instanceof Gateway) { activity.setProperty("default", ((Gateway) flowElement).getDefaultFlow()); } activity.setProperty("type", xmlLocalName); return activity; }
sequenceFlow.getId(), sourceFlowElement != null ? sourceFlowElement.getId() : null, sourceFlowElement != null ? sourceFlowElement.getName() : null, sourceFlowElement != null ? sourceFlowElement.getClass().getName() : null, sourceFlowElement != null ? ((FlowNode) sourceFlowElement).getBehavior() : null, targetFlowElement != null ? targetFlowElement.getId() : null, targetFlowElement != null ? targetFlowElement.getName() : null, targetFlowElement != null ? targetFlowElement.getClass().getName() : null, targetFlowElement != null ? ((FlowNode) targetFlowElement).getBehavior() : null));
protected void dispatchMultiInstanceActivityCancelled(ExecutionEntity execution, FlowElement cancelActivity) { CommandContextUtil.getProcessEngineConfiguration() .getEventDispatcher() .dispatchEvent( FlowableEventBuilder.createMultiInstanceActivityCancelledEvent(execution.getCurrentFlowElement().getId(), execution.getCurrentFlowElement().getName(), execution.getId(), execution.getProcessInstanceId(), execution.getProcessDefinitionId(), getActivityType((FlowNode) execution.getCurrentFlowElement()), cancelActivity)); }
protected void dispatchActivityCancelled(ExecutionEntity execution, FlowElement cancelActivity) { CommandContextUtil.getProcessEngineConfiguration() .getEventDispatcher() .dispatchEvent( FlowableEventBuilder.createActivityCancelledEvent(execution.getCurrentFlowElement().getId(), execution.getCurrentFlowElement().getName(), execution.getId(), execution.getProcessInstanceId(), execution.getProcessDefinitionId(), getActivityType((FlowNode) execution.getCurrentFlowElement()), cancelActivity)); }
@Override public void updateActivity(ExecutionEntity childExecution, String oldActivityId, FlowElement newFlowElement, TaskEntity task) { if (isHistoryLevelAtLeast(HistoryLevel.ACTIVITY)) { HistoricActivityInstanceEntityManager historicActivityInstanceEntityManager = CommandContextUtil.getHistoricActivityInstanceEntityManager(); List<HistoricActivityInstanceEntity> historicActivityInstances = historicActivityInstanceEntityManager.findHistoricActivityInstancesByExecutionAndActivityId(childExecution.getId(), oldActivityId); for (HistoricActivityInstanceEntity historicActivityInstance : historicActivityInstances) { historicActivityInstance.setProcessDefinitionId(childExecution.getProcessDefinitionId()); historicActivityInstance.setActivityId(childExecution.getActivityId()); historicActivityInstance.setActivityName(newFlowElement.getName()); } } if (isHistoryLevelAtLeast(HistoryLevel.AUDIT)) { HistoricTaskService historicTaskService = CommandContextUtil.getHistoricTaskService(); historicTaskService.recordTaskInfoChange(task); } }
task.setProcessDefinitionId(childExecution.getProcessDefinitionId()); task.setTaskDefinitionKey(newFlowElement.getId()); task.setName(newFlowElement.getName()); task.setProcessInstanceId(childExecution.getProcessInstanceId());
@Override public void recordActivityEnd(ExecutionEntity executionEntity, String deleteReason) { if (isHistoryLevelAtLeast(HistoryLevel.ACTIVITY, executionEntity.getProcessDefinitionId())) { String activityId = getActivityIdForExecution(executionEntity); if (StringUtils.isNotEmpty(activityId)) { Map<String, String> data = new HashMap<>(); putIfNotNull(data, HistoryJsonConstants.PROCESS_DEFINITION_ID, executionEntity.getProcessDefinitionId()); putIfNotNull(data, HistoryJsonConstants.PROCESS_INSTANCE_ID, executionEntity.getProcessInstanceId()); putIfNotNull(data, HistoryJsonConstants.EXECUTION_ID, executionEntity.getId()); putIfNotNull(data, HistoryJsonConstants.ACTIVITY_ID, activityId); if (executionEntity.getCurrentFlowElement() != null) { putIfNotNull(data, HistoryJsonConstants.ACTIVITY_NAME, executionEntity.getCurrentFlowElement().getName()); putIfNotNull(data, HistoryJsonConstants.ACTIVITY_TYPE, parseActivityType(executionEntity.getCurrentFlowElement())); } if (executionEntity.getTenantId() != null) { putIfNotNull(data, HistoryJsonConstants.TENANT_ID, executionEntity.getTenantId()); } putIfNotNull(data, HistoryJsonConstants.DELETE_REASON, deleteReason); putIfNotNull(data, HistoryJsonConstants.END_TIME, getClock().getCurrentTime()); Map<String, String> correspondingActivityStartData = getActivityStart(executionEntity.getId(), activityId, true); if (correspondingActivityStartData == null) { getAsyncHistorySession().addHistoricData(getJobServiceConfiguration(), HistoryJsonConstants.TYPE_ACTIVITY_END, data); } else { data.put(HistoryJsonConstants.START_TIME, correspondingActivityStartData.get(HistoryJsonConstants.START_TIME)); getAsyncHistorySession().addHistoricData(getJobServiceConfiguration(), HistoryJsonConstants.TYPE_ACTIVITY_FULL, data); } } } }
protected void addError(List<ValidationError> validationErrors, String problem, Process process, BaseElement baseElement, String description, boolean isWarning) { ValidationError error = new ValidationError(); error.setWarning(isWarning); if (process != null) { error.setProcessDefinitionId(process.getId()); error.setProcessDefinitionName(process.getName()); } if (baseElement != null) { error.setXmlLineNumber(baseElement.getXmlRowNumber()); error.setXmlColumnNumber(baseElement.getXmlColumnNumber()); } error.setProblem(problem); error.setDefaultDescription(description); if (baseElement instanceof FlowElement) { FlowElement flowElement = (FlowElement) baseElement; error.setActivityId(flowElement.getId()); error.setActivityName(flowElement.getName()); } addError(validationErrors, error); }
FlowElement callActivityElement = miExecutionEntity.getCurrentFlowElement(); getEventDispatcher().dispatchEvent(FlowableEventBuilder.createActivityCancelledEvent(callActivityElement.getId(), callActivityElement.getName(), miExecutionEntity.getId(), miExecutionEntity.getProcessInstanceId(), miExecutionEntity.getProcessDefinitionId(), "callActivity", deleteReason)); FlowElement callActivityElement = subExecutionEntity.getCurrentFlowElement(); getEventDispatcher().dispatchEvent(FlowableEventBuilder.createActivityCancelledEvent(callActivityElement.getId(), callActivityElement.getName(), subExecutionEntity.getId(), subExecutionEntity.getProcessInstanceId(), subExecutionEntity.getProcessDefinitionId(), "callActivity", deleteReason));
activityInstanceEntity.setActivityName(execution.getCurrentFlowElement().getName()); activityInstanceEntity.setActivityType(parseActivityType(execution.getCurrentFlowElement()));
FlowElement callActivityElement = subExecutionEntity.getCurrentFlowElement(); getEventDispatcher().dispatchEvent(FlowableEventBuilder.createActivityCancelledEvent(callActivityElement.getId(), callActivityElement.getName(), subExecutionEntity.getId(), processInstanceId, subExecutionEntity.getProcessDefinitionId(), "callActivity", deleteReason));