You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2015/02/23 11:04:58 UTC
[13/79] [partial] incubator-taverna-language git commit: Revert
"temporarily empty repository"
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/RESTActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/RESTActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/RESTActivityParser.java
new file mode 100644
index 0000000..d119c89
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/RESTActivityParser.java
@@ -0,0 +1,165 @@
+package org.apache.taverna.scufl2.translator.t2flow.t23activities;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+
+import static org.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
+
+import java.net.URI;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.taverna.scufl2.api.configurations.Configuration;
+import org.apache.taverna.scufl2.api.io.ReaderException;
+import org.apache.taverna.scufl2.translator.t2flow.ParserState;
+import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
+import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
+
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.HTTPHeaders;
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.RESTConfig;
+
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+public class RESTActivityParser extends AbstractActivityParser {
+ private static final String ACTIVITY_XSD = "/org/apache/taverna/scufl2/translator/t2flow/xsd/restactivity.xsd";
+ private static final URI restRavenURI = ravenURI
+ .resolve("net.sf.taverna.t2.activities/rest-activity/");
+ private static final URI ravenUIURI = ravenURI
+ .resolve("net.sf.taverna.t2.ui-activities/rest-activity/");
+ private static final String className = "net.sf.taverna.t2.activities.rest.RESTActivity";
+ public static final URI ACTIVITY_URI = URI
+ .create("http://ns.taverna.org.uk/2010/activity/rest");
+ public static final URI HTTP_URI = URI.create("http://www.w3.org/2011/http#");
+ public static final URI HTTP_HEADERS_URI = URI.create("http://www.w3.org/2011/http-headers#");
+ public static final URI HTTP_METHODS_URI = URI.create("http://www.w3.org/2011/http-methods#");
+
+ @Override
+ public boolean canHandlePlugin(URI activityURI) {
+ String activityUriStr = activityURI.toASCIIString();
+ return ( activityUriStr.startsWith(restRavenURI.toASCIIString()) ||
+ activityUriStr.startsWith(ravenUIURI.toASCIIString()) )
+ && activityUriStr.endsWith(className);
+ }
+
+ @Override
+ public List<URI> getAdditionalSchemas() {
+ URL restXsd = RESTActivityParser.class.getResource(ACTIVITY_XSD);
+ try {
+ return Arrays.asList(restXsd.toURI());
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't find REST schema "
+ + restXsd);
+ }
+ }
+
+ @Override
+ public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
+ return ACTIVITY_URI;
+ }
+
+ @Override
+ public Configuration parseConfiguration(T2FlowParser t2FlowParser,
+ ConfigBean configBean, ParserState parserState)
+ throws ReaderException {
+ RESTConfig restConfig = unmarshallConfig(t2FlowParser, configBean,
+ "xstream", RESTConfig.class);
+
+ Configuration configuration = new Configuration();
+ configuration.setParent(parserState.getCurrentProfile());
+ parserState.setCurrentConfiguration(configuration);
+ try {
+ ObjectNode json = (ObjectNode)configuration.getJson();
+
+ configuration.setType(ACTIVITY_URI.resolve("#Config"));
+
+ ObjectNode request = json.objectNode();
+ json.put("request", request);
+
+ String method = restConfig.getHttpMethod().toUpperCase();
+ request.put("httpMethod", method);
+ request.put("absoluteURITemplate", restConfig.getUrlSignature());
+
+ ArrayNode headers = json.arrayNode();
+ request.put("headers", headers);
+
+ if (restConfig.getAcceptsHeaderValue() != null && ! restConfig.getAcceptsHeaderValue().isEmpty()) {
+ ObjectNode accept = json.objectNode();
+ headers.add(accept);
+ accept.put("header", "Accept");
+ accept.put("value", restConfig.getAcceptsHeaderValue());
+ }
+ if (hasContent(method)) {
+ if (restConfig.getContentTypeForUpdates() != null && ! restConfig.getContentTypeForUpdates().isEmpty()) {
+ ObjectNode accept = json.objectNode();
+ headers.add(accept);
+ accept.put("header", "Content-Type");
+ accept.put("value", restConfig.getContentTypeForUpdates());
+ }
+ if (restConfig.isSendHTTPExpectRequestHeader()) {
+ ObjectNode accept = json.objectNode();
+ headers.add(accept);
+ accept.put("header", "Expect");
+ accept.put("value", "100-Continue");
+ }
+ }
+ if (restConfig.getOtherHTTPHeaders() != null
+ && restConfig.getOtherHTTPHeaders().getList() != null)
+ for (HTTPHeaders.List list : restConfig.getOtherHTTPHeaders()
+ .getList()) {
+ String fieldName = list.getContent().get(0).getValue();
+ String fieldValue = list.getContent().get(1).getValue();
+
+ ObjectNode accept = json.objectNode();
+ headers.add(accept);
+ accept.put("header", fieldName);
+ accept.put("value", fieldValue);
+ }
+ if (restConfig.getShowActualUrlPort() != null)
+ json.put("showActualURLPort", restConfig.getShowActualUrlPort()
+ .booleanValue());
+ if (restConfig.getShowResponseHeadersPort() != null)
+ json.put("showResponseHeadersPort", restConfig
+ .getShowResponseHeadersPort().booleanValue());
+
+ if (restConfig.isShowRedirectionOutputPort())
+ json.put("showRedirectionOutputPort", true);
+ if (restConfig.getEscapeParameters() != null
+ && !restConfig.getEscapeParameters())
+ json.put("escapeParameters", false);
+ if (restConfig.getOutgoingDataFormat() != null)
+ json.put("outgoingDataFormat",
+ restConfig.getOutgoingDataFormat());
+ return configuration;
+ } finally {
+ parserState.setCurrentConfiguration(null);
+ }
+ }
+
+ private boolean hasContent(String methodName) {
+ if (Arrays.asList("GET", "HEAD", "DELETE", "CONNECT").contains(methodName))
+ return false;
+ // Most probably does have or could have content
+ return true;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/XPathActivityParser.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/XPathActivityParser.java b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/XPathActivityParser.java
new file mode 100644
index 0000000..7451c2a
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/t23activities/XPathActivityParser.java
@@ -0,0 +1,123 @@
+package org.apache.taverna.scufl2.translator.t2flow.t23activities;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+
+import static org.apache.taverna.scufl2.translator.t2flow.T2FlowParser.ravenURI;
+
+import java.net.URI;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.taverna.scufl2.api.configurations.Configuration;
+import org.apache.taverna.scufl2.api.io.ReaderException;
+import org.apache.taverna.scufl2.translator.t2flow.ParserState;
+import org.apache.taverna.scufl2.translator.t2flow.T2FlowParser;
+import org.apache.taverna.scufl2.translator.t2flow.defaultactivities.AbstractActivityParser;
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.ConfigBean;
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.XPathConfig;
+import org.apache.taverna.scufl2.xml.t2flow.jaxb.XPathNamespaceMap.Entry;
+
+import com.fasterxml.jackson.databind.node.ArrayNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+
+public class XPathActivityParser extends AbstractActivityParser {
+ private static final String ACTIVITY_XSD = "/org/apache/taverna/scufl2/translator/t2flow/xsd/xpathactivity.xsd";
+ private static URI xpathRavenURI = ravenURI
+ .resolve("net.sf.taverna.t2.activities/xpath-activity/");
+ private static URI ravenUIURI = ravenURI
+ .resolve("net.sf.taverna.t2.ui-activities/xpath-activity/");
+ private static String className = "net.sf.taverna.t2.activities.xpath.XPathActivity";
+ public static URI ACTIVITY_URI = URI
+ .create("http://ns.taverna.org.uk/2010/activity/xpath");
+ public static URI NAMESPACE_MAPPING_URI = URI
+ .create("http://ns.taverna.org.uk/2010/activity/xpath/NamespaceMapping");
+
+ @Override
+ public boolean canHandlePlugin(URI activityURI) {
+ String activityUriStr = activityURI.toASCIIString();
+ return (activityUriStr.startsWith(xpathRavenURI.toASCIIString()) || activityUriStr
+ .startsWith(ravenUIURI.toASCIIString()))
+ && activityUriStr.endsWith(className);
+ }
+
+ @Override
+ public List<URI> getAdditionalSchemas() {
+ URL xpathXsd = XPathActivityParser.class.getResource(ACTIVITY_XSD);
+ try {
+ return Arrays.asList(xpathXsd.toURI());
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't find XPath schema "
+ + xpathXsd);
+ }
+ }
+
+ @Override
+ public URI mapT2flowRavenIdToScufl2URI(URI t2flowActivity) {
+ return ACTIVITY_URI;
+ }
+
+ @Override
+ public Configuration parseConfiguration(T2FlowParser t2FlowParser,
+ ConfigBean configBean, ParserState parserState)
+ throws ReaderException {
+
+ XPathConfig xpathConfig = unmarshallConfig(t2FlowParser, configBean,
+ "xstream", XPathConfig.class);
+
+ Configuration configuration = new Configuration();
+ configuration.setParent(parserState.getCurrentProfile());
+ parserState.setCurrentConfiguration(configuration);
+
+ try {
+
+ ObjectNode json = (ObjectNode)configuration.getJson();
+ configuration.setType(ACTIVITY_URI.resolve("#Config"));
+
+ String xmlDocument = xpathConfig.getXmlDocument();
+ if (xmlDocument != null) {
+ json.put("exampleXmlDocument", xmlDocument);
+ }
+
+ String xpathExpression = xpathConfig.getXpathExpression();
+ json.put("xpathExpression", xpathExpression);
+
+
+ ArrayNode namespaceMap = json.arrayNode();
+ json.put("xpathNamespaceMap", namespaceMap);
+
+ // TODO look at why the schema translation here is so wrong
+ for (Entry list : xpathConfig.getXpathNamespaceMap().getEntry()) {
+ String namespacePrefix = list.getContent().get(0).getValue();
+ String namespaceURI = list.getContent().get(1).getValue();
+
+ ObjectNode map = json.objectNode();
+ map.put("prefix", namespacePrefix);
+ map.put("uri", namespaceURI);
+ namespaceMap.add(map);
+ }
+ } finally {
+ parserState.setCurrentConfiguration(null);
+ }
+ return configuration;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader b/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
new file mode 100644
index 0000000..81c18e6
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.api.io.WorkflowBundleReader
@@ -0,0 +1 @@
+org.apache.taverna.scufl2.translator.t2flow.T2FlowReader
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.translator.t2flow.T2Parser
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.translator.t2flow.T2Parser b/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.translator.t2flow.T2Parser
new file mode 100644
index 0000000..8d048f1
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/META-INF/services/org.apache.taverna.scufl2.translator.t2flow.T2Parser
@@ -0,0 +1,24 @@
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.DataflowActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BeanshellActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.RshellActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.SpreadsheetActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.StringConstantActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BiomobyActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.SoaplabActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.WSDLActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.WSDLXMLSplitterParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BiomartActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.ApiConsomerActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.InteractionActivityParser
+org.apache.taverna.scufl2.translator.t2flow.defaultactivities.ComponentActivityParser
+
+org.apache.taverna.scufl2.translator.t2flow.t23activities.ExternalToolActivityParser
+org.apache.taverna.scufl2.translator.t2flow.t23activities.RESTActivityParser
+org.apache.taverna.scufl2.translator.t2flow.t23activities.XPathActivityParser
+
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.ParallelizeParser
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.ErrorBounceParser
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.FailoverParser
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.LoopParser
+org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.InvokeParser
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context-osgi.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context-osgi.xml b/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context-osgi.xml
new file mode 100644
index 0000000..ceaa7dd
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context-osgi.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<beans:beans xmlns="http://www.springframework.org/schema/osgi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:beans="http://www.springframework.org/schema/beans"
+ xsi:schemaLocation="http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <service ref="dataflowActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="beanshellActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="rshellActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="spreadsheetActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="stringConstantActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="biomobyActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="soaplabActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="wsdlActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="wsdlXMLSplitterParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="biomartActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="apiConsomerActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+
+ <service ref="externalToolActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="restActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="xPathActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+
+ <service ref="interactionActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="componentActivityParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+
+ <service ref="parallelizeParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="errorBounceParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="failoverParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="retryParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="loopParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+ <service ref="invokeParser" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" />
+
+ <set id="t2Parsers" interface="org.apache.taverna.scufl2.translator.t2flow.T2Parser" cardinality="0..N" />
+
+ <service ref="t2FlowReader" interface="org.apache.taverna.scufl2.api.io.WorkflowBundleReader">
+ <service-properties>
+ <beans:entry key="mediaType" value="application/vnd.taverna.t2flow+xml" />
+ </service-properties>
+ </service>
+
+</beans:beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context.xml b/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context.xml
new file mode 100644
index 0000000..f57e774
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/META-INF/spring/scufl2-t2flow-context.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="t2FlowParser" class="org.apache.taverna.scufl2.translator.t2flow.T2FlowParser">
+ <property name="t2Parsers" ref="t2Parsers" />
+ </bean>
+
+ <bean id="t2FlowReader" class="org.apache.taverna.scufl2.translator.t2flow.T2FlowReader">
+ <property name="parser">
+ <ref local="t2FlowParser" />
+ </property>
+ </bean>
+
+ <bean id="dataflowActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.DataflowActivityParser" />
+ <bean id="beanshellActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BeanshellActivityParser" />
+ <bean id="rshellActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.RshellActivityParser" />
+ <bean id="spreadsheetActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.SpreadsheetActivityParser" />
+ <bean id="stringConstantActivityParser"
+ class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.StringConstantActivityParser" />
+ <bean id="biomobyActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BiomobyActivityParser" />
+ <bean id="soaplabActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.SoaplabActivityParser" />
+ <bean id="wsdlActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.WSDLActivityParser" />
+ <bean id="wsdlXMLSplitterParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.WSDLXMLSplitterParser" />
+ <bean id="biomartActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.BiomartActivityParser" />
+ <bean id="apiConsomerActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.ApiConsomerActivityParser" />
+
+ <bean id="externalToolActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.t23activities.ExternalToolActivityParser" />
+ <bean id="restActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.t23activities.RESTActivityParser" />
+ <bean id="xPathActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.t23activities.XPathActivityParser" />
+
+ <bean id="interactionActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.InteractionActivityParser" />
+ <bean id="componentActivityParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultactivities.ComponentActivityParser" />
+
+ <bean id="parallelizeParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.ParallelizeParser" />
+ <bean id="errorBounceParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.ErrorBounceParser" />
+ <bean id="failoverParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.FailoverParser" />
+ <bean id="retryParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.RetryParser" />
+ <bean id="loopParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.LoopParser" />
+ <bean id="invokeParser" class="org.apache.taverna.scufl2.translator.t2flow.defaultdispatchstack.InvokeParser" />
+
+
+</beans>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/componentactivity.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/componentactivity.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/componentactivity.xsd
new file mode 100644
index 0000000..e55d6db
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/componentactivity.xsd
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+
+ xmlns:tool="http://taverna.sf.net/2011/xml/activity/xpath" xmlns:tav="http://taverna.sf.net/2008/xml/t2flow"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:activities="http://taverna.sf.net/2008/xml/t2activities"
+ jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+ <!-- <jxb:schemaBindings> <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.interaction.jaxb"
+ /> </jxb:schemaBindings> -->
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2activities"
+ schemaLocation="t2activities.xsd" />
+
+ <xsd:element
+ name="net.sf.taverna.t2.component.ComponentActivityConfigurationBean"
+ type="ComponentConfig" substitutionGroup="tav:abstractConfigBean" />
+
+ <xsd:complexType name="ComponentConfig">
+ <xsd:complexContent>
+ <xsd:extension base="tav:AbstractConfigBean">
+ <xsd:sequence>
+ <xsd:element name="registryBase" type="xsd:anyURI" />
+ <xsd:element name="familyName" type="xsd:string" />
+ <xsd:element name="componentName" type="xsd:string" />
+ <xsd:element name="componentVersion" type="xsd:int" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/externaltoolactivity.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/externaltoolactivity.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/externaltoolactivity.xsd
new file mode 100644
index 0000000..55a3a86
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/externaltoolactivity.xsd
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+
+ xmlns:tool="http://taverna.sf.net/2011/xml/activity/external-tool"
+ xmlns:tav="http://taverna.sf.net/2008/xml/t2flow" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+ <jxb:schemaBindings>
+ <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.externalTool.jaxb" />
+ </jxb:schemaBindings>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+ <xsd:element
+ name="net.sf.taverna.t2.activities.externaltool.ExternalToolActivityConfigurationBean"
+ type="ExternalToolConfig" substitutionGroup="tav:abstractConfigBean" />
+
+ <xsd:element
+ name="net.sf.taverna.t2.activities.usecase.UseCaseActivityConfigurationBean"
+ type="UsecaseConfig" substitutionGroup="tav:abstractConfigBean" />
+
+
+
+ <xsd:complexType name="UsecaseConfig">
+ <xsd:complexContent>
+ <xsd:extension base="tav:AbstractConfigBean">
+ <xsd:sequence>
+ <xsd:element name="repositoryUrl" type="xsd:anyURI" />
+ <xsd:element name="usecaseid" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ExternalToolConfig">
+ <xsd:complexContent>
+ <xsd:extension base="tav:AbstractConfigBean">
+ <xsd:sequence>
+
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="mechanismType" type="xsd:string" />
+ <xsd:element name="mechanismName" type="xsd:string" />
+ <xsd:element name="mechanismXML" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:element name="group" type="Group" />
+ </xsd:choice>
+ <xsd:element name="repositoryUrl" type="xsd:anyURI" minOccurs="0" />
+ <xsd:element name="externaltoolid" type="xsd:string" />
+
+ <xsd:element name="useCaseDescription" type="UsecaseDescription" />
+ <xsd:element name="edited" type="xsd:boolean" />
+
+ </xsd:sequence>
+ </xsd:extension>
+
+ </xsd:complexContent>
+
+ </xsd:complexType>
+
+ <xsd:complexType name="UsecaseDescription">
+ <xsd:sequence>
+ <xsd:element name="usecaseid" type="xsd:string" />
+ <xsd:element name="group" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="description" type="xsd:string" />
+ <xsd:element name="command" type="xsd:string" />
+ <xsd:element name="test__local" type="xsd:string"
+ minOccurs="0" />
+ <xsd:element name="preparingTimeoutInSeconds" type="xsd:int" />
+ <xsd:element name="executionTimeoutInSeconds" type="xsd:int" />
+ <xsd:element name="tags" />
+ <xsd:element name="REs" />
+ <xsd:element name="queue__preferred" />
+ <xsd:element name="queue__deny" />
+ <xsd:element name="static__inputs" type="StaticInputs" />
+ <xsd:element name="inputs" type="EntryMap" />
+ <xsd:element name="outputs" type="EntryMap" />
+
+ <xsd:element name="includeStdIn" type="xsd:boolean" />
+ <xsd:element name="includeStdOut" type="xsd:boolean" />
+ <xsd:element name="includeStdErr" type="xsd:boolean" />
+ <xsd:element name="validReturnCodes" type="ReturnCodes" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="EntryMap">
+ <xsd:sequence>
+ <xsd:element name="entry" minOccurs="0" maxOccurs="unbounded"
+ type="Entry" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ReturnCodes">
+ <xsd:sequence>
+ <xsd:element name="int" minOccurs="0" maxOccurs="unbounded"
+ type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="StaticInputs">
+ <xsd:sequence>
+ <xsd:element name="de.uni__luebeck.inb.knowarc.usecases.ScriptInputStatic"
+ type="ScriptInputStatic" minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Group">
+ <xsd:sequence>
+ <xsd:element name="invocationGroupName" type="xsd:string" />
+ <xsd:element name="mechanismType" type="xsd:string" />
+ <xsd:element name="mechanismName" type="xsd:string" />
+ <xsd:element name="mechanismXML" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Entry">
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" />
+ <xsd:choice>
+ <xsd:element name="de.uni__luebeck.inb.knowarc.usecases.ScriptInputUser"
+ type="ScriptInputUser" />
+ <xsd:element name="de.uni__luebeck.inb.knowarc.usecases.ScriptOutput"
+ type="ScriptOutput" />
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ScriptInputUser">
+ <xsd:sequence>
+ <xsd:element name="tag" type="xsd:string" />
+ <xsd:element name="file" type="xsd:boolean" />
+ <xsd:element name="tempFile" type="xsd:boolean" />
+ <xsd:element name="binary" type="xsd:boolean" />
+ <xsd:element name="charsetName" type="xsd:string" />
+ <xsd:element name="forceCopy" type="xsd:boolean" />
+ <xsd:element name="list" type="xsd:boolean" />
+ <xsd:element name="concatenate" type="xsd:boolean" />
+ <xsd:element name="mime" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ScriptInputStatic">
+ <xsd:sequence>
+ <xsd:element name="tag" type="xsd:string" />
+ <xsd:element name="file" type="xsd:boolean" />
+ <xsd:element name="tempFile" type="xsd:boolean" />
+ <xsd:element name="binary" type="xsd:boolean" />
+ <xsd:element name="charsetName" type="xsd:string" />
+ <xsd:element name="forceCopy" type="xsd:boolean" />
+ <xsd:choice>
+ <xsd:element name="content" >
+ <xsd:complexType>
+ <xsd:simpleContent><xsd:extension base="xsd:string">
+ <xsd:attribute name="class" fixed="string" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="url" type="xsd:anyURI" />
+ </xsd:choice>
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ScriptOutput">
+ <xsd:sequence>
+ <xsd:element name="path" type="xsd:string" />
+ <xsd:element name="binary" type="xsd:boolean" />
+ <xsd:element name="mime" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/interactionactivity.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/interactionactivity.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/interactionactivity.xsd
new file mode 100644
index 0000000..e1a6b16
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/interactionactivity.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+
+ xmlns:tool="http://taverna.sf.net/2011/xml/activity/xpath" xmlns:tav="http://taverna.sf.net/2008/xml/t2flow"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:activities="http://taverna.sf.net/2008/xml/t2activities"
+ jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+ <!-- <jxb:schemaBindings> <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.interaction.jaxb"
+ /> </jxb:schemaBindings> -->
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2activities"
+ schemaLocation="t2activities.xsd" />
+
+ <xsd:element
+ name="net.sf.taverna.t2.activities.interaction.InteractionActivityConfigurationBean"
+ type="InteractionConfig" substitutionGroup="tav:abstractConfigBean" />
+
+ <xsd:complexType name="InteractionConfig">
+ <xsd:complexContent>
+ <xsd:extension base="tav:AbstractConfigBean">
+ <xsd:sequence>
+ <xsd:element name="inputs" type="activities:ActivityInputPorts" />
+ <xsd:element name="outputs" type="activities:ActivityOutputPorts" />
+
+ <xsd:element name="presentationOrigin" type="xsd:string" minOccurs="0" />
+ <xsd:element name="interactionActivityType" type="xsd:string" minOccurs="0" />
+ <xsd:element name="progressNotification" type="xsd:boolean" minOccurs="0" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/restactivity.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/restactivity.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/restactivity.xsd
new file mode 100644
index 0000000..7eb4e42
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/restactivity.xsd
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+
+ xmlns:tool="http://taverna.sf.net/2011/xml/activity/rest" xmlns:tav="http://taverna.sf.net/2008/xml/t2flow"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+ jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+<!--
+ <jxb:schemaBindings>
+ <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.rest.jaxb" />
+ </jxb:schemaBindings>
+ -->
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+ <xsd:element
+ name="net.sf.taverna.t2.activities.rest.RESTActivityConfigurationBean"
+ type="RESTConfig" substitutionGroup="tav:abstractConfigBean" />
+
+
+ <xsd:complexType name="RESTConfig">
+ <xsd:complexContent>
+ <xsd:extension base="tav:AbstractConfigBean">
+ <xsd:sequence>
+ <xsd:element name="httpMethod" type="xsd:string" />
+ <xsd:element name="urlSignature" type="xsd:string" />
+ <xsd:element name="acceptsHeaderValue" type="xsd:string" />
+ <xsd:element name="contentTypeForUpdates" type="xsd:string" />
+ <xsd:element name="outgoingDataFormat" type="xsd:string" />
+ <xsd:element name="sendHTTPExpectRequestHeader" type="xsd:boolean" />
+ <xsd:element name="showRedirectionOutputPort" type="xsd:boolean" />
+ <xsd:element name="showActualUrlPort" type="xsd:boolean" minOccurs="0" />
+ <xsd:element name="showResponseHeadersPort" type="xsd:boolean" minOccurs="0" />
+
+ <xsd:element name="escapeParameters" type="xsd:boolean" minOccurs="0" />
+ <xsd:element name="otherHTTPHeaders" type="HTTPHeaders" minOccurs="0" />
+ <xsd:element name="activityInputs" type="ActivityInputs" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ActivityInputs">
+ <xsd:sequence>
+ <xsd:element name="entry" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" />
+ <xsd:element name="java-class" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="HTTPHeaders">
+ <xsd:sequence>
+ <xsd:element name="list" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" />
+ <xsd:element name="string" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2activities.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2activities.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2activities.xsd
new file mode 100644
index 0000000..ffd10c5
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2activities.xsd
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+ targetNamespace="http://taverna.sf.net/2008/xml/t2activities"
+ xmlns:activities="http://taverna.sf.net/2008/xml/t2activities"
+ xmlns:tav="http://taverna.sf.net/2008/xml/t2flow" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
+ jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+ <jxb:schemaBindings>
+ <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.jaxb" />
+ </jxb:schemaBindings>
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+ <xsd:complexType name="DataflowConfig">
+ <xsd:annotation>
+ <xsd:documentation>Configuration for the nested dataflow activity.
+ The actual nested dataflow is referenced by uuid to identify the
+ dataflow element of the workflow container.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="ref" type="tav:uuid"></xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="ApiConsumerConfig">
+ <xsd:sequence>
+
+ <xsd:element name="apiConsumerName" type="xsd:string" />
+ <xsd:element name="apiConsumerDescription" type="xsd:string" />
+ <xsd:element name="description" type="xsd:string" />
+ <xsd:element name="className" type="xsd:string" />
+ <xsd:element name="methodName" type="xsd:string" />
+ <xsd:element name="parameterNames" type="activities:ApiConsumerParameterNames" />
+
+ <xsd:element name="parameterDimensions"
+ type="activities:ApiConsumerParameterDimensions" />
+ <xsd:element name="parameterTypes" type="activities:ApiConsumerParameterTypes" />
+ <xsd:element name="returnType" type="xsd:string" />
+ <xsd:element name="returnDimension" type="xsd:nonNegativeInteger" />
+ <xsd:element name="isMethodStatic" type="xsd:boolean" />
+ <xsd:element name="isMethodConstructor" type="xsd:boolean" />
+
+ <xsd:element name="classLoaderSharing" type="activities:ClassLoaderSharing" />
+ <xsd:element name="localDependencies" type="activities:LocalDependencies" />
+ <xsd:element name="artifactDependencies" type="activities:ArtifactDependencies" />
+ <xsd:element name="inputs" type="activities:ActivityInputPorts" />
+ <xsd:element name="outputs" type="activities:ActivityOutputPorts" />
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ApiConsumerParameterNames">
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ApiConsumerParameterDimensions">
+ <xsd:sequence>
+ <xsd:element name="int" type="xsd:nonNegativeInteger"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ApiConsumerParameterTypes">
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BeanshellConfig">
+ <xsd:annotation>
+ <xsd:documentation>Configuration for the Beanshell activity.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:all>
+ <xsd:element name="script" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>A Beanshell script</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="dependencies" type="activities:Dependencies" />
+ <xsd:element name="classLoaderSharing" type="activities:ClassLoaderSharing" />
+ <xsd:element name="localDependencies" type="activities:LocalDependencies" />
+ <xsd:element name="artifactDependencies" type="activities:ArtifactDependencies" />
+ <xsd:element name="inputs" type="activities:ActivityInputPorts" />
+ <xsd:element name="outputs" type="activities:ActivityOutputPorts" />
+ <xsd:element name="localworkerName" type="xsd:string"
+ minOccurs="0" />
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="StringConstantConfig">
+ <xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string"></xsd:element>
+ </xsd:sequence>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="RShellConfig">
+ <xsd:all>
+ <xsd:element name="inputs" type="activities:ActivityInputPorts" />
+ <xsd:element name="outputs" type="activities:ActivityOutputPorts" />
+ <xsd:element name="rVersion" type="xsd:string" minOccurs="0" />
+ <xsd:element name="script" type="xsd:string" />
+ <xsd:element name="connectionSettings" type="activities:RShellConnection" />
+ <xsd:element name="inputSymanticTypes" type="activities:RShellSymanticType" />
+ <xsd:element name="outputSymanticTypes" type="activities:RShellSymanticType" />
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="RShellConnection">
+ <xsd:sequence>
+ <xsd:element name="host" type="xsd:string" />
+ <xsd:element name="port" type="xsd:unsignedShort" />
+ <xsd:element name="username" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="password" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="keepSessionAlive" type="xsd:boolean" />
+ <xsd:element name="newRVersion" type="xsd:boolean" default="false" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="RShellSymanticType">
+ <xsd:sequence>
+ <xsd:element
+ name="net.sf.taverna.t2.activities.rshell.RShellPortSymanticTypeBean" minOccurs="0" maxOccurs="unbounded">
+
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:appinfo>
+ <jxb:class name="RShellPortSymanticTypeBean" />
+ </xsd:appinfo>
+ </xsd:annotation>
+ <xsd:sequence>
+
+ <xsd:element name="name" type="xsd:string" />
+ <xsd:element name="symanticType">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="reference" type="xsd:string"
+ use="optional" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+</xsd:complexType>
+
+
+ <xsd:complexType name="WSDLConfig">
+ <xsd:annotation>
+ <xsd:documentation>Configuration for the WSDL activity.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="wsdl" type="xsd:anyURI">
+ <xsd:annotation>
+ <xsd:documentation>Location of WSDL specification as an URL.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="operation" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>Name of operation within the WSDL specification.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="securityProfile" type="activities:WSDLSecurityProfile"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Name of 'security profile' to apply.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:simpleType name="WSDLSecurityProfile">
+ <xsd:union memberTypes="activities:StandardWSDLSecurityProfile xsd:string" />
+ </xsd:simpleType>
+
+ <xsd:simpleType name="StandardWSDLSecurityProfile">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="HTTPDigestAuthN" />
+ <xsd:enumeration value="HTTPBasicAuthNPlainTextPassword" />
+ <xsd:enumeration value="WSSecurityTimestampUsernameTokenDigestPassword" />
+ <xsd:enumeration value="WSSecurityTimestampUsernameTokenPlainTextPassword" />
+ <xsd:enumeration value="WSSecurityUsernameTokenDigestPassword" />
+ <xsd:enumeration value="WSSecurityUsernameTokenPlainTextPassword" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="XMLSplitterConfig">
+ <xsd:all>
+ <xsd:element name="wrappedTypeXML" type="xsd:string" />
+ <xsd:element name="inputs" type="activities:ActivityInputPorts" />
+ <xsd:element name="outputs" type="activities:ActivityOutputPorts" />
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="BioMartConfig">
+ <xsd:sequence>
+ <xsd:element name="MartService">
+ <xsd:complexType>
+ <xsd:attribute name="location" type="xsd:anyURI"></xsd:attribute>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="MartDataset" />
+ <xsd:element name="Query" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BioMobyConfig">
+ <xsd:complexContent>
+ <xsd:extension base="activities:BioMobyObjectConfig">
+ <xsd:sequence>
+ <xsd:element name="category" type="activities:BioMobyCategory">
+ </xsd:element>
+ <xsd:element name="serviceType" type="activities:BioMobyServiceType">
+ </xsd:element>
+ <xsd:element name="secondaries" type="activities:BioMobySecondaries">
+ </xsd:element>
+ </xsd:sequence>
+
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BioMobyObjectConfig">
+ <xsd:sequence>
+ <xsd:element name="mobyEndpoint" type="xsd:anyURI" />
+ <xsd:element name="serviceName" />
+ <xsd:element name="authorityName" />
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BioMobyParserConfig">
+ <xsd:sequence>
+ <xsd:element name="datatypeName" />
+ <xsd:element name="registryEndpoint" type="xsd:anyURI" />
+ <xsd:element name="articleNameUsedByService" />
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SoaplabConfig">
+ <xsd:annotation>
+ <xsd:documentation>Configuration for the SoapLab activity.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="endpoint" type="xsd:anyURI">
+ <xsd:annotation>
+ <xsd:documentation>Location of Soaplab endpoint as an URL.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="pollingInterval" type="xsd:nonNegativeInteger">
+ <xsd:annotation>
+ <xsd:documentation>Milliseconds between polling for asynchronous
+ service completion. If 0, the synchronous 'waitFor' method is
+ used
+ instead.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="pollingBackoff" type="xsd:double">
+ <xsd:annotation>
+ <xsd:documentation>
+ Multiplication factor to apply to current
+ polling interval (initially "pollingInterval"), gradually
+ increasing the polling interval. It is advisable
+ to keep this close
+ to 1.0, for instance 1.1.
+ The polling interval will however never
+ be larger than the specified
+ "pollingIntervalMax". Must be
+ above 0.0
+ to avoid negative polling
+ intervals.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="pollingIntervalMax" type="xsd:nonNegativeInteger">
+ <xsd:annotation>
+ <xsd:documentation>Maximum polling interval in milliseconds after
+ multiplying with "pollingBackoff". Should be larger than
+ "pollingInterval".
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SpreadsheetImportConfig">
+ <xsd:sequence>
+ <xsd:element name="columnRange" type="activities:SpreadsheetRange" />
+ <xsd:element name="rowRange" type="activities:SpreadsheetRange" />
+ <xsd:element name="emptyCellValue" type="xsd:string" />
+ <xsd:element name="columnNames" type="activities:SpreadsheetColumnNames" />
+ <xsd:element name="allRows" type="xsd:boolean" />
+ <xsd:element name="excludeFirstRow" type="xsd:boolean" />
+ <xsd:element name="ignoreBlankRows" type="xsd:boolean" />
+
+ <xsd:element name="emptyCellPolicy" type="activities:SpreadsheetEmptyCellPolicy" />
+ <xsd:element name="outputFormat" type="activities:OutputFormat" />
+ <xsd:element name="csvDelimiter" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:simpleType name="SpreadsheetEmptyCellPolicy">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="EMPTY_STRING"></xsd:enumeration>
+ <xsd:enumeration value="USER_DEFINED"></xsd:enumeration>
+ <xsd:enumeration value="GENERATE_ERROR"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="OutputFormat">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="PORT_PER_COLUMN"></xsd:enumeration>
+ <xsd:enumeration value="SINGLE_PORT"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+ <xsd:complexType name="SpreadsheetColumnNames">
+ <xsd:sequence>
+ <xsd:element name="entry" type="activities:SpreadsheetColumnNameEntry"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SpreadsheetColumnNameEntry">
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" minOccurs="2"
+ maxOccurs="2" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="SpreadsheetRange">
+ <xsd:sequence>
+ <xsd:element name="start" type="xsd:nonNegativeInteger" />
+ <xsd:element name="end" type="xsd:nonNegativeInteger" />
+ <xsd:element name="excludes" type="activities:SpreadsheetExcludes" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SpreadsheetExcludes">
+ <xsd:sequence>
+ <xsd:element name="exclude" type="activities:SpreadsheetRange"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="LocalDependencies">
+
+ <xsd:sequence>
+ <xsd:element name="string" type="xsd:string" maxOccurs="unbounded"
+ minOccurs="0">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ArtifactDependencies">
+ <xsd:sequence>
+ <xsd:element name="net.sf.taverna.raven.repository.BasicArtifact"
+ type="activities:BasicArtifact" maxOccurs="unbounded" minOccurs="0">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Dependencies">
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="string" type="xsd:string" maxOccurs="unbounded"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element name="element" type="activities:DependencyElement"
+ maxOccurs="unbounded" minOccurs="0">
+ </xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="optional"></xsd:attribute>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="DependencyElement">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="class" use="optional" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="ClassLoaderSharing">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="workflow" />
+ <xsd:enumeration value="system" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:complexType name="BasicArtifact">
+ <xsd:sequence>
+ <xsd:element name="groupId" type="xsd:string" />
+ <xsd:element name="artifactId" type="xsd:string" />
+ <xsd:element name="version" type="xsd:string" />
+ <xsd:element name="hashCode" type="xsd:string" minOccurs="0" />
+ <xsd:element name="string" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ActivityInputPorts">
+ <xsd:sequence>
+ <xsd:element
+ name="net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityInputPortDefinitionBean"
+ minOccurs="0" maxOccurs="unbounded" type="activities:ActivityPortDefinitionBean">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ActivityPortDefinitionBean">
+ <xsd:choice minOccurs="1" maxOccurs="unbounded" id="activityPortChoice">
+ <xsd:annotation>
+ <xsd:documentation>
+ These seem to come in any order depending on Activity type and Taverna
+ version (probably some internal hash maps involved) - and instead of
+ trying to model this using xsd:any, xsd:groups and xsd:choice, I just
+ went for an unbounded xsd:choice. Users will have to deal with the following
+ additional constaints:
+
+ These elements are required, maximum 1 occurance: name, depth
+
+ These can occur 0..unbounded times:
+ handledReferenceSchemes, translatedElementType
+
+ The rest are optional, but must maximally appear once.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:element name="handledReferenceSchemes" type="xsd:string"/>
+ <xsd:element name="translatedElementType" type="xsd:string" />
+ <xsd:element name="name" type="xsd:string" />
+ <xsd:element name="depth" type="xsd:nonNegativeInteger" />
+ <xsd:element name="allowsLiteralValues" type="xsd:boolean" />
+ <xsd:element name="mimeTypes">
+ <xsd:complexType>
+ <xsd:choice>
+ <xsd:element name="string" type="xsd:string" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xsd:element name="element" type="activities:DependencyElement" />
+ </xsd:choice>
+ <xsd:attribute name="class" type="xsd:string" use="optional" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="granularDepth" type="xsd:nonNegativeInteger" />
+
+ </xsd:choice>
+</xsd:complexType>
+
+ <xsd:complexType name="ActivityOutputPorts">
+ <xsd:sequence>
+ <xsd:element
+ name="net.sf.taverna.t2.workflowmodel.processor.activity.config.ActivityOutputPortDefinitionBean"
+ minOccurs="0" maxOccurs="unbounded" type="activities:ActivityPortDefinitionBean">
+ </xsd:element>
+ </xsd:sequence>
+
+ </xsd:complexType>
+ <xsd:complexType name="BioMobyCategory">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="BioMobyServiceType">
+ <xsd:sequence>
+ <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any"
+ processContents="lax">
+ </xsd:any>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="BioMobySecondaries">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" maxOccurs="unbounded" name="entry"
+ type="activities:BioMobyEntry">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="BioMobyEntry">
+ <xsd:sequence>
+ <xsd:element minOccurs="2" maxOccurs="2" name="string"
+ type="xsd:anyType">
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2annotations.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2annotations.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2annotations.xsd
new file mode 100644
index 0000000..f56f228
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2annotations.xsd
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema elementFormDefault="unqualified"
+ xmlns:tav="http://taverna.sf.net/2008/xml/t2flow" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:annotations="http://taverna.sf.net/2008/xml/t2flow/annotations"
+ jxb:version="1.0">
+
+ <xsd:annotation>
+ <xsd:appinfo>
+ <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html -->
+
+ <!-- <jxb:schemaBindings> <jxb:package name="uk.org.taverna.scufl2.xml.t2flow.annotations.jaxb"
+ /> </jxb:schemaBindings> -->
+ </xsd:appinfo>
+ </xsd:annotation>
+
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2flow"
+ schemaLocation="t2flow.xsd" />
+
+<!-- Note: JAXB Does not seem to pick up these due to xsd:any in tav:AnnotationBean
+
+ -->
+ <xsd:complexType name="IdentificationAssertion">
+ <xsd:complexContent>
+ <xsd:restriction base="tav:AnnotationBean">
+ <xsd:sequence>
+ <xsd:element name="identification" type="tav:uuid" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.IdentificationAssertion" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="AbstractTextual" abstract="true">
+ <xsd:complexContent>
+ <xsd:restriction base="tav:AnnotationBean">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Author">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.Author" />
+
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="DescriptiveTitle">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.DescriptiveTitle" />
+
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ExampleValue">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.ExampleValue" />
+
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="FreeTextDescription">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.FreeTextDescription" />
+
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="HostInstitution">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.HostInstitution" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="MimeType">
+ <xsd:complexContent>
+ <xsd:restriction base="AbstractTextual">
+ <xsd:sequence>
+ <xsd:element name="text" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.MimeType" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Optional">
+ <xsd:complexContent>
+ <xsd:restriction base="tav:AnnotationBean">
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.Optional" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SemanticAnnotation">
+ <xsd:complexContent>
+ <xsd:restriction base="tav:AnnotationBean">
+ <xsd:sequence>
+ <xsd:element name="mimeType" type="xsd:string" default="text/rdf+n3" />
+ <xsd:element name="content" type="xsd:string" />
+ </xsd:sequence>
+ <xsd:attribute name="class" form="unqualified"
+ fixed="net.sf.taverna.t2.annotation.annotationbeans.SemanticAnnotation" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+</xsd:schema>
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/c08405cb/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2flow-extended.xsd
----------------------------------------------------------------------
diff --git a/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2flow-extended.xsd b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2flow-extended.xsd
new file mode 100644
index 0000000..a11c84e
--- /dev/null
+++ b/taverna-scufl2-t2flow/src/main/resources/org/apache/taverna/scufl2/translator/t2flow/xsd/t2flow-extended.xsd
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<xsd:schema targetNamespace="http://taverna.sf.net/2008/xml/t2flow"
+ xmlns:tav="http://taverna.sf.net/2008/xml/t2flow" elementFormDefault="qualified"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:layers="http://taverna.sf.net/2008/xml/t2layers"
+ xmlns:activities="http://taverna.sf.net/2008/xml/t2activities">
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2layers"
+ schemaLocation="t2layers.xsd" />
+ <xsd:import schemaLocation="t2annotations.xsd" />
+ <xsd:import namespace="http://taverna.sf.net/2008/xml/t2activities"
+ schemaLocation="t2activities.xsd" />
+ <xsd:import schemaLocation="externaltoolactivity.xsd" />
+ <xsd:import schemaLocation="restactivity.xsd" />
+ <xsd:import schemaLocation="xpathactivity.xsd" />
+
+ <xsd:annotation>
+ <xsd:documentation>
+ Restricting schema of t2flow.xsd that describes the
+ configuration beans for the
+ dispatch stack layers and activities,
+ given the shipped Taverna 2.0/2.1
+ with no additional plugins
+ installed.
</xsd:documentation>
+ </xsd:annotation>
+ <xsd:redefine schemaLocation="t2flow.xsd">
+ <xsd:complexType name="ConfigBean">
+ <xsd:complexContent>
+ <xsd:restriction base="tav:ConfigBean">
+ <xsd:choice>
+ <xsd:element form="unqualified" name="null">
+ <xsd:annotation>
+ <xsd:documentation>
+ null - meaning no configuration
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.RetryConfig"
+ type="layers:RetryConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.ParallelizeConfig"
+ type="layers:ParallelizeConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.workflowmodel.processor.dispatch.layers.LoopConfiguration"
+ type="layers:LoopConfig">
+ </xsd:element>
+
+
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.apiconsumer.ApiConsumerActivityConfigurationBean"
+ type="activities:ApiConsumerConfig">
+ </xsd:element>
+
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.beanshell.BeanshellActivityConfigurationBean"
+ type="activities:BeanshellConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.localworker.LocalworkerActivityConfigurationBean"
+ type="activities:BeanshellConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.stringconstant.StringConstantConfigurationBean"
+ type="activities:StringConstantConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.rshell.RshellActivityConfigurationBean"
+ type="activities:RShellConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.wsdl.WSDLActivityConfigurationBean"
+ type="activities:WSDLConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.wsdl.xmlsplitter.XMLSplitterConfigurationBean"
+ type="activities:XMLSplitterConfig">
+ </xsd:element>
+ <xsd:element form="unqualified" name="MartQuery"
+ type="activities:BioMartConfig">
+ </xsd:element>
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.biomoby.BiomobyActivityConfigurationBean"
+ type="activities:BioMobyConfig" />
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.biomoby.BiomobyObjectActivityConfigurationBean"
+ type="activities:BioMobyObjectConfig" />
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.biomoby.MobyParseDatatypeActivityConfigurationBean"
+ type="activities:BioMobyParserConfig" />
+
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.spreadsheet.SpreadsheetImportConfiguration"
+ type="activities:SpreadsheetImportConfig" />
+
+ <xsd:element form="unqualified"
+ name="net.sf.taverna.t2.activities.soaplab.SoaplabActivityConfigurationBean"
+ type="activities:SoaplabConfig" />
+
+
+ <xsd:element name="dataflow" type="activities:DataflowConfig" />
+
+ <xsd:element ref="tav:abstractConfigBean" />
+
+ </xsd:choice>
+ <xsd:attribute name="encoding" use="required" type="tav:Encoding" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:redefine>
+
+
+ <xsd:simpleType name="Encoding">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="xstream"></xsd:enumeration>
+ <xsd:enumeration value="dataflow"></xsd:enumeration>
+ <xsd:enumeration value="jdomxml"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+
+
+</xsd:schema>
\ No newline at end of file