if (sp.getIoSpecification() == null) { InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification(); sp.setIoSpecification(iospec); if (properties.get("assignments") != null && properties.get("assignments").length() > 0 && sp.getIoSpecification() != null) { String[] allAssignments = properties.get("assignments").split(",\\s*"); for (String assignment : allAssignments) { if (sp.getIoSpecification() != null && sp.getIoSpecification().getDataOutputs() != null) { List<DataInput> dataInputs = sp.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(sp.getId() + "_" + fromPart + "InputX")) { List<DataOutput> dataOutputs = sp.getIoSpecification().getDataOutputs(); if (isDataOutput) { DataOutputAssociation doa = Bpmn2Factory.eINSTANCE.createDataOutputAssociation(); ie.setId(fromPart); dia.getSourceRef().add(ie); List<DataInput> dataInputs = sp.getIoSpecification().getDataInputs(); for (DataInput di : dataInputs) { if (di.getId().equals(sp.getId() + "_" + assignmentParts[1] + "InputX")) { if (sp.getIoSpecification() == null) { InputOutputSpecification iospec = Bpmn2Factory.eINSTANCE.createInputOutputSpecification(); sp.setIoSpecification(iospec); } else { sp.getIoSpecification().getDataInputs().clear(); sp.getIoSpecification().getDataOutputs().clear();
List<DataInput> taskDataInputs = subProcess.getIoSpecification().getDataInputs(); if (taskDataInputs != null) { for (DataInput din : taskDataInputs) { List<DataOutput> taskDataOutputs = subProcess.getIoSpecification().getDataOutputs(); if (taskDataOutputs != null) { for (DataOutput dout : taskDataOutputs) {