public static TokenProcessingEntity getTokenProcessingEntityWithEventHandlingInputPort()

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


	public static TokenProcessingEntity getTokenProcessingEntityWithEventHandlingInputPort(
			EventHandlingInputPort port, Dataflow workflow) {
		// First check the workflow's outputs
		for (DataflowOutputPort output : workflow.getOutputPorts())
			if (output.getInternalInputPort().equals(port))
				return workflow;

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

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

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

		return null;
	}