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


Java Workflow.getProcessors方法代码示例

本文整理汇总了Java中org.apache.taverna.scufl2.api.core.Workflow.getProcessors方法的典型用法代码示例。如果您正苦于以下问题:Java Workflow.getProcessors方法的具体用法?Java Workflow.getProcessors怎么用?Java Workflow.getProcessors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.taverna.scufl2.api.core.Workflow的用法示例。


在下文中一共展示了Workflow.getProcessors方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: generateWorkflowReport

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
public WorkflowReport generateWorkflowReport(Workflow workflow) {
	WorkflowReport workflowReport = createWorkflowReport(workflow);
	for (Processor processor : workflow.getProcessors()) {
		ProcessorReport processorReport = createProcessorReport(processor);
		processorReport.setParentReport(workflowReport);
		workflowReport.addProcessorReport(processorReport);
		for (ProcessorBinding processorBinding : scufl2Tools.processorBindingsForProcessor(
				processor, profile)) {
			Activity boundActivity = processorBinding.getBoundActivity();
			ActivityReport activityReport = createActivityReport(boundActivity);
			activityReport.setParentReport(processorReport);
			if (scufl2Tools.containsNestedWorkflow(processor, profile)) {
				Workflow nestedWorkflow = scufl2Tools.nestedWorkflowForProcessor(processor,
						profile);
				WorkflowReport nestedWorkflowReport = generateWorkflowReport(nestedWorkflow);
				nestedWorkflowReport.setParentReport(activityReport);
				activityReport.setNestedWorkflowReport(nestedWorkflowReport);
			}
			processorReport.addActivityReport(activityReport);
		}
	}
	return workflowReport;
}
 
开发者ID:apache,项目名称:incubator-taverna-engine,代码行数:24,代码来源:AbstractExecution.java

