private EventHandlingInputPort getSinkPort(Processor processor, Activity<?> activity, String portName, List<Edit<?>> editList) { InputPort activityPort = net.sf.taverna.t2.workflowmodel.utils.Tools.getActivityInputPort(activity, portName); //check if processor port exists EventHandlingInputPort input = net.sf.taverna.t2.workflowmodel.utils.Tools.getProcessorInputPort(processor, activity, activityPort); if (input == null) { //port doesn't exist so create a processor port and map it ProcessorInputPort processorInputPort = edits.createProcessorInputPort(processor, activityPort.getName(), activityPort.getDepth()); editList.add(edits.getAddProcessorInputPortEdit(processor, processorInputPort)); editList.add(edits.getAddActivityInputPortMappingEdit(activity, activityPort.getName(), activityPort.getName())); input = processorInputPort; } return input; }
public static Edit<?> getMoveDatalinkSinkEdit(Dataflow dataflow, Datalink datalink, EventHandlingInputPort sink, Edits edits) { List<Edit<?>> editList = new ArrayList<Edit<?>>(); editList.add(edits.getDisconnectDatalinkEdit(datalink)); if (datalink.getSink() instanceof ProcessorInputPort) { editList .add(getRemoveProcessorInputPortEdit((ProcessorInputPort) datalink .getSink(), edits)); } editList.add(getCreateAndConnectDatalinkEdit(dataflow, datalink .getSource(), sink, edits)); return new CompoundEdit(editList); }
/** * * @see net.sf.taverna.t2.workflowmodel.utils.Tools#uniqueProcessorName(String, Dataflow) */ @Deprecated public static String uniqueProcessorName(String preferredName, Dataflow dataflow) { return net.sf.taverna.t2.workflowmodel.utils.Tools.uniqueProcessorName(preferredName, dataflow); }
EventHandlingInputPort sink = findEventHandlingInputPort(editList, dataflow, inputPort, edits); EventForwardingOutputPort source = findEventHandlingOutputPort( editList, dataflow, outputPort, edits); editList.add(getCreateAndConnectDatalinkEdit(dataflow, source, sink, edits)); return new CompoundEdit(editList);
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; }
private EventForwardingOutputPort getSourcePort(Processor processor, Activity<?> activity, String portName, List<Edit<?>> editList) { OutputPort activityPort = net.sf.taverna.t2.workflowmodel.utils.Tools.getActivityOutputPort(activity, portName); //check if processor port exists EventForwardingOutputPort output = net.sf.taverna.t2.workflowmodel.utils.Tools.getProcessorOutputPort(processor, activity, activityPort); if (output == null) { //port doesn't exist so create a processor port and map it ProcessorOutputPort processorOutputPort = edits.createProcessorOutputPort(processor, activityPort.getName(), activityPort.getDepth(), activityPort.getGranularDepth()); editList.add(edits.getAddProcessorOutputPortEdit(processor, processorOutputPort)); editList.add(edits.getAddActivityOutputPortMappingEdit(activity, activityPort.getName(), activityPort.getName())); output = processorOutputPort; } return output; }
.uniqueProcessorName(inputPort.getName(), dataflow); sourceProcessor, boActivity, "mobyData", linkEditList); EventHandlingInputPort sinkPort = getSinkPort(sinkProcessor, activity, inputPort.getName(), linkEditList); linkEditList.add(Tools.getCreateAndConnectDatalinkEdit(dataflow, sourcePort, sinkPort)); CompoundEdit linkEdit = new CompoundEdit(linkEditList);
.uniqueProcessorName("Parse Moby Data(" + defaultName + ")", dataflow); compoundEdit.doEdit(); Processor sourceProcessor = Tools.getProcessorsWithActivity(dataflow, activity).iterator().next(); linkEditList.add(Tools.getCreateAndConnectDatalinkEdit(dataflow, sourcePort, sinkPort)); linkEdit = new CompoundEdit(linkEditList);
if (activity != null && processor != null) { output = Tools.getProcessorOutputPort(processor, activity, source); if (output == null) { if (activity != null && processor != null) { input = Tools.getProcessorInputPort(processor, activity, sink); if (input == null) { editList.add(addProcessorInputEdit); editList.add(Tools.getCreateAndConnectDatalinkEdit( dataflow, output, input)); edit = new CompoundEdit(editList); if (activity != null && processor != null) { input = Tools.getProcessorInputPort(processor, activity, sink); if (input == null) { editList.add(Tools.getMoveDatalinkSinkEdit(dataflow, (Datalink) edgeMoveElement.getDataflowObject(), input));
int originalOutputSize = originalActivity.getOutputPorts().size(); for (String name : ignorableNames) { if (getActivityOutputPort(originalActivity, name) != null) originalOutputSize--; if (getActivityOutputPort(replacementActivity, name) != null) replacementOutputSize--; String aipName = aip.getName(); int aipDepth = aip.getDepth(); ActivityInputPort caip = getActivityInputPort(replacementActivity, aipName); if ((caip == null) || (caip.getDepth() != aipDepth)) String aopName = aop.getName(); int aopDepth = aop.getDepth(); OutputPort caop = getActivityOutputPort(replacementActivity, aopName); if (((caop == null) || (aopDepth != caop.getDepth())) String newName = Tools.uniqueProcessorName(Tools.sanitiseName(possibleName), d); currentWorkflowEditList.add(edits.getRenameProcessorEdit(p, newName));
String defaultName = serviceName; String name = Tools .uniqueProcessorName(defaultName, dataflow); compoundEdit.doEdit(); net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = Tools.getProcessorsWithActivityOutputPort(dataflow, outputPort).iterator().next(); .getCreateAndConnectDatalinkEdit( dataflow, sourcePort, sinkPort));
.getProcessorsWithActivityInputPort(dataflow, activityInput); if (processors.isEmpty()) { throw new IllegalArgumentException("Can't find ActivityInputPort " ProcessorInputPort input = Tools.getProcessorInputPort(processor, activity, activityInput); if (input != null) { String processorPortName = uniquePortName(activityInput.getName(), processor.getInputPorts()); ProcessorInputPort processorInputPort = edits.createProcessorInputPort(
.getProcessorsWithActivityOutputPort(dataflow, activityOutput); if (processors.isEmpty()) { throw new IllegalArgumentException("Can't find ActivityOutputPort " ProcessorOutputPort processorOutputPort = Tools.getProcessorOutputPort( processor, activity, activityOutput); if (processorOutputPort != null) { String processorPortName = uniquePortName(activityOutput.getName(), processor.getOutputPorts()); processorOutputPort = edits.createProcessorOutputPort(processor,
compoundEdit.doEdit(); Processor sourceProcessor = Tools.getProcessorsWithActivity(dataflow, activity).iterator().next(); linkEditList.add(Tools.getCreateAndConnectDatalinkEdit(dataflow, sourcePort, sinkPort)); linkEdit = new CompoundEdit(linkEditList);
Collection<Processor> processors = Tools.getProcessorsWithActivityInputPort(dataflow, activityInputPort); EventHandlingInputPort processorInputPort = Tools.getProcessorInputPort(processor, activity, activityInputPort); for(Datalink datalink : dataflow.getLinks()){ if (datalink.getSink().equals(processorInputPort)){
compoundEdit.doEdit(); net.sf.taverna.t2.workflowmodel.Processor sourceProcessor = Tools.getProcessorsWithActivityOutputPort(dataflow, outputPort).iterator().next(); .getCreateAndConnectDatalinkEdit( dataflow, sourcePort, sinkPort));
String portName = Tools.uniquePortName(prefix + input.getName(), dataflow.getInputPorts()); DataflowInputPort newInpPort = edits.createDataflowInputPort( String portName = Tools.uniquePortName(prefix + output.getName(), dataflow.getOutputPorts()); DataflowOutputPort newOutputPort = edits.createDataflowOutputPort( String processorName = Tools.uniqueProcessorName(prefix + originalName, dataflow); try { String mergeName = Tools.uniqueProcessorName(prefix + originalName, dataflow); try {
Collection<Processor> processors = null; if (hasInputPort) { processors = Tools.getProcessorsWithActivityInputPort(currentDataflow, (ActivityInputPort)activityPort); processors = Tools.getProcessorsWithActivityOutputPort(currentDataflow, (ActivityOutputPort)activityPort);
continue; ProcessorInputPort pip = Tools.getProcessorInputPort(p, (Activity<?>) o, aip);
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; }