本文整理汇总了Java中org.apache.taverna.scufl2.api.core.Workflow.getInputPorts方法的典型用法代码示例。如果您正苦于以下问题:Java Workflow.getInputPorts方法的具体用法?Java Workflow.getInputPorts怎么用?Java Workflow.getInputPorts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.taverna.scufl2.api.core.Workflow
的用法示例。
在下文中一共展示了Workflow.getInputPorts方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: makeInputDescriptor
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
/**
* Constructs input descriptions.
*
* @param run
* The run to build for.
* @param ui
* The mechanism for building URIs.
* @return The description of the <i>expected</i> inputs of the run.
*/
public InputDescription makeInputDescriptor(TavernaRun run, UriInfo ui) {
InputDescription desc = new InputDescription();
try {
UriBuilder ub = getRunUriBuilder(run, ui);
Workflow workflow = fillInFromWorkflow(run, ub, desc);
ub = ub.path("input/{name}");
for (InputWorkflowPort port : workflow.getInputPorts()) {
InputPort in = desc.addPort(port.getName());
in.href = ub.build(in.name);
try {
in.depth = port.getDepth();
} catch (NumberFormatException ex) {
in.depth = null;
}
}
} catch (IOException e) {
log.info("failure in conversion to .scufl2", e);
}
return desc;
}
示例2: assertHasInputPorts
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected void assertHasInputPorts(Workflow dataflow,
String... expectedInputPorts) {
Set<String> expectedNames = new HashSet<String>();
for (String expected : expectedInputPorts) {
expectedNames.add(expected);
}
Set<String> foundNames = new HashSet<String>();
for (InputWorkflowPort port : dataflow.getInputPorts()) {
String name = port.getName();
foundNames.add(name);
}
Set<String> extras = new HashSet<String>(foundNames);
extras.removeAll(expectedNames);
assertTrue("Unexpected input port " + extras, extras.isEmpty());
Set<String> missing = new HashSet<String>(expectedNames);
missing.removeAll(foundNames);
assertTrue("Could not find input port " + missing, missing.isEmpty());
}
示例3: addInputPorts
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void addInputPorts(Workflow workflow, Dataflow dataflow)
throws EditException {
for (InputWorkflowPort inputWorkflowPort : workflow.getInputPorts()) {
DataflowInputPort dataflowInputPort = edits
.createDataflowInputPort(inputWorkflowPort.getName(),
inputWorkflowPort.getDepth(),
inputWorkflowPort.getDepth(), dataflow);
edits.getAddDataflowInputPortEdit(dataflow, dataflowInputPort)
.doEdit();
outputPorts.put(inputWorkflowPort,
dataflowInputPort.getInternalOutputPort());
}
}
示例4: inheritDataLinkDepthsFromWorkflowInputPorts
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void inheritDataLinkDepthsFromWorkflowInputPorts() {
Workflow workflow = validatorState.get().getWorkflow();
for (InputWorkflowPort iwp : workflow.getInputPorts()) {
Integer iwpDepth = iwp.getDepth();
validatorState.get().getEventListener()
.depthResolution(iwp, iwpDepth);
validatorState.get().setPortResolvedDepth(iwp, iwpDepth);
for (DataLink dl : validatorState.get().getOutgoingDataLinks(iwp)) {
validatorState.get().getEventListener()
.depthResolution(dl, iwpDepth);
validatorState.get().setDataLinkResolvedDepth(dl, iwpDepth);
}
}
}
示例5: getMergeEdit
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
/**
* Make an {@link Edit} that when performed merges the given source dataflow
* into the destination dataflow.
* <p>
* Internally a copy is made of the source dataflow, to avoid modifying the
* links and processors.
*
* @param sourceWorkflow
* Dataflow to merge from
* @param prefix
* A prefix which will be inserted in front of the names for the
* merged workflow components.
* @return An edit that can perform and undo the insertion of the components
* from the source dataflow.
* @throws MergeException
* If the merge cannot be performed.
*/
public CompoundEdit getMergeEdit(Workflow sourceWorkflow, String prefix)
throws MergeException {
List<Edit<?>> compoundEdit = new ArrayList<>();
Workflow workflow = copyWorkflow(sourceWorkflow);
for (InputWorkflowPort input : workflow.getInputPorts()) {
destinationWorkflow.getInputPorts().addWithUniqueName(input);
destinationWorkflow.getInputPorts().remove(input);
compoundEdit.add(new AddWorkflowInputPortEdit(destinationWorkflow, input));
}
for (OutputWorkflowPort output : workflow.getOutputPorts()) {
destinationWorkflow.getOutputPorts().addWithUniqueName(output);
destinationWorkflow.getOutputPorts().remove(output);
compoundEdit.add(new AddWorkflowOutputPortEdit(destinationWorkflow, output));
}
for (Processor processor : workflow.getProcessors()) {
processor.setName(prefix + processor.getName());
compoundEdit.add(new AddProcessorEdit(destinationWorkflow, processor));
}
for (DataLink dataLink : workflow.getDataLinks()) {
compoundEdit.add(new AddDataLinkEdit(destinationWorkflow, dataLink));
}
for (ControlLink controlLink : workflow.getControlLinks()) {
compoundEdit.add(new AddChildEdit<Workflow>(destinationWorkflow, controlLink));
}
return new CompoundEdit(compoundEdit);
}
示例6: findInputPort
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected InputWorkflowPort findInputPort(Workflow wf, String name) {
for (InputWorkflowPort inp : wf.getInputPorts()) {
if (inp.getName().equals(name)) {
return inp;
}
}
throw new IllegalArgumentException("Unknown input port: " + name);
}
示例7: createTree
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
/**
* Creates the tree model from a given workflow, for a given tree root.
*/
private void createTree(Workflow df, DefaultMutableTreeNode root) {
// Create the four main node groups - inputs, outputs,
// services, data links, control links and merges.
DefaultMutableTreeNode inputs = new DefaultMutableTreeNode(INPUTS);
DefaultMutableTreeNode outputs = new DefaultMutableTreeNode(OUTPUTS);
DefaultMutableTreeNode services = new DefaultMutableTreeNode(PROCESSORS);
DefaultMutableTreeNode datalinks = new DefaultMutableTreeNode(DATALINKS);
DefaultMutableTreeNode controllinks = new DefaultMutableTreeNode(CONTROLLINKS);
// Attach them to the root of the tree
root.add(inputs);
root.add(outputs);
root.add(services);
root.add(datalinks);
root.add(controllinks);
// Populate the workflow's inputs.
for (InputWorkflowPort dataflowInput : df.getInputPorts())
inputs.add(new DefaultMutableTreeNode(dataflowInput));
// Populate the workflow's outputs.
for (OutputWorkflowPort dataflowOutput : df.getOutputPorts())
outputs.add(new DefaultMutableTreeNode(dataflowOutput));
/*
* Populate the workflow's processors (which in turn can contain a
* nested workflow).
*/
NamedSet<Processor> processorsList = df.getProcessors();
for (Processor processor : processorsList) {
DefaultMutableTreeNode processorNode = new DefaultMutableTreeNode(
processor);
services.add(processorNode);
// A processor node can have children (input and output ports).
for (InputProcessorPort inputPort : processor.getInputPorts())
processorNode.add(new DefaultMutableTreeNode(inputPort));
for (OutputProcessorPort outputPort : processor.getOutputPorts())
processorNode.add(new DefaultMutableTreeNode(outputPort));
}
// Populate the workflow's data links.
for (DataLink datalink: df.getDataLinks())
datalinks.add(new DefaultMutableTreeNode(datalink));
// Populate the workflow's control links.
for (ControlLink controlLink : df.getControlLinks())
controllinks.add(new DefaultMutableTreeNode(controlLink));
}