http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/scufl2.xsd ---------------------------------------------------------------------- diff --git a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/scufl2.xsd b/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/scufl2.xsd deleted file mode 100644 index c21072a..0000000 --- a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/scufl2.xsd +++ /dev/null @@ -1,570 +0,0 @@ -<?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. ---> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" - elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/scufl2#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:scufl2="http://ns.taverna.org.uk/2010/scufl2#" - xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" - jxb:version="1.0"> - - <xs:annotation> - <xs:appinfo> - <!-- See http://docs.rakeshv.org/java/jaxb/users-guide/jaxb-custom.html --> - <jxb:globalBindings /> - <jxb:schemaBindings> - <jxb:package name="org.apache.taverna.scufl2.rdfxml.jaxb" /> - </jxb:schemaBindings> - </xs:appinfo> - </xs:annotation> -<!-- - <xs:import namespace="http://purl.org/dc/elements/1.1/" - schemaLocation="http://dublincore.org/schemas/xmls/qdc/dc.xsd" /> - - <xs:import namespace="http://purl.org/dc/terms/" - schemaLocation="http://dublincore.org/schemas/xmls/qdc/dcterms.xsd" /> - - <xs:import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/03/xml.xsd" /> - <xs:import namespace="http://www.w3.org/2002/07/owl#" - schemaLocation="owl.xsd" /> - --> - - <xs:import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - schemaLocation="rdf.xsd" /> - <xs:import namespace="http://www.w3.org/2000/01/rdf-schema#" - schemaLocation="rdfs.xsd" /> - - - - <xs:complexType name="WorkflowBundleDocument"> - <xs:complexContent> - <xs:restriction base="rdf:RDF"> - <xs:sequence> - <xs:element ref="scufl2:WorkflowBundle"></xs:element> - </xs:sequence> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - - <xs:complexType name="WorkflowDocument"> - <xs:complexContent> - <xs:restriction base="rdf:RDF"> - <xs:sequence> - <xs:element ref="scufl2:Workflow"></xs:element> - </xs:sequence> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - - - <xs:complexType name="ProfileDocument"> - <xs:complexContent> - <xs:restriction base="rdf:RDF"> - <xs:sequence> - <xs:element ref="scufl2:Profile" /> - <xs:element ref="scufl2:Activity" minOccurs="0" - maxOccurs="unbounded" /> - <xs:element ref="scufl2:ProcessorBinding" minOccurs="0" - maxOccurs="unbounded" /> - <xs:element ref="scufl2:Configuration" minOccurs="0" - maxOccurs="unbounded" /> - - <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" - processContents="lax" /> - </xs:sequence> - </xs:restriction> - </xs:complexContent> - </xs:complexType> - - - <xs:element name="WorkflowBundle"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" minOccurs="0" /> - <xs:element name="globalBaseURI" type="rdf:Resource" - minOccurs="0" /> - <xs:element name="mainWorkflow" type="rdf:Resource" - minOccurs="0" /> - <xs:element name="workflow" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="Workflow" type="scufl2:SeeAlsoType" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="mainProfile" type="rdf:Resource" - minOccurs="0" /> - <xs:element name="profile" maxOccurs="unbounded" - minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="Profile" type="scufl2:SeeAlsoType" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element ref="rdfs:seeAlso" minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - - <xs:element name="Configuration"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rdf:type" /> - <xs:element ref="rdfs:seeAlso" minOccurs="0" /> - <xs:element ref="scufl2:name" minOccurs="0" /> - <xs:element name="configure" type="rdf:Resource" /> - <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" - processContents="lax" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="Activity"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rdf:type" /> - <xs:element ref="scufl2:name" minOccurs="0" /> - <xs:element name="inputActivityPort" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:InputActivityPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="outputActivityPort" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:OutputActivityPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - - </xs:complexType> - </xs:element> - - <xs:complexType name="SeeAlsoType"> - <xs:sequence> - <xs:element ref="rdfs:seeAlso" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - - - - <xs:element name="Profile"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element name="processorBinding" type="rdf:Resource" - minOccurs="0" maxOccurs="unbounded" /> - <xs:element name="activateConfiguration" type="rdf:Resource" - minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="ProcessorBinding"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" minOccurs="0" /> - <xs:element name="bindActivity" type="rdf:Resource" /> - <xs:element name="bindProcessor" type="rdf:Resource" /> - <xs:element name="activityPosition" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#integer" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="inputPortBinding" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="InputPortBinding" type="scufl2:InputPortBinding" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="outputPortBinding" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="OutputPortBinding" type="scufl2:OutputPortBinding" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:complexType name="InputPortBinding"> - <xs:sequence> - <xs:element name="bindInputActivityPort" type="rdf:Resource" /> - <xs:element name="bindInputProcessorPort" type="rdf:Resource" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - <xs:complexType name="OutputPortBinding"> - <xs:sequence> - <xs:element name="bindOutputActivityPort" type="rdf:Resource" /> - <xs:element name="bindOutputProcessorPort" type="rdf:Resource" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - - - <xs:element name="InputActivityPort"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element ref="scufl2:portDepth" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="OutputActivityPort"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element ref="scufl2:portDepth" /> - <xs:element ref="scufl2:granularPortDepth" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - <xs:element name="Workflow"> - <xs:complexType> - <xs:sequence> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element name="workflowIdentifier" type="rdf:Resource" /> - <xs:element name="inputWorkflowPort" maxOccurs="unbounded" - minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:InputWorkflowPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="outputWorkflowPort" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:OutputWorkflowPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="processor" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:Processor" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element ref="scufl2:datalink" minOccurs="0" - maxOccurs="unbounded" /> - <xs:element ref="scufl2:control" minOccurs="0" - maxOccurs="unbounded" /> - </xs:sequence> - <xs:element ref="rdfs:seeAlso" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="InputWorkflowPort"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element ref="scufl2:portDepth" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="OutputWorkflowPort"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="Processor"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element name="inputProcessorPort" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:InputProcessorPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="outputProcessorPort" minOccurs="0" - maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:OutputProcessorPort" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="dispatchStack" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:DispatchStack" /> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="iterationStrategyStack" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:IterationStrategyStack" /> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="InputProcessorPort"> - <xs:complexType> - <xs:sequence minOccurs="0"> - <xs:element ref="scufl2:name" /> - <xs:element ref="scufl2:portDepth" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="OutputProcessorPort"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:name" /> - <xs:element ref="scufl2:portDepth" /> - <xs:element ref="scufl2:granularPortDepth" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - - <xs:element name="DispatchStack"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rdf:type" minOccurs="0" /> - <xs:element name="dispatchStackLayers" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:DispatchStackLayer" minOccurs="0" - maxOccurs="unbounded" /> - </xs:sequence> - <xs:attribute ref="rdf:parseType" use="required" - fixed="Collection" /> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="DispatchStackLayer"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rdf:type" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - - <xs:element name="IterationStrategyStack"> - <xs:complexType> - <xs:sequence> - <xs:element name="iterationStrategies"> - <xs:complexType> - <xs:sequence> - <xs:choice minOccurs="1" maxOccurs="unbounded"> - <xs:element ref="scufl2:DotProduct" /> - <xs:element ref="scufl2:CrossProduct" /> - </xs:choice> - </xs:sequence> - <xs:attribute ref="rdf:parseType" use="required" - fixed="Collection" /> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - - - <xs:element name="CrossProduct"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:productOf" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="DotProduct"> - <xs:complexType> - <xs:sequence> - <xs:element ref="scufl2:productOf" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - <xs:element name="PortNode"> - <xs:complexType> - <xs:sequence> - <xs:element name="iterateOverInputPort" type="rdf:Resource" /> - <xs:element name="desiredDepth" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#integer" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - </xs:element> - - - <xs:element name="productOf"> - <xs:complexType> - <xs:choice maxOccurs="unbounded"> - <xs:element ref="scufl2:CrossProduct" /> - <xs:element ref="scufl2:DotProduct" /> - <xs:element ref="scufl2:PortNode" /> - </xs:choice> - <xs:attribute ref="rdf:parseType" use="required" fixed="Collection" /> - - </xs:complexType> - </xs:element> - <xs:element name="datalink"> - <xs:complexType> - <xs:annotation> - <xs:appinfo> - <jxb:class name="DataLinkEntry"> - </jxb:class> - </xs:appinfo> - </xs:annotation> - <xs:sequence> - <xs:element name="DataLink" type="scufl2:DataLink" /> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:complexType name="DataLink"> - <xs:sequence> - <xs:element name="receiveFrom" type="rdf:Resource" /> - <xs:element name="sendTo" type="rdf:Resource" /> - <xs:element name="mergePosition" minOccurs="0"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#integer" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - - <xs:element name="control"> - <xs:complexType> - <xs:sequence> - <xs:element name="Blocking" type="scufl2:Blocking" /> - </xs:sequence> - </xs:complexType> - </xs:element> - - <xs:complexType name="Blocking"> - <xs:sequence> - <xs:element name="block" type="rdf:Resource" /> - <xs:element name="untilFinished" type="rdf:Resource" /> - </xs:sequence> - <xs:attributeGroup ref="rdf:about" /> - </xs:complexType> - - - <xs:element name="configurationType"> - <xs:complexType> - <xs:attributeGroup ref="rdf:resource" /> - </xs:complexType> - </xs:element> - <xs:element name="required"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:boolean"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#boolean" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="name" type="xs:NCName" /> - <xs:element name="granularPortDepth"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#integer" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="portDepth"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:int"> - <xs:attribute ref="rdf:datatype" use="required" - fixed="http://www.w3.org/2001/XMLSchema#integer" /> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - - -</xs:schema>
http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/xml.xsd ---------------------------------------------------------------------- diff --git a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/xml.xsd b/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/xml.xsd deleted file mode 100644 index f317513..0000000 --- a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/xml.xsd +++ /dev/null @@ -1,295 +0,0 @@ -<?xml version='1.0'?> -<!-- - Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or - document includes material copied from or derived from: - - Extensible Markup Language (XML) 1.0 (Fifth Edition) - W3C Recommendation 26 November 2008 - http://www.w3.org/2001/xml.xsd - http://www.w3.org/TR/xml/ - ---> -<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" - xmlns:xs="http://www.w3.org/2001/XMLSchema" - xmlns ="http://www.w3.org/1999/xhtml" - xml:lang="en"> - - <xs:annotation> - <xs:documentation> - <div> - <h1>About the XML namespace</h1> - - <div class="bodytext"> - <p> - This schema document describes the XML namespace, in a form - suitable for import by other schema documents. - </p> - <p> - See <a href="http://www.w3.org/XML/1998/namespace.html"> - http://www.w3.org/XML/1998/namespace.html</a> and - <a href="http://www.w3.org/TR/REC-xml"> - http://www.w3.org/TR/REC-xml</a> for information - about this namespace. - </p> - <p> - Note that local names in this namespace are intended to be - defined only by the World Wide Web Consortium or its subgroups. - The names currently defined in this namespace are listed below. - They should not be used with conflicting semantics by any Working - Group, specification, or document instance. - </p> - <p> - See further below in this document for more information about <a - href="#usage">how to refer to this schema document from your own - XSD schema documents</a> and about <a href="#nsversioning">the - namespace-versioning policy governing this schema document</a>. - </p> - </div> - </div> - </xs:documentation> - </xs:annotation> - - <xs:attribute name="lang"> - <xs:annotation> - <xs:documentation> - <div> - - <h3>lang (as an attribute name)</h3> - <p> - denotes an attribute whose value - is a language code for the natural language of the content of - any element; its value is inherited. This name is reserved - by virtue of its definition in the XML specification.</p> - - </div> - <div> - <h4>Notes</h4> - <p> - Attempting to install the relevant ISO 2- and 3-letter - codes as the enumerated possible values is probably never - going to be a realistic possibility. - </p> - <p> - See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> - http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> - and the IANA language subtag registry at - <a href="http://www.iana.org/assignments/language-subtag-registry"> - http://www.iana.org/assignments/language-subtag-registry</a> - for further information. - </p> - <p> - The union allows for the 'un-declaration' of xml:lang with - the empty string. - </p> - </div> - </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:union memberTypes="xs:language"> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:enumeration value=""/> - </xs:restriction> - </xs:simpleType> - </xs:union> - </xs:simpleType> - </xs:attribute> - - <xs:attribute name="space"> - <xs:annotation> - <xs:documentation> - <div> - - <h3>space (as an attribute name)</h3> - <p> - denotes an attribute whose - value is a keyword indicating what whitespace processing - discipline is intended for the content of the element; its - value is inherited. This name is reserved by virtue of its - definition in the XML specification.</p> - - </div> - </xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:NCName"> - <xs:enumeration value="default"/> - <xs:enumeration value="preserve"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - - <xs:attribute name="base" type="xs:anyURI"> <xs:annotation> - <xs:documentation> - <div> - - <h3>base (as an attribute name)</h3> - <p> - denotes an attribute whose value - provides a URI to be used as the base for interpreting any - relative URIs in the scope of the element on which it - appears; its value is inherited. This name is reserved - by virtue of its definition in the XML Base specification.</p> - - <p> - See <a - href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> - for information about this attribute. - </p> - </div> - </xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attribute name="id" type="xs:ID"> - <xs:annotation> - <xs:documentation> - <div> - - <h3>id (as an attribute name)</h3> - <p> - denotes an attribute whose value - should be interpreted as if declared to be of type ID. - This name is reserved by virtue of its definition in the - xml:id specification.</p> - - <p> - See <a - href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> - for information about this attribute. - </p> - </div> - </xs:documentation> - </xs:annotation> - </xs:attribute> - - <xs:attributeGroup name="specialAttrs"> - <xs:attribute ref="xml:base"/> - <xs:attribute ref="xml:lang"/> - <xs:attribute ref="xml:space"/> - <xs:attribute ref="xml:id"/> - </xs:attributeGroup> - - <xs:annotation> - <xs:documentation> - <div> - - <h3>Father (in any context at all)</h3> - - <div class="bodytext"> - <p> - denotes Jon Bosak, the chair of - the original XML Working Group. This name is reserved by - the following decision of the W3C XML Plenary and - XML Coordination groups: - </p> - <blockquote> - <p> - In appreciation for his vision, leadership and - dedication the W3C XML Plenary on this 10th day of - February, 2000, reserves for Jon Bosak in perpetuity - the XML name "xml:Father". - </p> - </blockquote> - </div> - </div> - </xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation> - <div xml:id="usage" id="usage"> - <h2><a name="usage">About this schema document</a></h2> - - <div class="bodytext"> - <p> - This schema defines attributes and an attribute group suitable - for use by schemas wishing to allow <code>xml:base</code>, - <code>xml:lang</code>, <code>xml:space</code> or - <code>xml:id</code> attributes on elements they define. - </p> - <p> - To enable this, such a schema must import this schema for - the XML namespace, e.g. as follows: - </p> - <pre> - <schema . . .> - . . . - <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/xml.xsd"/> - </pre> - <p> - or - </p> - <pre> - <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> - </pre> - <p> - Subsequently, qualified reference to any of the attributes or the - group defined below will have the desired effect, e.g. - </p> - <pre> - <type . . .> - . . . - <attributeGroup ref="xml:specialAttrs"/> - </pre> - <p> - will define a type which will schema-validate an instance element - with any of those attributes. - </p> - </div> - </div> - </xs:documentation> - </xs:annotation> - - <xs:annotation> - <xs:documentation> - <div id="nsversioning" xml:id="nsversioning"> - <h2><a name="nsversioning">Versioning policy for this schema document</a></h2> - <div class="bodytext"> - <p> - In keeping with the XML Schema WG's standard versioning - policy, this schema document will persist at - <a href="http://www.w3.org/2009/01/xml.xsd"> - http://www.w3.org/2009/01/xml.xsd</a>. - </p> - <p> - At the date of issue it can also be found at - <a href="http://www.w3.org/2001/xml.xsd"> - http://www.w3.org/2001/xml.xsd</a>. - </p> - <p> - The schema document at that URI may however change in the future, - in order to remain compatible with the latest version of XML - Schema itself, or with the XML namespace itself. In other words, - if the XML Schema or XML namespaces change, the version of this - document at <a href="http://www.w3.org/2001/xml.xsd"> - http://www.w3.org/2001/xml.xsd - </a> - will change accordingly; the version at - <a href="http://www.w3.org/2009/01/xml.xsd"> - http://www.w3.org/2009/01/xml.xsd - </a> - will not change. - </p> - <p> - Previous dated (and unchanging) versions of this schema - document are at: - </p> - <ul> - <li><a href="http://www.w3.org/2009/01/xml.xsd"> - http://www.w3.org/2009/01/xml.xsd</a></li> - <li><a href="http://www.w3.org/2007/08/xml.xsd"> - http://www.w3.org/2007/08/xml.xsd</a></li> - <li><a href="http://www.w3.org/2004/10/xml.xsd"> - http://www.w3.org/2004/10/xml.xsd</a></li> - <li><a href="http://www.w3.org/2001/03/xml.xsd"> - http://www.w3.org/2001/03/xml.xsd</a></li> - </ul> - </div> - </div> - </xs:documentation> - </xs:annotation> - -</xs:schema> http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/pom.xml ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/pom.xml b/taverna-scufl2-scufl/pom.xml deleted file mode 100644 index 1bd9038..0000000 --- a/taverna-scufl2-scufl/pom.xml +++ /dev/null @@ -1,104 +0,0 @@ -<?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. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.taverna.language</groupId> - <artifactId>taverna-language</artifactId> - <version>0.16.1-incubating-SNAPSHOT</version> - </parent> - <artifactId>taverna-scufl2-scufl</artifactId> - <packaging>bundle</packaging> - <name>Apache Taverna Scufl 2 SCUFL parser</name> - <description>Parse Taverna 1.x workflows (Status: Experimental)</description> - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <!-- - <configuration> - <instructions> - <Export-Package>org.apache.taverna.scufl2.api.io;provide:=true</Export-Package> - </instructions> - </configuration> - --> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>jaxb2-maven-plugin</artifactId> - <executions> - <execution> - <goals> - <goal>xjc</goal> - </goals> - </execution> - </executions> - <configuration> - <packageName>org.apache.taverna.scufl2.xml.scufl.jaxb</packageName> - <schemaDirectory>src/main/resources/org/apache/taverna/scufl2/translator/scufl/xsd/</schemaDirectory> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.7</source> - <target>1.7</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - </plugin> - </plugins> - </build> <dependencies> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>taverna-scufl2-api</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-osgi</artifactId> - <version>${jaxb.version}</version> - <type>jar</type> - <optional>true</optional> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>${commons.io.version}</version> - <type>jar</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.jdom</groupId> - <artifactId>com.springsource.org.jdom</artifactId> - <version>${jdom.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.jaxen</groupId> - <artifactId>com.springsource.org.jaxen</artifactId> - <version>${jaxen.version}</version> - <scope>test</scope> - </dependency> - </dependencies> -</project> http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ParserState.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ParserState.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ParserState.java deleted file mode 100644 index 7cedf56..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ParserState.java +++ /dev/null @@ -1,149 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl; -/* - * - * 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 java.util.HashMap; - -import org.apache.taverna.scufl2.api.activity.Activity; -import org.apache.taverna.scufl2.api.common.WorkflowBean; -import org.apache.taverna.scufl2.api.container.WorkflowBundle; -import org.apache.taverna.scufl2.api.core.Processor; -import org.apache.taverna.scufl2.api.core.Workflow; -import org.apache.taverna.scufl2.api.profiles.Profile; - - -/** - * @author alanrw - */ -public class ParserState { - private ScuflParser currentParser; - private WorkflowBundle currentWorkflowBundle; - private Profile currentProfile; - private Workflow currentWorkflow; - private Processor currentProcessor; - private ScuflExtensionParser currentExtensionParser; - private Activity currentActivity; - - private HashMap<Object, WorkflowBean> forwardMapping = new HashMap<>(); - - public void setCurrentWorkflowBundle(WorkflowBundle wfBundle) { - this.currentWorkflowBundle = wfBundle; - } - - public WorkflowBundle getCurrentWorkflowBundle() { - return currentWorkflowBundle; - } - - public void setCurrentProfile(Profile profile) { - this.currentProfile = profile; - } - - /** - * @return the currentProfile - */ - public Profile getCurrentProfile() { - return currentProfile; - } - - /** - * @return the currentParser - */ - public ScuflParser getCurrentParser() { - return currentParser; - } - - /** - * @param currentParser - * the currentParser to set - */ - public void setCurrentParser(ScuflParser currentParser) { - this.currentParser = currentParser; - } - - /** - * @param currentWorkflow - * the currentWorkflow to set - */ - public void setCurrentWorkflow(Workflow currentWorkflow) { - this.currentWorkflow = currentWorkflow; - } - - /** - * @return the currentWorkflow - */ - public Workflow getCurrentWorkflow() { - return currentWorkflow; - } - - public void addMapping(Object scuflObject, WorkflowBean scufl2Object) { - forwardMapping.put(scuflObject, scufl2Object); - } - - /** - * @return the currentProcessor - */ - public Processor getCurrentProcessor() { - return currentProcessor; - } - - /** - * @param currentProcessor - * the currentProcessor to set - */ - public void setCurrentProcessor(Processor currentProcessor) { - this.currentProcessor = currentProcessor; - } - - /** - * @return the currentExtensionParser - */ - public ScuflExtensionParser getCurrentExtensionParser() { - return currentExtensionParser; - } - - /** - * @param currentExtensionParser - * the currentExtensionParser to set - */ - public void setCurrentExtensionParser( - ScuflExtensionParser currentExtensionParser) { - this.currentExtensionParser = currentExtensionParser; - } - - /** - * @return the currentActivity - */ - public Activity getCurrentActivity() { - return currentActivity; - } - - /** - * @param currentActivity - * the currentActivity to set - */ - public void setCurrentActivity(Activity currentActivity) { - this.currentActivity = currentActivity; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflExtensionParser.java deleted file mode 100644 index 6fc235e..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflExtensionParser.java +++ /dev/null @@ -1,43 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl; -/* - * - * 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 java.net.URI; -import java.util.List; - -/** - * @author alanrw - */ -public interface ScuflExtensionParser { - void setParserState(ParserState state); - - ParserState getParserState(); - - List<URI> getAdditionalSchemas(); - - void parseScuflObject(Object o); - - boolean canHandle(Class<?> c); -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflParser.java deleted file mode 100644 index b209537..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflParser.java +++ /dev/null @@ -1,497 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl; -/* - * - * 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 java.util.logging.Level.SEVERE; -import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.ServiceLoader; -import java.util.Set; -import java.util.logging.Logger; -import java.util.regex.Pattern; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; - -import org.apache.taverna.scufl2.api.activity.Activity; -import org.apache.taverna.scufl2.api.common.Scufl2Tools; -import org.apache.taverna.scufl2.api.container.WorkflowBundle; -import org.apache.taverna.scufl2.api.core.Processor; -import org.apache.taverna.scufl2.api.core.Workflow; -import org.apache.taverna.scufl2.api.io.ReaderException; -import org.apache.taverna.scufl2.api.port.InputActivityPort; -import org.apache.taverna.scufl2.api.port.InputProcessorPort; -import org.apache.taverna.scufl2.api.port.InputWorkflowPort; -import org.apache.taverna.scufl2.api.port.OutputActivityPort; -import org.apache.taverna.scufl2.api.port.OutputProcessorPort; -import org.apache.taverna.scufl2.api.port.OutputWorkflowPort; -import org.apache.taverna.scufl2.api.profiles.ProcessorBinding; -import org.apache.taverna.scufl2.api.profiles.ProcessorInputPortBinding; -import org.apache.taverna.scufl2.api.profiles.ProcessorOutputPortBinding; -import org.apache.taverna.scufl2.api.profiles.Profile; -import org.xml.sax.SAXException; - -import org.apache.taverna.scufl2.xml.scufl.jaxb.CoordinationType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.DefaultType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.DefaultsType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.LinkType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.ObjectFactory; -import org.apache.taverna.scufl2.xml.scufl.jaxb.ProcessorType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.ScuflType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.SinkType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.SourceType; -import org.apache.taverna.scufl2.xml.scufl.jaxb.WorkflowDescriptionType; - -/** - * WARNING! Incomplete class. - * @author alanrw - */ -public class ScuflParser { - private static final Logger logger = Logger.getLogger(ScuflParser.class - .getCanonicalName()); - private static final String SCUFL_XSD = "xsd/scufl.xsd"; - @SuppressWarnings("unused") - private static final String LOCAL_XSD = "xsd/scufl-local.xsd"; - private static final String SCUFL = "SCUFL"; - - protected Set<ScuflExtensionParser> scuflExtensionParsers = null; - protected final JAXBContext jaxbContext; - private boolean strict = false; - private boolean validating = false; - - protected ThreadLocal<ParserState> parserState = new ThreadLocalParserState(); - - /** - * A static class for the thread-local parser state. - */ - private static class ThreadLocalParserState extends ThreadLocal<ParserState> { - @Override - protected ParserState initialValue() { - return new ParserState(); - }; - } - - private static Scufl2Tools scufl2Tools = new Scufl2Tools(); - protected ServiceLoader<ScuflExtensionParser> discoveredScuflExtensionParsers; - protected final ThreadLocal<Unmarshaller> unmarshaller; - - public ScuflParser() throws JAXBException { - jaxbContext = JAXBContext.newInstance(ObjectFactory.class); - unmarshaller = new ThreadLocalUnmarshaller(jaxbContext); - } - - /** - * A static class for the thread-local unmarshaller. - */ - private static class ThreadLocalUnmarshaller extends - ThreadLocal<Unmarshaller> { - private final JAXBContext jaxbContext; - - ThreadLocalUnmarshaller(JAXBContext jaxbContext) { - this.jaxbContext = jaxbContext; - } - - @Override - protected Unmarshaller initialValue() { - try { - return jaxbContext.createUnmarshaller(); - } catch (JAXBException e) { - logger.log(SEVERE, "Could not create unmarshaller", e); - return null; - } - }; - } - - @SuppressWarnings("unchecked") - public WorkflowBundle parseScufl(File scuflFile) throws IOException, - ReaderException, JAXBException { - JAXBElement<ScuflType> root = (JAXBElement<ScuflType>) getUnmarshaller() - .unmarshal(scuflFile); - return parseScufl(root.getValue()); - } - - @SuppressWarnings("unchecked") - public WorkflowBundle parseScufl(InputStream scuflFile) throws IOException, - JAXBException, ReaderException { - JAXBElement<ScuflType> root = (JAXBElement<ScuflType>) getUnmarshaller() - .unmarshal(scuflFile); - return parseScufl(root.getValue()); - } - - public WorkflowBundle parseScufl(ScuflType wf) throws ReaderException, - JAXBException { - try { - parserState.get().setCurrentParser(this); - WorkflowBundle wfBundle = new WorkflowBundle(); - parserState.get().setCurrentWorkflowBundle(wfBundle); - makeProfile(wf); - Workflow w = parseWorkflow(wf); - wfBundle.setMainWorkflow(w); - - scufl2Tools.setParents(wfBundle); - - return wfBundle; - } finally { - parserState.remove(); - } - } - - private Workflow parseWorkflow(ScuflType wf) { - Workflow oldCurrentWorkflow = parserState.get().getCurrentWorkflow(); - Workflow workflow = new Workflow(); - workflow.setParent(parserState.get().getCurrentWorkflowBundle()); - parserState.get().addMapping(wf, workflow); - parserState.get().setCurrentWorkflow(workflow); - WorkflowDescriptionType description = wf.getWorkflowdescription(); - workflow.setName(sanitiseName(description.getTitle())); - - parseWorkflowInputs(wf); - parseWorkflowOutputs(wf); - parseProcessors(wf); - parseLinks(wf); - parseCoordinations(wf); - parseAnnotations(wf); - - replaceDefaultsWithStringConstants(wf); // To be done - - parserState.get().setCurrentWorkflow(oldCurrentWorkflow); - return workflow; - } - - private void parseAnnotations(ScuflType wf) { - // TODO Auto-generated method stub - } - - private void parseCoordinations(ScuflType wf) { - for (CoordinationType c : wf.getCoordination()) - parseCoordination(c); - } - - private void parseCoordination(CoordinationType c) { - // TODO Auto-generated method stub - } - - private void parseLinks(ScuflType wf) { - for (LinkType dl : wf.getLink()) - parseLink(dl); - } - - private void parseLink(LinkType dl) { - // TODO Auto-generated method stub - } - - private void parseWorkflowInputs(ScuflType wf) { - for (SourceType st : wf.getSource()) - parseWorkflowInput(st); - } - - private void parseWorkflowInput(SourceType st) { - Workflow currentWorkflow = parserState.get().getCurrentWorkflow(); - InputWorkflowPort iwp = new InputWorkflowPort(currentWorkflow, - sanitiseName(st.getName())); - parserState.get().addMapping(st, iwp); - // Cannot do anything about the depths - } - - private void parseWorkflowOutputs(ScuflType wf) { - for (SinkType st : wf.getSink()) - parseWorkflowOutput(st); - } - - private void parseWorkflowOutput(SinkType st) { - Workflow currentWorkflow = parserState.get().getCurrentWorkflow(); - OutputWorkflowPort owp = new OutputWorkflowPort(currentWorkflow, - sanitiseName(st.getName())); - parserState.get().addMapping(st, owp); - // Cannot do anything about the depths - } - - private void parseProcessors(ScuflType wf) { - for (ProcessorType pt : wf.getProcessor()) - parseProcessor(pt); - } - - private void parseProcessor(ProcessorType pt) { - Workflow currentWorkflow = parserState.get().getCurrentWorkflow(); - Processor p = new Processor(currentWorkflow, sanitiseName(pt.getName())); - parserState.get().setCurrentProcessor(p); - parseDispatchStack(pt); - parseProcessorElement(pt.getProcessorElement()); - Activity activity = parserState.get().getCurrentActivity(); - if (activity != null) - createDefaultProcessorBinding(); - parserState.get().setCurrentActivity(null); - - parseAlternates(pt); - parseIterationStrategy(pt); - parserState.get().setCurrentProcessor(null); - parserState.get().addMapping(pt, p); - // Cannot do anything about the ports - } - - private void createDefaultProcessorBinding() { - Processor p = parserState.get().getCurrentProcessor(); - Activity a = parserState.get().getCurrentActivity(); - - ProcessorBinding pb = new ProcessorBinding(); - pb.setParent(parserState.get().getCurrentProfile()); - pb.setActivityPosition(0); - pb.setBoundProcessor(p); - pb.setBoundActivity(a); - for (InputActivityPort iap : a.getInputPorts()) { - InputProcessorPort ipp = findOrCreateProcessorInputPort(p, - iap.getName(), iap.getDepth()); - ProcessorInputPortBinding portBinding = new ProcessorInputPortBinding(); - portBinding.setParent(pb); - portBinding.setBoundActivityPort(iap); - portBinding.setBoundProcessorPort(ipp); - } - for (OutputActivityPort oap : a.getOutputPorts()) { - OutputProcessorPort opp = findOrCreateProcessorOutputPort(p, - oap.getName(), oap.getDepth(), oap.getGranularDepth()); - ProcessorOutputPortBinding portBinding = new ProcessorOutputPortBinding(); - portBinding.setParent(pb); - portBinding.setBoundActivityPort(oap); - portBinding.setBoundProcessorPort(opp); - } - } - - private OutputProcessorPort findOrCreateProcessorOutputPort(Processor p, - String name, Integer depth, Integer granularDepth) { - OutputProcessorPort port = p.getOutputPorts().getByName(name); - if (port == null) { - port = new OutputProcessorPort(); - port.setParent(p); - port.setName(name); - port.setDepth(depth); - port.setGranularDepth(granularDepth); - } - return port; - } - - private InputProcessorPort findOrCreateProcessorInputPort(Processor p, - String name, Integer depth) { - InputProcessorPort port = p.getInputPorts().getByName(name); - if (port == null) { - port = new InputProcessorPort(); - port.setParent(p); - port.setName(name); - port.setDepth(depth); - } - return port; - } - - private void parseAlternates(ProcessorType pt) { - // TODO Auto-generated method stub - } - - private void parseProcessorElement(JAXBElement<?> processorElement) { - Object processorElementValue = processorElement.getValue(); - parseExtensionObject(processorElementValue); - } - - private void parseExtensionObject(Object o) { - findExtensionParser(o.getClass()); - if (parserState.get().getCurrentExtensionParser() != null) { - parserState.get().getCurrentExtensionParser() - .setParserState(parserState.get()); - parserState.get().getCurrentExtensionParser().parseScuflObject(o); - parserState.get().setCurrentExtensionParser(null); - } else { - // FIXME write to log instead! - System.err.println("Unrecognized extension " + o.getClass()); - } - } - - private void findExtensionParser(Class<?> c) { - parserState.get().setCurrentExtensionParser(null); - for (ScuflExtensionParser extensionParser : getScuflExtensionParsers()) - if (extensionParser.canHandle(c)) { - parserState.get().setCurrentExtensionParser(extensionParser); - break; - } - } - - private void parseDispatchStack(ProcessorType pt) { - // TODO - } - - private void parseIterationStrategy(ProcessorType pt) { - // TODO - } - - /** - * Crawls the scuflModel processors and checks their input ports for unbound - * default values. If one is found then a StringConstantProcessor is - * inserted upstream. - * - * @param scuflModel - * @throws WorkflowTranslationException - */ - @SuppressWarnings("unused") - private void replaceDefaultsWithStringConstants(ScuflType scuflModel) { - for (ProcessorType t1Processor : scuflModel.getProcessor()) { - DefaultsType defaults = t1Processor.getDefaults(); - if (defaults != null) - for (DefaultType d : defaults.getDefault()) { - String portName = d.getName(); - String constantValue = d.getValue(); - // TODO: To be done - } - } - } - - public Unmarshaller getUnmarshaller() { - Unmarshaller u = unmarshaller.get(); - - if (!isValidating() && u.getSchema() != null) { - u.setSchema(null); - } else if (isValidating() && u.getSchema() == null) { - // Load and set schema to validate against - Schema schema; - try { - SchemaFactory schemaFactory = SchemaFactory - .newInstance(W3C_XML_SCHEMA_NS_URI); - List<URI> schemas = getAdditionalSchemas(); - - URL scuflXSD = getClass().getResource(SCUFL_XSD); - schemas.add(scuflXSD.toURI()); - - List<Source> schemaSources = new ArrayList<>(); - for (URI schemaUri : schemas) - schemaSources.add(new StreamSource(schemaUri - .toASCIIString())); - Source[] sources = schemaSources - .toArray(new Source[schemaSources.size()]); - schema = schemaFactory.newSchema(sources); - } catch (SAXException e) { - throw new RuntimeException("Can't load schema " + SCUFL_XSD, e); - } catch (URISyntaxException | NullPointerException e) { - throw new RuntimeException("Can't find schema " + SCUFL_XSD, e); - } - u.setSchema(schema); - } - return u; - } - - private void makeProfile(ScuflType wf) { - Profile profile = new Profile(SCUFL + "-" + wf.getVersion()); - profile.setParent(parserState.get().getCurrentWorkflowBundle()); - parserState.get().getCurrentWorkflowBundle().setMainProfile(profile); - parserState.get().setCurrentProfile(profile); - } - - protected List<URI> getAdditionalSchemas() { - List<URI> uris = new ArrayList<>(); - for (ScuflExtensionParser parser : getScuflExtensionParsers()) { - List<URI> schemas = parser.getAdditionalSchemas(); - if (schemas != null) - uris.addAll(schemas); - } - return uris; - } - - public synchronized Set<ScuflExtensionParser> getScuflExtensionParsers() { - Set<ScuflExtensionParser> parsers = scuflExtensionParsers; - if (parsers != null) - return parsers; - parsers = new HashSet<>(); - /* - * TODO: Do we need to cache this, or is the cache in ServiceLoader fast - * enough? - */ - if (discoveredScuflExtensionParsers == null) - discoveredScuflExtensionParsers = ServiceLoader - .load(ScuflExtensionParser.class); - for (ScuflExtensionParser parser : discoveredScuflExtensionParsers) - parsers.add(parser); - return parsers; - } - - /** - * @return the strict - */ - public boolean isStrict() { - return strict; - } - - /** - * @param strict - * the strict to set - */ - public void setStrict(boolean strict) { - this.strict = strict; - } - - /** - * @return the validating - */ - public boolean isValidating() { - return validating; - } - - /** - * @param validating - * the validating to set - */ - public void setValidating(boolean validating) { - this.validating = validating; - } - - /** - * Checks that the name does not have any characters that are invalid for a - * processor name. - * - * The name must contain only the chars[A-Za-z_0-9]. - * - * @param name - * the original name - * @return the sanitised name - */ - private static String sanitiseName(String name) { - if (Pattern.matches("\\w++", name)) - return name; - StringBuilder result = new StringBuilder(); - for (char c : name.toCharArray()) - if (Character.isLetterOrDigit(c) || c == '_') - result.append(c); - return result.toString(); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflReader.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflReader.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflReader.java deleted file mode 100644 index 379e6bd..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/ScuflReader.java +++ /dev/null @@ -1,115 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl; -/* - * - * 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 java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import javax.xml.bind.JAXBException; - -import org.apache.taverna.scufl2.api.common.Scufl2Tools; -import org.apache.taverna.scufl2.api.container.WorkflowBundle; -import org.apache.taverna.scufl2.api.io.ReaderException; -import org.apache.taverna.scufl2.api.io.WorkflowBundleReader; - - -/** - * @author alanrw - */ -public class ScuflReader implements WorkflowBundleReader { - public static final String APPLICATION_VND_TAVERNA_SCUFL_XML = "application/vnd.taverna.scufl+xml"; - private static final Set<String> SCUFL_TYPES = new HashSet<String>( - Arrays.asList(new String[] { APPLICATION_VND_TAVERNA_SCUFL_XML })); - - private Scufl2Tools scufl2Tools = new Scufl2Tools(); - private ScuflParser parser; - - @Override - public Set<String> getMediaTypes() { - return SCUFL_TYPES; - } - - @Override - public WorkflowBundle readBundle(File bundleFile, String mediaType) - throws ReaderException, IOException { - try { - WorkflowBundle bundle = getParser().parseScufl(bundleFile); - scufl2Tools.setParents(bundle); - return bundle; - } catch (JAXBException e) { - if (e.getCause() instanceof IOException) { - IOException ioException = (IOException) e.getCause(); - throw ioException; - } - throw new ReaderException("Can't parse SCUFL " + bundleFile, e); - } - } - - @Override - public WorkflowBundle readBundle(InputStream inputStream, String mediaType) - throws ReaderException, IOException { - try { - WorkflowBundle bundle = getParser().parseScufl(inputStream); - scufl2Tools.setParents(bundle); - return bundle; - } catch (JAXBException e) { - if (e.getCause() instanceof IOException) { - IOException ioException = (IOException) e.getCause(); - throw ioException; - } - throw new ReaderException("Can't parse SCUFL", e); - } - } - - public void setParser(ScuflParser parser) { - this.parser = parser; - } - - public ScuflParser getParser() throws JAXBException { - if (parser == null) - parser = new ScuflParser(); - return parser; - } - - @Override - public String guessMediaTypeForSignature(byte[] firstBytes) { - if (firstBytes.length < 100) - return null; - // FIXME: Does not deal with potential UTF-16 encoding - - // Latin 1 can deal with nasty bytes in binaries - Charset latin1 = Charset.forName("ISO-8859-1"); - String asLatin1 = new String(firstBytes, latin1); - if (!asLatin1.contains("http://org.embl.ebi.escience/xscufl/0.1alpha")) - return null; - // Good enough - XML is hard to check on so few bytes - return APPLICATION_VND_TAVERNA_SCUFL_XML; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractExtensionParser.java deleted file mode 100644 index c31e71a..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractExtensionParser.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 org.apache.taverna.scufl2.translator.scufl.ParserState; -import org.apache.taverna.scufl2.translator.scufl.ScuflExtensionParser; - -/** - * @author alanrw - */ -public abstract class AbstractExtensionParser implements ScuflExtensionParser { - private ParserState parserState; - - /** - * @return the parserState - */ - @Override - public ParserState getParserState() { - return parserState; - } - - /** - * @param parserState the parserState to set - */ - @Override - public void setParserState(ParserState parserState) { - this.parserState = parserState; - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractProcessorExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractProcessorExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractProcessorExtensionParser.java deleted file mode 100644 index 326a44d..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/AbstractProcessorExtensionParser.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.util.Collections; -import java.util.List; - -/** - * @author alanrw - */ -public class AbstractProcessorExtensionParser extends AbstractExtensionParser { - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.AbstractprocessorType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - return Collections.emptyList(); - } - - @Override - public void parseScuflObject(Object o) { - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/ApiConsumerExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/ApiConsumerExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/ApiConsumerExtensionParser.java deleted file mode 100644 index b880bc3..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/ApiConsumerExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class ApiConsumerExtensionParser extends AbstractExtensionParser { - private static final String APICONSUMER_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-apiconsumer.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.ApiconsumerType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL apiConsumerXsd = getClass().getResource(APICONSUMER_XSD); - try { - return Arrays.asList(apiConsumerXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find APIConsumer schema " - + apiConsumerXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BeanshellExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BeanshellExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BeanshellExtensionParser.java deleted file mode 100644 index 1b7f83c..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BeanshellExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class BeanshellExtensionParser extends AbstractExtensionParser { - private static final String BEANSHELL_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-beanshell.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.BeanshellType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL beanshellXsd = getClass().getResource(BEANSHELL_XSD); - try { - return Arrays.asList(beanshellXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find Beanshell schema " - + beanshellXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomartExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomartExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomartExtensionParser.java deleted file mode 100644 index 6862d9c..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomartExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class BiomartExtensionParser extends AbstractExtensionParser { - private static final String BIOMART_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-biomart.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.BiomartType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL biomartXsd = getClass().getResource(BIOMART_XSD); - try { - return Arrays.asList(biomartXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find Biomart schema " - + biomartXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomobyExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomobyExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomobyExtensionParser.java deleted file mode 100644 index 96a8516..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/BiomobyExtensionParser.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class BiomobyExtensionParser extends AbstractExtensionParser { - - private static final String BIOMOBY_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-biomoby.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.BiomobyobjectType.class) - || c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.BiomobyparserType.class) - || c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.BiomobywsdlType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL apiConsumerXsd = getClass().getResource(BIOMOBY_XSD); - try { - return Arrays.asList(apiConsumerXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find APIConsumer schema " - + apiConsumerXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/LocalExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/LocalExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/LocalExtensionParser.java deleted file mode 100644 index cf2ec42..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/LocalExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class LocalExtensionParser extends AbstractExtensionParser { - private static final String LOCAL_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-local.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.LocalType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL localXsd = getClass().getResource(LOCAL_XSD); - try { - return Arrays.asList(localXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find Local Service schema " - + localXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/RshellExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/RshellExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/RshellExtensionParser.java deleted file mode 100644 index a884b18..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/RshellExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class RshellExtensionParser extends AbstractExtensionParser { - private static final String RSHELL_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-rshell.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.RshellType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL rshellXsd = getClass().getResource(RSHELL_XSD); - try { - return Arrays.asList(rshellXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find RShell schema " - + rshellXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/SoaplabExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/SoaplabExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/SoaplabExtensionParser.java deleted file mode 100644 index 573d446..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/SoaplabExtensionParser.java +++ /dev/null @@ -1,60 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class SoaplabExtensionParser extends AbstractExtensionParser { - private static final String SOAPLAB_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-soaplab.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.SoaplabwsdlType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL soaplabXsd = getClass().getResource(SOAPLAB_XSD); - try { - return Arrays.asList(soaplabXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find Soaplab schema " - + soaplabXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/StringConstantExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/StringConstantExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/StringConstantExtensionParser.java deleted file mode 100644 index d692dd2..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/StringConstantExtensionParser.java +++ /dev/null @@ -1,91 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -import org.apache.taverna.scufl2.api.activity.Activity; -import org.apache.taverna.scufl2.api.configurations.Configuration; -import org.apache.taverna.scufl2.api.port.OutputActivityPort; -import org.apache.taverna.scufl2.api.profiles.ProcessorBinding; - -import org.apache.taverna.scufl2.xml.scufl.jaxb.StringconstantType; - -import com.fasterxml.jackson.databind.node.ObjectNode; - -/** - * @author alanrw - */ -public class StringConstantExtensionParser extends AbstractExtensionParser { - private static final String STRINGCONSTANT_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-stringconstant.xsd"; - - private static final String VALUE = "value"; - - public static URI CONSTANT = URI - .create("http://ns.taverna.org.uk/2010/activity/constant"); - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.StringconstantType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL stringConstantXsd = getClass().getResource(STRINGCONSTANT_XSD); - try { - return Arrays.asList(stringConstantXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException( - "Can't find String Constant schema " + stringConstantXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - StringconstantType sc = (StringconstantType) o; - Configuration configuration = new Configuration(); - configuration.setParent(getParserState().getCurrentProfile()); - configuration.setType(CONSTANT.resolve("#Config")); - ((ObjectNode) configuration.getJson()).put("string", sc.getValue()); - - Activity activity = new Activity(); - getParserState().setCurrentActivity(activity); - activity.setParent(getParserState().getCurrentProfile()); - activity.setType(CONSTANT); - OutputActivityPort valuePort = new OutputActivityPort(activity, VALUE); - valuePort.setDepth(0); - valuePort.setGranularDepth(0); - configuration.setConfigures(activity); - - ProcessorBinding pb = new ProcessorBinding(); - pb.setParent(getParserState().getCurrentProfile()); - pb.setBoundProcessor(getParserState().getCurrentProcessor()); - pb.setBoundActivity(activity); - } -} http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/316e4a8a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/WsdlExtensionParser.java ---------------------------------------------------------------------- diff --git a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/WsdlExtensionParser.java b/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/WsdlExtensionParser.java deleted file mode 100644 index 9537445..0000000 --- a/taverna-scufl2-scufl/src/main/java/org/apache/taverna/scufl2/translator/scufl/processorelement/WsdlExtensionParser.java +++ /dev/null @@ -1,59 +0,0 @@ -/** - * - */ -package org.apache.taverna.scufl2.translator.scufl.processorelement; -/* - * - * 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 java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.List; - -/** - * @author alanrw - */ -public class WsdlExtensionParser extends AbstractExtensionParser { - private static final String WSDL_XSD = "/uk/org/taverna/scufl2/translator/scufl/xsd/scufl-wsdl.xsd"; - - @Override - public boolean canHandle(Class<?> c) { - return c.equals(org.apache.taverna.scufl2.xml.scufl.jaxb.WsdlType.class); - } - - @Override - public List<URI> getAdditionalSchemas() { - URL wsdlXsd = getClass().getResource(WSDL_XSD); - try { - return Arrays.asList(wsdlXsd.toURI()); - } catch (URISyntaxException e) { - throw new IllegalStateException("Can't find WSDL schema " + wsdlXsd); - } - } - - @Override - public void parseScuflObject(Object o) { - // TODO write to log? - System.err.println(this.getClass() + " is not yet implemented"); - } -}