in taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/validation/correctness/CorrectnessVisitor.java [426:462]
public void visitProcessorBinding(ProcessorBinding bean) {
Processor boundProcessor = bean.getBoundProcessor();
Activity boundActivity = bean.getBoundActivity();
WorkflowBundle workflowBundle = findAncestral(bean,
WorkflowBundle.class);
if (boundProcessor != null) {
WorkflowBundle boundProcessorBundle = findAncestral(boundProcessor,
WorkflowBundle.class);
if ((workflowBundle == null)
|| !workflowBundle.equals(boundProcessorBundle))
listener.outOfScopeValue(bean, "boundProcessor", boundProcessor);
}
if (boundActivity != null) {
WorkflowBundle boundActivityBundle = findAncestral(boundActivity,
WorkflowBundle.class);
if ((workflowBundle == null)
|| !workflowBundle.equals(boundActivityBundle))
listener.outOfScopeValue(bean, "boundActivity", boundActivity);
}
Integer activityPosition = bean.getActivityPosition();
if (activityPosition != null && activityPosition < 0)
listener.negativeValue(bean, "activityPosition", activityPosition);
if (checkComplete) {
if (boundProcessor == null)
listener.nullField(bean, "boundProcessor");
if (boundActivity == null)
listener.nullField(bean, "boundActivity");
// ActivityPosition can be null
if (bean.getInputPortBindings() == null)
listener.nullField(bean, "inputPortBindings");
if (bean.getOutputPortBindings() == null)
listener.nullField(bean, "outputPortBindings");
}
}