in taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java [233:263]
public void visitDataLink(DataLink bean) {
ReceiverPort sendsTo = bean.getSendsTo();
SenderPort receivesFrom = bean.getReceivesFrom();
Workflow parent = bean.getParent();
if (sendsTo != null) {
Workflow sendsToWorkflow = findAncestral((Child<?>) sendsTo,
Workflow.class);
if ((parent == null) || !parent.equals(sendsToWorkflow))
listener.outOfScopeValue(bean, "sendsTo", sendsTo);
}
if (receivesFrom != null) {
Workflow receivesFromWorkflow = findAncestral((Child<?>) receivesFrom,
Workflow.class);
if ((parent == null) || !parent.equals(receivesFromWorkflow))
listener.outOfScopeValue(bean, "receivesFrom", receivesFrom);
}
Integer mergePosition = bean.getMergePosition();
if (mergePosition != null && mergePosition < 0)
listener.negativeValue(bean, "mergePosition", mergePosition);
// How to check mergePosition
if (checkComplete) {
if (sendsTo == null)
listener.nullField(bean, "sendsTo");
if (receivesFrom == null)
listener.nullField(bean, "receivesFrom");
}
}