public String getCollectionOutput() { ItemAwareElement ieDataOutput = getMultiInstanceLoopCharacteristics() .map(MultiInstanceLoopCharacteristics::getLoopDataOutputRef) .orElse(null); return process.getDataOutputAssociations().stream() .filter(doa -> doa.getSourceRef().get(0).getId().equals(ieDataOutput.getId())) .map(doa -> getVariableName((Property) doa.getTargetRef())) .findFirst() .orElse(null); }
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); }
ie.setId(assignmentParts[1]); doa.setTargetRef(ie); sp.getDataOutputAssociations().add(doa); } else if (isDataInput) { DataInputAssociation dia = Bpmn2Factory.eINSTANCE.createDataInputAssociation(); sp.getIoSpecification().getDataOutputs().clear(); sp.getDataInputAssociations().clear(); sp.getDataOutputAssociations().clear(); doa.getSourceRef().add(multiOutput); doa.setTargetRef(ie2); sp.getDataOutputAssociations().add(doa); loopCharacteristics.setLoopDataOutputRef(multiOutput);
List<DataOutputAssociation> outputAssociations = subProcess.getDataOutputAssociations(); marshallDataInputAssociations(associationBuff, inputAssociations); List<DataOutputAssociation> taskOutputAssociations = subProcess.getDataOutputAssociations(); for (DataOutputAssociation dout : taskOutputAssociations) { if (dout.getSourceRef().get(0).equals(iedataoutput)) {