/** * Find the first processor that contains an activity that has the given * activity input port. See #get * * @param dataflow * @param targetPort * @return */ public static Processor getFirstProcessorWithActivityInputPort( Dataflow dataflow, ActivityInputPort targetPort) { Collection<Processor> processorsWithActivityPort = getProcessorsWithActivityInputPort( dataflow, targetPort); for (Processor processor : processorsWithActivityPort) { return processor; } return null; }
public static Collection<Processor> getProcessorsWithActivityInputPort( Dataflow dataflow, ActivityInputPort inputPort) { 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 = getProcessorsWithActivityInputPort( nestedWorkflow, inputPort); 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.getInputPorts().contains(inputPort)) { processors.add(processor); } } } return processors; }
public static Collection<Processor> getProcessorsWithActivityInputPort( Dataflow dataflow, ActivityInputPort inputPort) { 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 = getProcessorsWithActivityInputPort( nestedWorkflow, inputPort); 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.getInputPorts().contains(inputPort)) { processors.add(processor); } } } return processors; }
.getProcessorsWithActivityInputPort(dataflow, activityInput); if (processors.isEmpty()) { throw new IllegalArgumentException("Can't find ActivityInputPort "
Collection<Processor> processors = Tools.getProcessorsWithActivityInputPort(dataflow, activityInputPort);
HashSet<Processor> processorsWithInputPort = (HashSet<Processor>) Tools.getProcessorsWithActivityInputPort(dataflow, inputPort); Processor sinkProcessor = (Processor) (processorsWithInputPort.toArray()[0]); ProcessorInputPort sinkProcessorInputPort =
Collection<Processor> processors = null; if (hasInputPort) { processors = Tools.getProcessorsWithActivityInputPort(currentDataflow, (ActivityInputPort)activityPort);