protected void parseWorkflow()

in taverna-scufl2-wfbundle/src/main/java/org/apache/taverna/scufl2/rdfxml/WorkflowParser.java [281:322]


	protected void parseWorkflow(
			org.apache.taverna.scufl2.xml.Workflow workflow, URI wfUri)
			throws ReaderException {
		Workflow wf = new Workflow();
		wf.setParent(getParserState().getCurrent(WorkflowBundle.class));

		if (workflow.getAbout() != null)
			mapBean(getParserState().getCurrentBase().resolve(
					workflow.getAbout()), wf);
			// TODO: Compare resolved URI with desired wfUri
		else
			mapBean(wfUri, wf);

		getParserState().push(wf);
		try {
			if (workflow.getName() != null)
				wf.setName(workflow.getName());
			if (workflow.getWorkflowIdentifier() != null
					&& workflow.getWorkflowIdentifier().getResource() != null)
				wf.setIdentifier(getParserState().getCurrentBase().resolve(
						workflow.getWorkflowIdentifier().getResource()));

			for (org.apache.taverna.scufl2.xml.Workflow.InputWorkflowPort inputWorkflowPort : workflow
					.getInputWorkflowPort())
				parseInputWorkflowPort(inputWorkflowPort.getInputWorkflowPort());
			for (org.apache.taverna.scufl2.xml.Workflow.OutputWorkflowPort outputWorkflowPort : workflow
					.getOutputWorkflowPort())
				parseOutputWorkflowPort(outputWorkflowPort
						.getOutputWorkflowPort());
			for (org.apache.taverna.scufl2.xml.Workflow.Processor processor : workflow
					.getProcessor())
				parseProcessor(processor.getProcessor());
			for (org.apache.taverna.scufl2.xml.DataLinkEntry dataLinkEntry : workflow
					.getDatalink())
				parseDataLink(dataLinkEntry.getDataLink());
			for (org.apache.taverna.scufl2.xml.Control c : workflow
					.getControl())
				parseControlLink(c.getBlocking());
		} finally {
			getParserState().pop();
		}
	}