<?xml version="1.0" encoding="UTF-8"?>
<Resource>
	<ID></ID>
	<Type>Service</Type>
	<Profile>
		<Description>Distributed Information Retrieval Master Service</Description>
		<Class>DIR</Class>
		<Name>Master</Name>
		<Version>1.0.0</Version>
		<Dependencies>
			<Dependency>
				<Class>Index</Class>
				<Name>FullTextIndexLookupService</Name>
				<Version>1.0.0</Version>
			</Dependency>
		</Dependencies>
		<Packages>
			<Main>
				<Description>Describes the port-types of the DIR Master service</Description>
				<Name>Main</Name>
				<Version>1.2.0</Version>
				<Dependencies>
					<Dependency>
						<Service>
							<Class>DIR</Class>
							<Name>Master</Name>
							<Version>1.0.0</Version>
						</Service>
						<Package>Stubs</Package>
						<Version>1.1.0</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					<Dependency>
						<Service>
							<Class>Index</Class>
							<Name>FullTextIndexLookup</Name>	
							<Version>1.0.0</Version>
						</Service>
						<Package>FullTextIndexLookupStubs</Package>
						<Version>[1.0.0, 1.2.0)</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					<Dependency>	
						<Service>
							<Class>ExternalSoftware</Class>
							<Name>hsqldb</Name>
							<Version>1.08.00</Version>
						</Service>
						<Package>hsqldb</Package>
						<Version>1.08.00</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>				
				</Dependencies>
				<GARArchive>org.gcube.dir.master.gar</GARArchive>
				<PortType>
					<Name>gcube/dir/master/factory</Name>
					<WSDL>
<definitions name="Factory"
    targetNamespace="http://gcube-system.org/namespaces/dir/master"
    xmlns:tns="http://gcube-system.org/namespaces/dir/master"
  	xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:coretypes="http://gcube-system.org/namespaces/common/core/types" 
    xmlns:corefaults="http://gcube-system.org/namespaces/common/core/faults"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
     
	<import namespace="http://gcube-system.org/namespaces/common/core/faults" location="../gcube/common/core/faults/GCUBEFaults.wsdl"/>
   
 	<types>
		<xsd:schema targetNamespace="http://gcube-system.org/namespaces/dir/master">
		    		
		    <xsd:import namespace="http://gcube-system.org/namespaces/common/core/types" schemaLocation="../gcube/common/core/types/GCUBETypes.xsd"/>
		    
			<xsd:element name="createMaster" type="tns:FactoryParams" />
			<xsd:element name="createMasterResponse" type="wsa:EndpointReferenceType" />
			
			<xsd:complexType name="FactoryParams">
				<xsd:sequence>
					<xsd:element name="collectionIDs" type = "xsd:string" minOccurs="1" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:complexType>
			
			<xsd:element name="deployPlugin" type="tns:Plugin" />
			<xsd:element name="deployPluginResponse" type="coretypes:VOID" />
			
			<xsd:element name="deployPluginRS" type="xsd:string" />
			<xsd:element name="deployPluginRSResponse" type="coretypes:VOID" />
		
			<xsd:complexType name="Plugin">
				<xsd:sequence>
					<xsd:element name="url"  type="xsd:string" minOccurs="1" maxOccurs="1"/>
				</xsd:sequence>
			</xsd:complexType>
	      
		</xsd:schema>
	</types>

	<message name="createMasterInputMessage">
		<part name="request" element="tns:createMaster"/>
	</message>
	<message name="createMasterOutputMessage">
		<part name="response" element="tns:createMasterResponse"/>
	</message>
	
	<message name="deployPluginInputMessage">
		<part name="parameters" element="tns:deployPlugin"/>
	</message>
	<message name="deployPluginOutputMessage">
		<part name="parameters" element="tns:deployPluginResponse"/>
	</message>

	<message name="deployPluginRSInputMessage">
		<part name="parameters" element="tns:deployPluginRS"/>
	</message>
	<message name="deployPluginRSOutputMessage">
		<part name="parameters" element="tns:deployPluginRSResponse"/>
	</message>
	
	<portType name="FactoryPortType">
			
		<operation name="createMaster">
		 	<documentation>Returns the endpoint of a Master WS-Resource for one or more target collections.</documentation>
			<input message="tns:createMasterInputMessage"/>
			<output message="tns:createMasterOutputMessage"/>	
			<fault name="fault" message="corefaults:GCUBEFaultMessage"/>
		</operation>
		
		<operation name="deployPlugin">
			<documentation>Deploys a plugin that conforms to the plugin requirements of the service.
	 			In particular, the plugin must be packaged in JAR whose manifest file includes
	 			an <code>Entry-Point</code> property set to the name of {@link org.gcube.dir.master.selection.rankers.Ranker} class or
	 			a {@link org.gcube.dir.master.fusion.mergers.Merger} class.
	 		</documentation>
			<input message="tns:deployPluginInputMessage"/>
			<output message="tns:deployPluginOutputMessage"/>
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
		
		<operation name="deployPluginRS">
			<documentation>Uses the ResultSetService to deploys a plugin that conforms to the plugin requirements of the service.
	 			In particular, the plugin must be packaged in JAR whose manifest file includes
	 			an <code>Entry-Point</code> property set to the name of {@link org.gcube.dir.master.selection.rankers.Ranker} class or
	 			a {@link org.gcube.dir.master.fusion.mergers.Merger} class.
	 		</documentation>
			<input message="tns:deployPluginRSInputMessage"/>
			<output message="tns:deployPluginRSOutputMessage"/>
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
	
	</portType>

