@Override protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) { // Gather data objects List<ValuedDataObject> allDataObjects = new ArrayList<ValuedDataObject>(); allDataObjects.addAll(process.getDataObjects()); List<SubProcess> subProcesses = process.findFlowElementsOfType(SubProcess.class, true); for (SubProcess subProcess : subProcesses) { allDataObjects.addAll(subProcess.getDataObjects()); } // Validate for (ValuedDataObject dataObject : allDataObjects) { if (StringUtils.isEmpty(dataObject.getName())) { addError(errors, Problems.DATA_OBJECT_MISSING_NAME, process, dataObject, "Name is mandatory for a data object"); } } }
protected void convertElementToJson(ObjectNode propertiesNode, BaseElement baseElement) { SubProcess subProcess = (SubProcess) baseElement; propertiesNode.put("activitytype", "Sub-Process"); propertiesNode.put("subprocesstype", "Embedded"); ArrayNode subProcessShapesArrayNode = objectMapper.createArrayNode(); GraphicInfo graphicInfo = model.getGraphicInfo(subProcess.getId()); processor.processFlowElements(subProcess, model, subProcessShapesArrayNode, formKeyMap, decisionTableKeyMap, graphicInfo.getX(), graphicInfo.getY()); flowElementNode.set("childShapes", subProcessShapesArrayNode); if (subProcess instanceof Transaction) { propertiesNode.put("istransaction", true); } BpmnJsonConverterUtil.convertDataPropertiesToJson(subProcess.getDataObjects(), propertiesNode); }
public void execute(DelegateExecution execution) { SubProcess subProcess = getSubProcessFromExecution(execution); execution.setScope(true); // initialize the template-defined data objects as variables Map<String, Object> dataObjectVars = processDataObjects(subProcess.getDataObjects()); if (dataObjectVars != null) { execution.setVariablesLocal(dataObjectVars); } }
if (!activeSubProcessList.isEmpty()) { SubProcess subProcess = activeSubProcessList.get(activeSubProcessList.size() - 1); subProcess.getDataObjects().add((ValuedDataObject) parsedElement); } else { activeProcess.getDataObjects().add((ValuedDataObject) parsedElement);
for (ValuedDataObject dataObject : subProcess.getDataObjects()) { if (dataObject.getName().equals(variableEntity.getName())) { foundDataObject = dataObject;
for (ValuedDataObject dataObject : subProcess.getDataObjects()) { if (dataObject.getName().equals(variableEntity.getName())) { foundDataObject = dataObject;
boolean isFlowElementLocalizationChanged = localizeFlowElements(subprocess.getFlowElements(), infoNode); boolean isDataObjectLocalizationChanged = localizeDataObjectElements(subprocess.getDataObjects(), infoNode); if (isFlowElementLocalizationChanged || isDataObjectLocalizationChanged) {
for (ValuedDataObject dataObjectDefinition : subProcess.getDataObjects()) { if (dataObjectDefinition.getName().equals(variableEntity.getName())) { foundDataObject = dataObjectDefinition;
for (ValuedDataObject dataObjectDefinition : subProcess.getDataObjects()) { if (dataObjectDefinition.getName().equals(variableEntity.getName())) { foundDataObject = dataObjectDefinition;
public void execute(DelegateExecution execution) { SubProcess subProcess = getSubProcessFromExecution(execution); FlowElement startElement = null; if (CollectionUtil.isNotEmpty(subProcess.getFlowElements())) { for (FlowElement subElement : subProcess.getFlowElements()) { if (subElement instanceof StartEvent) { StartEvent startEvent = (StartEvent) subElement; // start none event if (CollectionUtil.isEmpty(startEvent.getEventDefinitions())) { startElement = startEvent; break; } } } } if (startElement == null) { throw new ActivitiException("No initial activity found for subprocess " + subProcess.getId()); } ExecutionEntity executionEntity = (ExecutionEntity) execution; executionEntity.setScope(true); // initialize the template-defined data objects as variables Map<String, Object> dataObjectVars = processDataObjects(subProcess.getDataObjects()); if (dataObjectVars != null) { executionEntity.setVariablesLocal(dataObjectVars); } ExecutionEntity startSubProcessExecution = Context.getCommandContext().getExecutionEntityManager() .createChildExecution(executionEntity); startSubProcessExecution.setCurrentFlowElement(startElement); Context.getAgenda().planContinueProcessOperation(startSubProcessExecution); }
@Override protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) { // Gather data objects List<ValuedDataObject> allDataObjects = new ArrayList<ValuedDataObject>(); allDataObjects.addAll(process.getDataObjects()); List<SubProcess> subProcesses = process.findFlowElementsOfType(SubProcess.class, true); for (SubProcess subProcess : subProcesses) { allDataObjects.addAll(subProcess.getDataObjects()); } // Validate for (ValuedDataObject dataObject : allDataObjects) { if (StringUtils.isEmpty(dataObject.getName())) { addError(errors, Problems.DATA_OBJECT_MISSING_NAME, process, dataObject, "Name is mandatory for a data object"); } } }
protected void convertElementToJson(ObjectNode propertiesNode, BaseElement baseElement) { SubProcess subProcess = (SubProcess) baseElement; propertiesNode.put("activitytype", "Sub-Process"); propertiesNode.put("subprocesstype", "Embedded"); ArrayNode subProcessShapesArrayNode = objectMapper.createArrayNode(); GraphicInfo graphicInfo = model.getGraphicInfo(subProcess.getId()); processor.processFlowElements(subProcess, model, subProcessShapesArrayNode, formKeyMap, decisionTableKeyMap, graphicInfo.getX(), graphicInfo.getY()); flowElementNode.set("childShapes", subProcessShapesArrayNode); if (subProcess instanceof Transaction) { propertiesNode.put("istransaction", true); } BpmnJsonConverterUtil.convertDataPropertiesToJson(subProcess.getDataObjects(), propertiesNode); }
public void execute(DelegateExecution execution) { SubProcess subProcess = getSubProcessFromExecution(execution); execution.setScope(true); // initialize the template-defined data objects as variables Map<String, Object> dataObjectVars = processDataObjects(subProcess.getDataObjects()); if (dataObjectVars != null) { execution.setVariablesLocal(dataObjectVars); } }
if (!activeSubProcessList.isEmpty()) { SubProcess subProcess = activeSubProcessList.get(activeSubProcessList.size() - 1); subProcess.getDataObjects().add((ValuedDataObject) parsedElement); } else { activeProcess.getDataObjects().add((ValuedDataObject) parsedElement);
SubProcess subprocess = (SubProcess) flowElement; boolean isFlowElementLocalizationChanged = localizeFlowElements(subprocess.getFlowElements(), infoNode); boolean isDataObjectLocalizationChanged = localizeDataObjectElements(subprocess.getDataObjects(), infoNode); if (isFlowElementLocalizationChanged || isDataObjectLocalizationChanged) { localizationValuesChanged = true;
for (ValuedDataObject dataObject : subProcess.getDataObjects()) { if (dataObject.getName().equals(variableEntity.getName())) { foundDataObject = dataObject;
for (ValuedDataObject dataObject : subProcess.getDataObjects()) { if (dataObject.getName().equals(variableEntity.getName())) { foundDataObject = dataObject;
for (ValuedDataObject dataObjectDefinition : subProcess.getDataObjects()) { if (dataObjectDefinition.getName().equals(variableEntity.getName())) { foundDataObject = dataObjectDefinition;
for (ValuedDataObject dataObjectDefinition : subProcess.getDataObjects()) { if (dataObjectDefinition.getName().equals(variableEntity.getName())) { foundDataObject = dataObjectDefinition;
public void execute(DelegateExecution execution) { SubProcess subProcess = getSubProcessFromExecution(execution); FlowElement startElement = null; if (CollectionUtil.isNotEmpty(subProcess.getFlowElements())) { for (FlowElement subElement : subProcess.getFlowElements()) { if (subElement instanceof StartEvent) { StartEvent startEvent = (StartEvent) subElement; // start none event if (CollectionUtil.isEmpty(startEvent.getEventDefinitions())) { startElement = startEvent; break; } } } } if (startElement == null) { throw new ActivitiException("No initial activity found for subprocess " + subProcess.getId()); } ExecutionEntity executionEntity = (ExecutionEntity) execution; executionEntity.setScope(true); // initialize the template-defined data objects as variables Map<String, Object> dataObjectVars = processDataObjects(subProcess.getDataObjects()); if (dataObjectVars != null) { executionEntity.setVariablesLocal(dataObjectVars); } ExecutionEntity startSubProcessExecution = Context.getCommandContext().getExecutionEntityManager() .createChildExecution(executionEntity); startSubProcessExecution.setCurrentFlowElement(startElement); Context.getAgenda().planContinueProcessOperation(startSubProcessExecution); }