private static List<AssociationDeclaration> outAssociationDeclarations(List<DataOutputAssociation> outputAssociations) { return outputAssociations.stream() .map(out -> new AssociationDeclaration( Direction.Output, Type.SourceTarget, ((DataOutput) out.getSourceRef().get(0)).getName(), getPropertyName((Property) out.getTargetRef()))) .collect(Collectors.toList()); }
private void marshallDataOutputAssociations(StringBuilder associationBuff, List<DataOutputAssociation> outputAssociations) { if (outputAssociations != null) { for (DataOutputAssociation dataout : outputAssociations) { if (dataout.getSourceRef().size() > 0) { String lhsAssociation = ((DataOutput) dataout.getSourceRef().get(0)).getName(); String rhsAssociation = dataout.getTargetRef().getId(); if (dataout.getTransformation() != null && dataout.getTransformation().getBody() != null) { rhsAssociation = encodeAssociationValue(dataout.getTransformation().getBody()); } if (lhsAssociation != null && lhsAssociation.length() > 0) { associationBuff.append("[dout]" + lhsAssociation).append("->").append(rhsAssociation); associationBuff.append(","); } } } } }
private static DataOutputAssociation associationOf(Property source, DataOutput dataOutput) { DataOutputAssociation dataOutputAssociation = bpmn2.createDataOutputAssociation(); dataOutputAssociation .getSourceRef() .add(dataOutput); dataOutputAssociation .setTargetRef(source); return dataOutputAssociation; } }
private ItemAwareElement getDataOutputAssociationSourceRef(Activity activity, String idSuffix) { List<DataOutputAssociation> dataOutputAssociations = activity.getDataOutputAssociations(); if (dataOutputAssociations != null) { for (DataOutputAssociation dataOutputAssociation : dataOutputAssociations) { List<ItemAwareElement> sourceRef = dataOutputAssociation.getSourceRef(); if (sourceRef != null && !sourceRef.isEmpty()) { ItemAwareElement result = Arrays.stream(sourceRef.toArray(new ItemAwareElement[sourceRef.size()])) .filter(itemAwareElement -> itemAwareElement.getId().endsWith(idSuffix)) .findFirst() .orElse(null); if (result != null) { return result; } } } } return null; }
private ItemAwareElement getDataOutputAssociationTargetRef(Activity activity, String id) { List<DataOutputAssociation> dataOutputAssociations = activity.getDataOutputAssociations(); if (dataOutputAssociations != null) { for (DataOutputAssociation dataOutputAssociation : dataOutputAssociations) { ItemAwareElement targetRef = dataOutputAssociation.getTargetRef(); if (targetRef != null && id.equals(targetRef.getId())) { return targetRef; } } } return null; }
private ItemAwareElement getDataOutputAssociationSourceRef(Activity activity, String idSuffix) { List<DataOutputAssociation> dataOutputAssociations = activity.getDataOutputAssociations(); if (dataOutputAssociations != null) { for (DataOutputAssociation dataOutputAssociation : dataOutputAssociations) { List<ItemAwareElement> sourceRef = dataOutputAssociation.getSourceRef(); if (sourceRef != null && !sourceRef.isEmpty()) { ItemAwareElement result = Arrays.stream(sourceRef.toArray(new ItemAwareElement[sourceRef.size()])) .filter(itemAwareElement -> itemAwareElement.getId().endsWith(idSuffix)) .findFirst() .orElse(null); if (result != null) { return result; } } } } return null; }
private ItemAwareElement getDataOutputAssociationTargetRef(Activity activity, String id) { List<DataOutputAssociation> dataOutputAssociations = activity.getDataOutputAssociations(); if (dataOutputAssociations != null) { for (DataOutputAssociation dataOutputAssociation : dataOutputAssociations) { ItemAwareElement targetRef = dataOutputAssociation.getTargetRef(); if (targetRef != null && id.equals(targetRef.getId()) || id.equals(((Property) targetRef).getName())) { return targetRef; } } } return null; } }
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); }
List<DataOutputAssociation> taskOutputAssociations = task.getDataOutputAssociations(); for (DataOutputAssociation dout : taskOutputAssociations) { if (dout.getSourceRef().get(0).equals(iedataoutput)) { properties.put("multipleinstancecollectionoutput", dout.getTargetRef().getId()); break; if (dataout.getTargetRef().getId().equals(taskMultiLoop.getOutputDataItem().getId())) { proceed = false; if (dataout.getSourceRef().get(0).equals(taskMultiLoop.getLoopDataOutputRef())) { proceed = false; if (dataout.getSourceRef().size() > 0) { String lhsAssociation = ((DataOutput) dataout.getSourceRef().get(0)).getName(); String rhsAssociation = dataout.getTargetRef().getId(); boolean wasBiDirectional = false; if (dataout.getTransformation() != null && dataout.getTransformation().getBody() != null) { rhsAssociation = encodeAssociationValue(dataout.getTransformation().getBody());
if (outputAssociation.getSourceRef() != null && outputAssociation.getSourceRef().size() == 1) { DataOutput output = (DataOutput) outputAssociation.getSourceRef().get(0);
if (outputList != null) { for (DataOutputAssociation output : outputList) { ItemAwareElement targetEle = output.getTargetRef(); if (targetEle != null) { String[] targetEleParts = targetEle.getId().split("\\.");
for ( DataOutputAssociation outputAssociation : dataOutputAssociations ) { if ( outputAssociation.getSourceRef() != null && outputAssociation.getSourceRef().size() > 0 && outputAssociation.getTargetRef() != null ) { String variableId = outputAssociation.getTargetRef().getId(); DataOutput output = (DataOutput) outputAssociation.getSourceRef().get( 0 ); String outId = output != null ? output.getName() : null;
for (DataOutput ddo : dataOutputs) { if (ddo.getId().equals(event.getId() + "_" + fromPart)) { doa.getSourceRef().add(ddo); doa.setTargetRef(e); event.getDataOutputAssociation().add(doa);
StringBuffer doutassociationbuff = new StringBuffer(); for (DataOutputAssociation doa : outputAssociations) { String doaName = ((DataOutput) doa.getSourceRef().get(0)).getName(); if (doaName != null && doaName.length() > 0) { doutassociationbuff.append("[dout]" + ((DataOutput) doa.getSourceRef().get(0)).getName()); doutassociationbuff.append("->"); doutassociationbuff.append(doa.getTargetRef().getId()); doutassociationbuff.append(",");
for (DataOutput dout : dataOutputs) { if (dout.getId().equals(callActivity.getId() + "_" + fromPart + "OutputX")) { doa.getSourceRef().add(dout); break; doa.setTargetRef(ie); callActivity.getDataOutputAssociations().add(doa); } else if (isDataInput) {
List<DataOutputAssociation> taskOutputAssociations = subProcess.getDataOutputAssociations(); for (DataOutputAssociation dout : taskOutputAssociations) { if (dout.getSourceRef().get(0).equals(iedataoutput)) { properties.put(MULTIPLEINSTANCECOLLECTIONOUTPUT, dout.getTargetRef().getId()); break;
for (DataOutput dout : dataOutputs) { if (dout.getId().equals(task.getId() + "_" + fromPart + (fromPart.endsWith("OutputX") ? "" : "OutputX"))) { doa.getSourceRef().add(dout); break; doa.setTargetRef(ie); task.getDataOutputAssociations().add(doa); } else if (isDataInput) {
for (DataOutput dout : dataOutputs) { if (dout.getId().equals(sp.getId() + "_" + fromPart + "OutputX")) { doa.getSourceRef().add(dout); break; doa.setTargetRef(ie); sp.getDataOutputAssociations().add(doa); } else if (isDataInput) { ItemAwareElement ie2 = Bpmn2Factory.eINSTANCE.createItemAwareElement(); ie2.setId(outputCollectionStr); doa.getSourceRef().add(multiOutput); doa.setTargetRef(ie2); sp.getDataOutputAssociations().add(doa); loopCharacteristics.setLoopDataOutputRef(multiOutput);
loopCharacteristics.setLoopDataOutputRef(miCollectionOutputDI); DataOutputAssociation miCollectionInputDataOutputAssociation = Bpmn2Factory.eINSTANCE.createDataOutputAssociation(); miCollectionInputDataOutputAssociation.setTargetRef(prop); miCollectionInputDataOutputAssociation.getSourceRef().add(miCollectionOutputDI); task.getDataOutputAssociations().add(miCollectionInputDataOutputAssociation); break; dout.setTargetRef(((MultiInstanceLoopCharacteristics) task.getLoopCharacteristics()).getOutputDataItem()); List<DataOutput> douts = task.getIoSpecification().getDataOutputs(); for (DataOutput dou : douts) { if (dou.getName().equals(miDataOutput)) { dout.getSourceRef().add(dou); task.getDataOutputAssociations().add(dout); break;