示例2: assertHasProcessors

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected void assertHasProcessors(Workflow dataflow,
		String... expectedProcessors) {
	Set<String> expectedNames = new HashSet<String>();
	for (String expected : expectedProcessors) {
		expectedNames.add(expected);
	}
	Set<String> foundNames = new HashSet<String>();

	for (Processor proc : dataflow.getProcessors()) {
		String processorName = proc.getName();
		foundNames.add(processorName);
	}

	Set<String> extras = new HashSet<String>(foundNames);
	extras.removeAll(expectedNames);
	assertTrue("Unexpected processor  " + extras, extras.isEmpty());

	Set<String> missing = new HashSet<String>(expectedNames);
	missing.removeAll(foundNames);
	assertTrue("Could not find processor  " + missing, missing.isEmpty());
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:22,代码来源:AbstractTestHelper.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: readControlLinks

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
@Test
public void readControlLinks() throws Exception {
	URL wfResource = getClass().getResource(SLEEPERS_T2FLOW);
	assertNotNull("Could not find workflow " + SLEEPERS_T2FLOW, wfResource);
	T2FlowParser parser = new T2FlowParser();
	parser.setStrict(true);
	WorkflowBundle bundle = parser.parseT2Flow(wfResource.openStream());
	Workflow mainWorkflow = bundle.getMainWorkflow();
	NamedSet<Processor> processors = mainWorkflow.getProcessors();
	assertEquals(4, mainWorkflow.getControlLinks().size());
	
	List<BlockingControlLink> blocking2 = scufl2Tools.controlLinksBlocking(processors.getByName("second_sleeper"));
	assertEquals(1, blocking2.size());
	assertEquals("first_sleeper", blocking2.get(0).getUntilFinished().getName());
	
	List<BlockingControlLink> waiting2 = scufl2Tools.controlLinksWaitingFor(processors.getByName("second_sleeper"));
	assertEquals(1, waiting2.size());
	assertEquals("third_sleeper", waiting2.get(0).getBlock().getName());
	
	
	List<BlockingControlLink> blocking3 = scufl2Tools.controlLinksBlocking(processors.getByName("third_sleeper"));
	assertEquals(2, blocking3.size());
	assertEquals("second_sleeper", blocking3.get(0).getUntilFinished().getName());
	assertEquals("second_sleeper_2", blocking3.get(1).getUntilFinished().getName());
	
	
	
}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:29,代码来源:TestT2FlowTranslator.java

示例5: findProcessors

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void findProcessors(WorkflowBundle ro, Workflow workflow,
		DefaultMutableTreeNode parent) {
	for (Processor processor : workflow.getProcessors()) {
		DefaultMutableTreeNode processorNode = new DefaultMutableTreeNode(
				processor.getName());
		parent.add(processorNode);
		Workflow wf = findNestedWorkflow(processor);
		if (wf != null) {
			findProcessors(ro, wf, processorNode);
		}
	}

}
 
开发者ID:apache,项目名称:incubator-taverna-language,代码行数:14,代码来源:ProcessorNames.java

示例6: replaceAllMatchingActivities

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void replaceAllMatchingActivities(URI activityType,
		ComponentActivityConfigurationBean cacb, String configString,
		boolean rename, Workflow d) throws IntermediateException {
	for (Processor p : d.getProcessors()) {
		Activity a = p.getActivity(sm.getSelectedProfile());
		if (a.getType().equals(activityType)
				&& getConfigString(a).equals(configString))
			replaceActivity(cacb, p, rename, d);
		else if (a.getType().equals(NESTED_WORKFLOW))
			replaceAllMatchingActivities(activityType, cacb, configString,
					rename,
					tools.nestedWorkflowForProcessor(p, a.getParent()));
	}
}
 
开发者ID:apache,项目名称:incubator-taverna-plugin-component,代码行数:15,代码来源:ReplaceByComponentAction.java

示例7: rememberSubworkflows

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
void rememberSubworkflows(Processor p, CopiedProcessor copy) {
	for (Activity a : p.getActivity(sm.getSelectedProfile()))
		if (a instanceof NestedDataflow) {
			NestedDataflow da = (NestedDataflow) a;
			Workflow df = da.getNestedDataflow();
			if (!copy.requiredSubworkflows.containsKey(df.getIdentifier())) {
				copy.requiredSubworkflows.put(df.getIdentifier(),
						DataflowXMLSerializer.getInstance()
								.serializeDataflow(df));
				for (Processor sp : df.getProcessors())
					rememberSubworkflows(sp, copy);
			}
		}
}
 
开发者ID:apache,项目名称:incubator-taverna-plugin-component,代码行数:15,代码来源:ComponentCreatorSupport.java

示例8: 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

示例9: findProcessor

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected Processor findProcessor(Workflow wf, String name) {
	for (Processor proc : wf.getProcessors()) {
		if (proc.getName().equals(name)) {
			return proc;
		}
	}
	throw new IllegalArgumentException("Unknown processor: " + name);
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:9,代码来源:AbstractTestHelper.java

示例10: findProcessors

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
protected Set<Processor> findProcessors(Workflow dataflow, Port targetPort) {
	Set<Processor> possibleProcessors = new HashSet<Processor>();
	if (targetPort instanceof InputProcessorPort) {
		InputProcessorPort inputProcessorPort = (InputProcessorPort) targetPort;
		possibleProcessors = scufl2Tools.possibleUpStreamProcessors(dataflow, inputProcessorPort.getParent());
	} else if (targetPort instanceof OutputProcessorPort) {
		OutputProcessorPort outputProcessorPort = (OutputProcessorPort) targetPort;
		possibleProcessors = scufl2Tools.possibleDownStreamProcessors(dataflow, outputProcessorPort.getParent());
	} else {
		// Probably a dataflow port, everything is allowed
		possibleProcessors = dataflow.getProcessors();
	}
	return possibleProcessors;
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:15,代码来源:AbstractConnectPortMenuActions.java

示例11: closingDataflow

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void closingDataflow(ClosingDataflowEvent event,
		WorkflowBundle bundle) {
	Profile profile = bundle.getMainProfile();
	for (Workflow workflow : bundle.getWorkflows())
		for (Processor p : workflow.getProcessors()) {
			ProcessorBinding processorBinding = scufl2Tools
					.processorBindingForProcessor(p, profile);
			Activity activity = processorBinding.getBoundActivity();
			if (!closeDialog(activity))
				event.setAbortClose(true);
		}
}
 
开发者ID:apache,项目名称:incubator-taverna-workbench,代码行数:13,代码来源:ActivityConfigurationAction.java

示例12: addProcessors

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
private void addProcessors(Workflow workflow, Dataflow dataflow)
		throws EditException, ActivityNotFoundException,
		ActivityConfigurationException, InvalidWorkflowException,
		DispatchLayerNotFoundException, DispatchLayerConfigurationException {
	for (Processor processor : workflow.getProcessors()) {
		org.apache.taverna.workflowmodel.Processor dataflowProcessor = edits
				.createProcessor(processor.getName());
		edits.getAddProcessorEdit(dataflow, dataflowProcessor).doEdit();
		// map the processor
		workflowToDataflowProcessors.put(processor, dataflowProcessor);
		dataflowToWorkflowProcessors.put(dataflowProcessor, processor);
		// add input ports
		for (InputProcessorPort inputProcessorPort : processor
				.getInputPorts()) {
			if (inputProcessorPort.getDatalinksTo().isEmpty())
				continue;
			ProcessorInputPort processorInputPort = edits
					.createProcessorInputPort(dataflowProcessor,
							inputProcessorPort.getName(),
							inputProcessorPort.getDepth());
			edits.getAddProcessorInputPortEdit(dataflowProcessor,
					processorInputPort).doEdit();
			inputPorts.put(inputProcessorPort, processorInputPort);
		}
		// add output ports
		for (OutputProcessorPort outputProcessorPort : processor
				.getOutputPorts()) {
			ProcessorOutputPort processorOutputPort = edits
					.createProcessorOutputPort(dataflowProcessor,
							outputProcessorPort.getName(),
							outputProcessorPort.getDepth(),
							outputProcessorPort.getGranularDepth());
			edits.getAddProcessorOutputPortEdit(dataflowProcessor,
					processorOutputPort).doEdit();
			outputPorts.put(outputProcessorPort, processorOutputPort);
		}

		// add dispatch stack
		addDispatchStack(processor, dataflowProcessor);

		addIterationStrategy(processor, dataflowProcessor);

		// add bound activities
		for (ProcessorBinding processorBinding : scufl2Tools
				.processorBindingsForProcessor(processor, profile))
			addActivity(processorBinding);
	}
}
 
开发者ID:apache,项目名称:incubator-taverna-engine,代码行数:49,代码来源:WorkflowToDataflowMapper.java

示例13: NestedWorkflowCreationDialog

import org.apache.taverna.scufl2.api.core.Workflow; //导入方法依赖的package包/类
public NestedWorkflowCreationDialog(Frame owner, Object o,
		Workflow dataflow, EditManager em, GraphViewComponent graphView) {
	super(owner, "Nested workflow creation", true, null);
	this.em = em;
	this.graphView = graphView;

	if (o instanceof Processor)
		includedProcessors.add((Processor) o);
	this.currentDataflow = dataflow;

	allProcessors = new ArrayList<>(dataflow.getProcessors());

	this.setLayout(new BorderLayout());
	JPanel buttonPanel = new JPanel();
	buttonPanel.setLayout(new FlowLayout());

	okButton = new DeselectingButton(new OKAction(this));
	buttonPanel.add(okButton);

	resetButton = new DeselectingButton(new ResetAction(this));
	buttonPanel.add(resetButton);

	JButton cancelButton = new DeselectingButton(new CancelAction(this));
	buttonPanel.add(cancelButton);

	JPanel innerPanel = new JPanel(new BorderLayout());
	JPanel processorChoice = createProcessorChoicePanel(dataflow);
	innerPanel.add(processorChoice, CENTER);

	JPanel namePanel = new JPanel(new FlowLayout());
	namePanel.add(new JLabel("Workflow name: "));
	nameField.setText("nested");
	namePanel.add(nameField);
	innerPanel.add(namePanel, SOUTH);

	this.add(innerPanel, CENTER);

	this.add(buttonPanel, SOUTH);
	this.pack();
	this.setSize(new Dimension(500, 800));
}
 
开发者ID:apache,项目名称:incubator-taverna-plugin-component,代码行数:42,代码来源:NestedWorkflowCreationDialog.java

示例14: 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


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