@Override public void validate(BpmnModel bpmnModel, List<ValidationError> errors) { for (Process process : bpmnModel.getProcesses()) { executeValidation(bpmnModel, process, errors); } }
/** * Parses the 'definitions' root element */ protected void applyParseHandlers() { sequenceFlows = new HashMap<>(); for (Process process : bpmnModel.getProcesses()) { currentProcess = process; if (process.isExecutable()) { bpmnParserHandlers.parseElement(this, process); } } }
/** * Parses the 'definitions' root element */ protected void transformProcessDefinitions() { sequenceFlows = new HashMap<>(); for (Process process : bpmnModel.getProcesses()) { if (process.isExecutable()) { bpmnParserHandlers.parseElement(this, process); } } if (!processDefinitions.isEmpty()) { processDI(); } }
/** * Returns 'true' if at least one process definition in the {@link BpmnModel} is executable. */ protected boolean validateAtLeastOneExecutable(BpmnModel bpmnModel, List<ValidationError> errors) { int nrOfExecutableDefinitions = 0; for (Process process : bpmnModel.getProcesses()) { if (process.isExecutable()) { nrOfExecutableDefinitions++; } } if (nrOfExecutableDefinitions == 0) { addError(errors, Problems.ALL_PROCESS_DEFINITIONS_NOT_EXECUTABLE, "All process definition are set to be non-executable (property 'isExecutable' on process). This is not allowed."); } return nrOfExecutableDefinitions > 0; }
public ObjectNode getSummary() { ObjectNode summary = objectMapper.createObjectNode(); for (Process process : bpmnModel.getProcesses()) { for (FlowElement flowElement : process.getFlowElements()) { summary.set(flowElement.getId(), getElement(flowElement.getId())); } } return summary; }
public void execute() { // Reset any previous DI information bpmnModel.getLocationMap().clear(); bpmnModel.getFlowLocationMap().clear(); // Generate DI for each process for (Process process : bpmnModel.getProcesses()) { layout(process); // Operations that can only be done after all elements have received DI translateNestedSubprocesses(process); } }
model.getProcesses().add(process);
SignalAndMessageDefinitionExport.writeSignalsAndMessages(model, xtw); for (Process process : model.getProcesses()) {
public void parse(XMLStreamReader xtr, BpmnModel model) throws Exception { String resourceId = xtr.getAttributeValue(null, ATTRIBUTE_ID); String resourceName = xtr.getAttributeValue(null, ATTRIBUTE_NAME); Resource resource; if (model.containsResourceId(resourceId)) { resource = model.getResource(resourceId); resource.setName(resourceName); for (org.flowable.bpmn.model.Process process : model.getProcesses()) { for (FlowElement fe : process.getFlowElements()) { if (fe instanceof UserTask && ((UserTask) fe).getCandidateGroups().contains(resourceId)) { ((UserTask) fe).getCandidateGroups().remove(resourceId); ((UserTask) fe).getCandidateGroups().add(resourceName); } } } } else { resource = new Resource(resourceId, resourceName); model.addResource(resource); } BpmnXMLUtil.addXMLLocation(resource, xtr); } }
for (Process process : model.getProcesses()) { for (Pool pool : model.getPools()) { if (process.getId().equals(pool.getProcessRef())) {
@Override public void validate(BpmnModel bpmnModel, List<ValidationError> errors) { // Global associations Collection<Artifact> artifacts = bpmnModel.getGlobalArtifacts(); if (artifacts != null) { for (Artifact artifact : artifacts) { if (artifact instanceof Association) { validate(null, (Association) artifact, errors); } } } // Process associations for (Process process : bpmnModel.getProcesses()) { artifacts = process.getArtifacts(); for (Artifact artifact : artifacts) { if (artifact instanceof Association) { validate(process, (Association) artifact, errors); } } } }
@Override public void validate(BpmnModel bpmnModel, List<ValidationError> errors) { // If all process definitions of this bpmnModel are not executable, raise an error boolean isAtLeastOneExecutable = validateAtLeastOneExecutable(bpmnModel, errors); // If at least one process definition is executable, show a warning for each of the none-executables if (isAtLeastOneExecutable) { for (Process process : bpmnModel.getProcesses()) { if (!process.isExecutable()) { addWarning(errors, Problems.PROCESS_DEFINITION_NOT_EXECUTABLE, process, process, "Process definition is not executable. Please verify that this is intentional."); } handleProcessConstraints(bpmnModel, process, errors); } } handleBPMNModelConstraints(bpmnModel, errors); }
public static void writeSignalsAndMessages(BpmnModel model, XMLStreamWriter xtw) throws Exception { for (Process process : model.getProcesses()) { for (FlowElement flowElement : process.findFlowElementsOfType(Event.class)) { Event event = (Event) flowElement;
for (Process process : bpmnModel.getProcesses()) { if (!process.isExecutable()) { continue;
for (Process process : bpmnModel.getProcesses()) { if (!process.isExecutable()) { continue;
bpmnModel.getProcesses().add(process); process.setId(BpmnJsonConverterUtil.getPropertyValueAsString(PROPERTY_PROCESS_ID, modelNode)); process.setName(BpmnJsonConverterUtil.getPropertyValueAsString(PROPERTY_NAME, modelNode)); flowConverter.convertToBpmnModel(shapeNode, modelNode, this, lane, shapeMap, bpmnModel); } else { flowConverter.convertToBpmnModel(shapeNode, modelNode, this, bpmnModel.getProcesses().get(0), shapeMap, bpmnModel); for (Process process : bpmnModel.getProcesses()) { for (FlowElement flowElement : process.findFlowElementsOfType(SubProcess.class)) { SubProcess subProcess = (SubProcess) flowElement; for (Process process : bpmnModel.getProcesses()) { postProcessElements(process, process.getFlowElements(), edgeMap, bpmnModel, allFlowMap, gatewayWithOrderList);
for (org.flowable.bpmn.model.Process process : pojoModel.getProcesses()) { processElements(process.getFlowElements(), pojoModel, elementArray, flowArray, collapsedArray, diagramInfo, completedElements, currentElements, null);
for (Process process : model.getProcesses()) { processDataStoreReferences(process, baseElement.getId(), outgoingArrayNode);
for (org.flowable.bpmn.model.Process process : pojoModel.getProcesses()) { processElements(process.getFlowElements(), pojoModel, elementArray, flowArray, collapsedArray, diagramInfo, completedElements, currentElements, breakpoints, null, processInstanceId);