本文整理汇总了Java中org.apache.taverna.scufl2.api.core.Workflow.getDataLinks方法的典型用法代码示例。如果您正苦于以下问题:Java Workflow.getDataLinks方法的具体用法?Java Workflow.getDataLinks怎么用?Java Workflow.getDataLinks使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.taverna.scufl2.api.core.Workflow
的用法示例。
在下文中一共展示了Workflow.getDataLinks方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: expectedOrder
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@SuppressWarnings({ "unchecked", "unused" })
@Test
public void expectedOrder() throws Exception {
Workflow wf = new Workflow();
wf.setName("wf");
InputWorkflowPort a = new InputWorkflowPort(wf, "a");
InputWorkflowPort b = new InputWorkflowPort(wf, "b");
InputWorkflowPort c = new InputWorkflowPort(wf, "c");
OutputWorkflowPort x = new OutputWorkflowPort(wf, "x");
OutputWorkflowPort y = new OutputWorkflowPort(wf, "y");
OutputWorkflowPort z = new OutputWorkflowPort(wf, "z");
DataLink c_x = new DataLink(wf, c, x);
DataLink b_x = new DataLink(wf, b, x);
DataLink b_z = new DataLink(wf, b, z);
DataLink a_z = new DataLink(wf, a, z);
DataLink a_x = new DataLink(wf, a, x);
ArrayList<DataLink> links = new ArrayList<DataLink>(wf.getDataLinks());
assertEquals(Arrays.asList(a_x, a_z, b_x, b_z, c_x), links);
Collections.shuffle(links);
Collections.sort(links);
assertEquals(Arrays.asList(a_x, a_z, b_x, b_z, c_x), links);
}
示例2: rememberDataLinkConnections
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void rememberDataLinkConnections() {
Workflow workflow = validatorState.get().getWorkflow();
for (DataLink dl : workflow.getDataLinks()) {
validatorState.get().getEventListener().dataLinkSender(dl);
validatorState.get().rememberDataLinkSender(dl);
validatorState.get().getEventListener().dataLinkReceiver(dl);
validatorState.get().rememberDataLinkReceiver(dl);
}
}
示例3: visitWorkflow
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@Override
public void visitWorkflow(Workflow bean) {
Set<DataLink> dataLinks = bean.getDataLinks();
Set<ControlLink> controlLinks = bean.getControlLinks();
// ports are done in Ported
NamedSet<Processor> processors = bean.getProcessors();
URI workflowIdentifier = bean.getIdentifier();
if (workflowIdentifier != null) {
if (!workflowIdentifier.isAbsolute())
listener.nonAbsoluteURI(bean, "workflowIdentifier", workflowIdentifier);
else if (workflowIdentifier.getScheme().equals("file"))
listener.nonAbsoluteURI(bean, "workflowIdentifier", workflowIdentifier);
}
if (checkComplete) {
if (dataLinks == null)
listener.nullField(bean, "dataLinks");
if (controlLinks == null)
listener.nullField(bean, "controlLinks");
if (processors == null)
listener.nullField(bean, "processors");
if (workflowIdentifier == null)
listener.nullField(bean, "workflowIdentifier");
}
}
示例4: datalinksFrom
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public List<DataLink> datalinksFrom(SenderPort senderPort) {
Workflow wf = findParent(Workflow.class, (Child<Workflow>) senderPort);
List<DataLink> links = new ArrayList<>();
for (DataLink link : wf.getDataLinks())
if (link.getReceivesFrom().equals(senderPort))
links.add(link);
Collections.sort(links);
return links;
}
示例5: datalinksTo
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public List<DataLink> datalinksTo(ReceiverPort receiverPort) {
Workflow wf = findParent(Workflow.class, (Child<Workflow>) receiverPort);
List<DataLink> links = new ArrayList<>();
for (DataLink link : wf.getDataLinks())
if (link.getSendsTo().equals(receiverPort))
links.add(link);
Collections.sort(links);
return links;
}
示例6: nullSupport
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@SuppressWarnings({ "unchecked", "unused" })
@Test
public void nullSupport() throws Exception {
Workflow wf = new Workflow();
wf.setName("wf");
InputWorkflowPort a = new InputWorkflowPort(wf, "a");
InputWorkflowPort b = new InputWorkflowPort(wf, "b");
InputWorkflowPort c = new InputWorkflowPort(wf, "c");
OutputWorkflowPort x = new OutputWorkflowPort(wf, "x");
OutputWorkflowPort y = new OutputWorkflowPort(wf, "y");
OutputWorkflowPort z = new OutputWorkflowPort(wf, "z");
DataLink null_null = new DataLink();
null_null.setParent(wf);
// neither receivesFrom nor sendsTo
DataLink null_z = new DataLink();
// no receivesFrom
null_z.setSendsTo(z);
null_z.setParent(wf);
DataLink a_z = new DataLink(wf, a, z);
DataLink a_null = new DataLink();
// no sendsTo
a_null.setReceivesFrom(a);
a_null.setParent(wf);
ArrayList<DataLink> links = new ArrayList<DataLink>(wf.getDataLinks());
assertEquals(Arrays.asList(null_null, null_z, a_null, a_z), links);
DataLink allNull = new DataLink();
links.add(allNull);
Collections.shuffle(links);
Collections.sort(links);
assertEquals(Arrays.asList(allNull, null_null, null_z, a_null, a_z),
links);
}
示例7: 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);
}
示例8: 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));
}
示例9: assertHasDatalinks
import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected void assertHasDatalinks(Workflow dataflow,
String... expectedLinkDef) {
Set<String> expectedLinks = new HashSet<String>();
for (String expected : expectedLinkDef) {
expectedLinks.add(expected);
}
Set<String> foundLinks = new HashSet<String>();
for (DataLink link : dataflow.getDataLinks()) {
StringBuilder linkRef = new StringBuilder();
SenderPort source = link.getReceivesFrom();
if (source instanceof ProcessorPort) {
linkRef.append(((ProcessorPort) source).getParent()
.getName());
linkRef.append('.');
}
linkRef.append(source.getName());
linkRef.append("->");
ReceiverPort sink = link.getSendsTo();
if (sink instanceof ProcessorPort) {
linkRef.append(((ProcessorPort) sink).getParent()
.getName());
linkRef.append('.');
}
linkRef.append(sink.getName());
String linkStr = linkRef.toString();
foundLinks.add(linkStr);
}
Set<String> extras = new HashSet<String>(foundLinks);
extras.removeAll(expectedLinks);
assertTrue("Unexpected links " + extras, extras.isEmpty());
Set<String> missing = new HashSet<String>(expectedLinks);
missing.removeAll(foundLinks);
assertTrue("Could not find links " + missing, missing.isEmpty());
}