public static TokenProcessingEntity getTokenProcessingEntityWithEventForwardingOutputPort()

in taverna-workflowmodel-api/src/main/java/org/apache/taverna/workflowmodel/utils/Tools.java [574:602]


	public static TokenProcessingEntity getTokenProcessingEntityWithEventForwardingOutputPort(
			EventForwardingOutputPort port, Dataflow workflow) {
		// First check the workflow's inputs
		for (DataflowInputPort input : workflow.getInputPorts())
			if (input.getInternalOutputPort().equals(port))
				return workflow;

		// Check workflow's merges
		for (Merge merge : workflow.getMerges())
			if (merge.getOutputPort().equals(port))
				return merge;

		// Check workflow's processors
		for (Processor processor : workflow.getProcessors()) {
			for (OutputPort output : processor.getOutputPorts())
				if (output.equals(port))
					return processor;

			// If processor contains a nested workflow - descend into it
			if (containsNestedWorkflow(processor)) {
				TokenProcessingEntity entity = getTokenProcessingEntityWithEventForwardingOutputPort(
						port, getNestedWorkflow(processor));
				if (entity != null)
					return entity;
			}
		}

		return null;
	}