public SubProcessPropertyReader(SubProcess element, BPMNDiagram diagram, DefinitionResolver definitionResolver) { super(element, diagram, definitionResolver.getShape(element.getId()), definitionResolver.getResolutionFactor()); this.process = element; this.definitionResolver = definitionResolver; }
public DataInput createDataInput(String name) { DataInput dataInput = bpmn2.createDataInput(); dataInput.setId(Ids.dataInput(process.getId(), name)); dataInput.setName(name); this.ioSpec.getDataInputs().add(dataInput); return dataInput; }
public DataOutput createDataOutput(String value) { DataOutput dataOutput = bpmn2.createDataOutput(); dataOutput.setId(Ids.dataOutput(process.getId(), value)); dataOutput.setName(value); this.ioSpec.getDataOutputs().add(dataOutput); return dataOutput; }
public void setProcessVariables(ProcessVariables processVariables) { String value = processVariables.getValue(); DeclarationList declarationList = DeclarationList.fromString(value); List<Property> properties = process.getProperties(); declarationList.getDeclarations().forEach(decl -> { VariableScope.Variable variable = variableScope.declare(this.process.getId(), decl.getIdentifier(), decl.getType()); properties.add(variable.getTypedIdentifier()); this.itemDefinitions.add(variable.getTypeDeclaration()); }); }
public void setCollectionOutput(String collectionOutput) { // ignore empty input if (collectionOutput == null) { return; } DataOutput dataOutputElement = createDataOutput("OUT_COLLECTION"); Property prop = findPropertyById(collectionOutput); // check whether this exist or throws miloop.setLoopDataOutputRef(dataOutputElement); ItemDefinition item = bpmn2.createItemDefinition(); item.setId(Ids.multiInstanceItemType(process.getId(), "OUT_COLLECTION")); dataOutputElement.setItemSubjectRef(item); this.addItemDefinition(item); this.outputSet.getDataOutputRefs().add(dataOutputElement); DataOutputAssociation doa = Bpmn2Factory.eINSTANCE.createDataOutputAssociation(); doa.getSourceRef().add(dataOutputElement); doa.setTargetRef(prop); process.getDataOutputAssociations().add(doa); }
public void setOutput(String name) { DataOutput dataOutput = createDataOutput(name); miloop.setOutputDataItem(dataOutput); ItemDefinition item = bpmn2.createItemDefinition(); item.setId(Ids.multiInstanceItemType(process.getId(), name)); dataOutput.setItemSubjectRef(item); this.addItemDefinition(item); }
List<DataInput> dataInputs = sp.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(sp.getId() + "_" + fromPart + "InputX")) { dia.setTargetRef(di); if (di.getName().equals("TaskName")) { DataOutputAssociation doa = Bpmn2Factory.eINSTANCE.createDataOutputAssociation(); for (DataOutput dout : dataOutputs) { if (dout.getId().equals(sp.getId() + "_" + fromPart + "OutputX")) { doa.getSourceRef().add(dout); break; List<DataInput> dataInputs = sp.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(sp.getId() + "_" + assignmentParts[1] + "InputX")) { dia.setTargetRef(di); break; multiInput.setId(sp.getId() + "_" + "input"); multiInput.setName(inputCollectionStr); sp.getIoSpecification().getDataInputs().add(multiInput); din.setId(miDataInputStr); ItemDefinition itemDef = Bpmn2Factory.eINSTANCE.createItemDefinition(); itemDef.setId(sp.getId() + "_" + "multiInstanceInputItemType"); din.setItemSubjectRef(itemDef); addSubprocessItemDefs(itemDef); multiOutput.setId(sp.getId() + "_" + "output");
setSimulationProperties(subProcess.getId(), properties); marshallProperties(properties, subProcess.getId(), generator); boundaryEvents); for (BoundaryEvent be : boundaryEvents) { if (be.getAttachedToRef().getId().equals(subProcess.getId())) { generator.writeStartObject(); generator.writeObjectField("resourceId",
private BpmnNode convertEventSubprocessNode(SubProcess subProcess) { Node<View<EventSubprocess>, Edge> node = delegate.factoryManager.newNode(subProcess.getId(), EventSubprocess.class); EventSubprocess definition = node.getContent().getDefinition(); SubProcessPropertyReader p = delegate.propertyReaderFactory.of(subProcess); definition.setGeneral(new BPMNGeneralSet(new Name(subProcess.getName()), new Documentation(p.getDocumentation()) )); definition.setExecutionSet(new EventSubprocessExecutionSet(new IsAsync(p.isAsync()))); definition.setProcessData(new ProcessData(new ProcessVariables(p.getProcessVariables()))); definition.setSimulationSet(p.getSimulationSet()); definition.setDimensionsSet(p.getRectangleDimensionsSet()); definition.setFontSet(p.getFontSet()); definition.setBackgroundSet(p.getBackgroundSet()); node.getContent().setBounds(p.getBounds()); return BpmnNode.of(node); }
private BpmnNode convertEmbeddedSubprocessNode(SubProcess subProcess) { Node<View<EmbeddedSubprocess>, Edge> node = delegate.factoryManager.newNode(subProcess.getId(), EmbeddedSubprocess.class); EmbeddedSubprocess definition = node.getContent().getDefinition(); SubProcessPropertyReader p = delegate.propertyReaderFactory.of(subProcess); definition.setGeneral(new BPMNGeneralSet(new Name(subProcess.getName()), new Documentation(p.getDocumentation()) )); definition.setExecutionSet(new EmbeddedSubprocessExecutionSet(new OnEntryAction(p.getOnEntryAction()), new OnExitAction(p.getOnExitAction()), new IsAsync(p.isAsync()) )); definition.setProcessData(new ProcessData(new ProcessVariables(p.getProcessVariables()))); definition.setSimulationSet(p.getSimulationSet()); node.getContent().setBounds(p.getBounds()); definition.setDimensionsSet(p.getRectangleDimensionsSet()); definition.setFontSet(p.getFontSet()); definition.setBackgroundSet(p.getBackgroundSet()); return BpmnNode.of(node); }
private BpmnNode convertMultInstanceSubprocessNode(SubProcess subProcess) { Node<View<MultipleInstanceSubprocess>, Edge> node = delegate.factoryManager.newNode(subProcess.getId(), MultipleInstanceSubprocess.class); MultipleInstanceSubprocess definition = node.getContent().getDefinition(); MultipleInstanceSubProcessPropertyReader p = delegate.propertyReaderFactory.ofMultipleInstance(subProcess); definition.setGeneral(new BPMNGeneralSet(new Name(p.getName()), new Documentation(p.getDocumentation()) )); definition.setExecutionSet( new MultipleInstanceSubprocessTaskExecutionSet(new MultipleInstanceCollectionInput(p.getCollectionInput()), new MultipleInstanceCollectionOutput(p.getCollectionOutput()), new MultipleInstanceDataInput(p.getDataInput()), new MultipleInstanceDataOutput(p.getDataOutput()), new MultipleInstanceCompletionCondition(p.getCompletionCondition()), new OnEntryAction(p.getOnEntryAction()), new OnExitAction(p.getOnExitAction()), new MITrigger("true"), new IsAsync(p.isAsync()) )); definition.setProcessData(new ProcessData(new ProcessVariables(p.getProcessVariables()))); definition.setSimulationSet(p.getSimulationSet()); definition.setDimensionsSet(p.getRectangleDimensionsSet()); definition.setFontSet(p.getFontSet()); definition.setBackgroundSet(p.getBackgroundSet()); node.getContent().setBounds(p.getBounds()); return BpmnNode.of(node); }