public DataLink getMainIncomingDataLink(ReceiverPort rp) { List<DataLink> incomingLinks = getIncomingDataLinks(rp); if (incomingLinks.isEmpty()) { return null; } if (incomingLinks.size() == 1) { return incomingLinks.get(0); } for (DataLink dl : incomingLinks) { if (dl.getMergePosition() == 0) { return dl; } } return null; }
@Override public int compareTo(Object other) { if (getClass() != other.getClass()) { int classCompare = getClass().getCanonicalName().compareTo( other.getClass().getCanonicalName()); if (classCompare != 0) { // Allow having say InputPorts and OutputPorts in the same sorted list return classCompare; } } DataLink o1 = this; DataLink o2 = (DataLink) other; int senderCompare = portCompare(o1.getReceivesFrom(), o2.getReceivesFrom()); if (senderCompare != 0) { return senderCompare; } int receiverCompare = portCompare(o1.getSendsTo(), o2.getSendsTo()); if (receiverCompare != 0) { return receiverCompare; } return NullSafeComparator.compareObjects(o1.getMergePosition(), o2.getMergePosition()); }
return false; if (getMergePosition() == null) { if (other.getMergePosition() != null) { return false; } else if (!getMergePosition().equals(other.getMergePosition())) { return false;
"{0}?{1}={2}&{3}={4}", DATALINK, FROM, receivesFrom, TO, sendsTo); if (dataLink.getMergePosition() != null) { dataLinkUri += MessageFormat.format("&{0}={1}", MERGE_POSITION, dataLink.getMergePosition());
@Override protected void cloneInto(WorkflowBean clone, Cloning cloning) { DataLink cloneLink = (DataLink)clone; cloneLink.setMergePosition(getMergePosition()); cloneLink.setReceivesFrom(cloning.cloneIfNotInCache(getReceivesFrom())); cloneLink.setSendsTo(cloning.cloneIfNotInCache(getSendsTo())); }
Integer mergePosition = bean.getMergePosition(); if (mergePosition != null) { if (mergePosition < 0) {
link.setSendTo(makeResource(toUri)); if (dataLink.getMergePosition() != null) { MergePosition value = objectFactory.createDataLinkMergePosition(); value.setValue(dataLink .getMergePosition()); value.setDatatype(value.getDatatype()); link.setMergePosition(value);