public static Processor getFirstProcessorWithActivityOutputPort( Dataflow dataflow, ActivityOutputPort targetPort) { Collection<Processor> processorsWithActivityPort = getProcessorsWithActivityOutputPort( dataflow, targetPort); for (Processor processor : processorsWithActivityPort) { return processor; } return null; }
public static Collection<Processor> getProcessorsWithActivityOutputPort(Dataflow dataflow, OutputPort outputPort) { Set<Processor> processors = new HashSet<Processor>(); for (Processor processor : dataflow.getProcessors()) { // Does it contain a nested workflow? if (containsNestedWorkflow(processor)) { // Get the nested workflow and check all its nested processors Dataflow nestedWorkflow = ((NestedDataflow) processor.getActivityList().get(0)) .getNestedDataflow(); Collection<Processor> nested_processors = getProcessorsWithActivityOutputPort( nestedWorkflow, outputPort); if (!nested_processors.isEmpty()) processors.addAll(nested_processors); } // Check all processor's activities (even if the processor contained a nested workflow, // as its dataflow activity still contains input and output ports) for (Activity<?> activity : processor.getActivityList()) { if (activity.getOutputPorts().contains(outputPort)) { processors.add(processor); } } } return processors; }
public static Collection<Processor> getProcessorsWithActivityOutputPort( Dataflow dataflow, OutputPort outputPort) { Set<Processor> processors = new HashSet<Processor>(); for (Processor processor : dataflow.getProcessors()) { // Does it contain a nested workflow? if (containsNestedWorkflow(processor)) { // Get the nested workflow and check all its nested processors Dataflow nestedWorkflow = ((NestedDataflow) processor .getActivityList().get(0)).getNestedDataflow(); Collection<Processor> nested_processors = getProcessorsWithActivityOutputPort( nestedWorkflow, outputPort); if (!nested_processors.isEmpty()) processors.addAll(nested_processors); } // Check all processor's activities (even if the processor contained // a nested workflow, // as its dataflow activity still contains input and output ports) for (Activity<?> activity : processor.getActivityList()) { if (activity.getOutputPorts().contains(outputPort)) { processors.add(processor); } } } return processors; }
.getProcessorsWithActivityOutputPort(dataflow, activityOutput); if (processors.isEmpty()) { throw new IllegalArgumentException("Can't find ActivityOutputPort "
compoundEdit.doEdit(); net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = Tools.getProcessorsWithActivityOutputPort(dataflow, outputPort).iterator().next();
compoundEdit.doEdit(); net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = Tools.getProcessorsWithActivityOutputPort(dataflow, outputPort).iterator().next();
processors = Tools.getProcessorsWithActivityOutputPort(currentDataflow, (ActivityOutputPort)activityPort);