</definitions>
</WSDL>
				</PortType>
				<PortType>
					<Name>gcube/dir/master/master</Name>
					<WSDL>
<definitions name="Factory"
    targetNamespace="http://gcube-system.org/namespaces/dir/master"
    xmlns:tns="http://gcube-system.org/namespaces/dir/master"
  	xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:coretypes="http://gcube-system.org/namespaces/common/core/types" 
    xmlns:corefaults="http://gcube-system.org/namespaces/common/core/faults"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
     
	<import namespace="http://gcube-system.org/namespaces/common/core/faults" location="../gcube/common/core/faults/GCUBEFaults.wsdl"/>
   
 	<types>
		<xsd:schema targetNamespace="http://gcube-system.org/namespaces/dir/master">
		    		
		    <xsd:import namespace="http://gcube-system.org/namespaces/common/core/types" schemaLocation="../gcube/common/core/types/GCUBETypes.xsd"/>
		    
			<xsd:element name="createMaster" type="tns:FactoryParams" />
			<xsd:element name="createMasterResponse" type="wsa:EndpointReferenceType" />
			
			<xsd:complexType name="FactoryParams">
				<xsd:sequence>
					<xsd:element name="collectionIDs" type = "xsd:string" minOccurs="1" maxOccurs="unbounded"/>
				</xsd:sequence>
			</xsd:complexType>
			
			<xsd:element name="deployPlugin" type="tns:Plugin" />
			<xsd:element name="deployPluginResponse" type="coretypes:VOID" />
			
			<xsd:element name="deployPluginRS" type="xsd:string" />
			<xsd:element name="deployPluginRSResponse" type="coretypes:VOID" />
		
			<xsd:complexType name="Plugin">
				<xsd:sequence>
					<xsd:element name="url"  type="xsd:string" minOccurs="1" maxOccurs="1"/>
				</xsd:sequence>
			</xsd:complexType>
	      
		</xsd:schema>
	</types>

	<message name="createMasterInputMessage">
		<part name="request" element="tns:createMaster"/>
	</message>
	<message name="createMasterOutputMessage">
		<part name="response" element="tns:createMasterResponse"/>
	</message>
	
	<message name="deployPluginInputMessage">
		<part name="parameters" element="tns:deployPlugin"/>
	</message>
	<message name="deployPluginOutputMessage">
		<part name="parameters" element="tns:deployPluginResponse"/>
	</message>

	<message name="deployPluginRSInputMessage">
		<part name="parameters" element="tns:deployPluginRS"/>
	</message>
	<message name="deployPluginRSOutputMessage">
		<part name="parameters" element="tns:deployPluginRSResponse"/>
	</message>
	
	<portType name="FactoryPortType">
			
		<operation name="createMaster">
		 	<documentation>Returns the endpoint of a Master WS-Resource for one or more target collections.</documentation>
			<input message="tns:createMasterInputMessage"/>
			<output message="tns:createMasterOutputMessage"/>	
			<fault name="fault" message="corefaults:GCUBEFaultMessage"/>
		</operation>
		
		<operation name="deployPlugin">
			<documentation>Deploys a plugin that conforms to the plugin requirements of the service.
	 			In particular, the plugin must be packaged in JAR whose manifest file includes
	 			an <code>Entry-Point</code> property set to the name of {@link org.gcube.dir.master.selection.rankers.Ranker} class or
	 			a {@link org.gcube.dir.master.fusion.mergers.Merger} class.
	 		</documentation>
			<input message="tns:deployPluginInputMessage"/>
			<output message="tns:deployPluginOutputMessage"/>
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
		
		<operation name="deployPluginRS">
			<documentation>Uses the ResultSetService to deploys a plugin that conforms to the plugin requirements of the service.
	 			In particular, the plugin must be packaged in JAR whose manifest file includes
	 			an <code>Entry-Point</code> property set to the name of {@link org.gcube.dir.master.selection.rankers.Ranker} class or
	 			a {@link org.gcube.dir.master.fusion.mergers.Merger} class.
	 		</documentation>
			<input message="tns:deployPluginRSInputMessage"/>
			<output message="tns:deployPluginRSOutputMessage"/>
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
	
	</portType>

</definitions>
</WSDL>
				</PortType>
			</Main>
			<Software>
				<Description>Describes port-type stubs</Description>
				<Name>Stubs</Name>
				<Version>1.1.0</Version>
				<Files><File>org.gcube.dir.master.stubs.jar</File></Files>
			</Software>
			<Software>
				<Description>Test-suite that provides facilities to test main functionality of the DIR Master service</Description>
				<Name>Master-test-suite</Name>
				<Version>1.1.0</Version>
				<Files><File>org.gcube.dir.master.testsuite.jar</File></Files>
			</Software>
		</Packages>
	</Profile>
</Resource>