当前位置: 首页>>代码示例>>Java>>正文


Java Workflow.getDataLinks方法代码示例

本文整理汇总了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);
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:27,代码来源:DataLinkCompareTest.java

示例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);
	}
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:10,代码来源:StructuralValidator.java

示例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");
	}
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:29,代码来源:CorrectnessVisitor.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:11,代码来源:Scufl2Tools.java

示例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;
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:11,代码来源:Scufl2Tools.java

示例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);
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:40,代码来源:DataLinkCompareTest.java

示例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);

}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:48,代码来源:DataflowMerger.java

示例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));
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:53,代码来源:WorkflowExplorerTreeModel.java

示例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());
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:42,代码来源:AbstractTestHelper.java


注:本文中的org.apache.taverna.scufl2.api.core.Workflow.getDataLinks方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。