<?xml version="1.0" encoding="UTF-8"?>
<Resource>
    <ID></ID>
    <Type>Service</Type>
    <Profile>
    	<Description>ViewManager Service</Description>
        <Class>ContentManagement</Class>
        <Name>ViewManager</Name>
        <Version>1.0.0</Version>
        <Packages>
            <Main>
            	<Description>-</Description>
                <Name>ViewManager-service</Name>
                <Version>1.1.1</Version>
                <Mandatory level="VO"/>
				<Shareable level="VO"/>
                <GHNRequirements>
					<Requirement category="Site"  requirement="string" value="java1.6" operator="le"/>
				</GHNRequirements>
                <Dependencies>
					<Dependency>
						<Service>
							<Class>ContentManagement</Class>
							<Name>ViewManager</Name>
							<Version>1.0.0</Version>
						</Service>
						<Package>ViewManager-stubs</Package>
						<Version>1.1.0</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					<Dependency>
						<Service>
							<Class>ContentManagement</Class>
							<Name>ContentManager</Name>
							<Version>1.0.0</Version>
						</Service>
						<Package>ContentManager-stubs</Package>
						<Version>[2.3.0, 2.4.0)</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					<Dependency>
						<Service>
							 <Class>ContentManagement</Class>
        					 <Name>GCubeModelLibrary</Name>
        					 <Version>1.0.0</Version>
						</Service>
						<Package>GCubeModelLibrary</Package>
						<Version>[1.0.0,2.0.0)</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					<Dependency>
						<Service>
							<Class>Execution</Class>
							<Name>gRS2Library</Name>
							<Version>1.0.0</Version>
						</Service>
						<Package>gRS2Library</Package>
						<Version>[1.1.0,2.0.0)</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
				</Dependencies>
				<GARArchive>org.gcube.contentmanagement.viewmanager.gar</GARArchive>
            	<PortType>
                	<Name>gcube/contentmanagement/viewmanager/factory</Name>
                    	<Security/>			
						<WSDL>

<definitions name="factory"
	targetNamespace="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:tns="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:corefaults="http://gcube-system.org/namespaces/common/core/faults"
	xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
	xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
	xmlns:provider="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
	xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
	xmlns:wsdlpp="http://www.globus.org/namespaces/2004/10/WSDLPreprocessor"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:coretypes="http://gcube-system.org/namespaces/common/core/types">

	<import namespace="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"   
		location="../gcube/common/core/providers/GCUBEProvider.wsdl"/>
	
	<wsdl:import
		namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
		location="../wsrf/properties/WS-ResourceProperties.wsdl" />

	<wsdl:import namespace="http://gcube-system.org/namespaces/common/core/faults"
		location="../gcube/common/core/faults/GCUBEFaults.wsdl" />
		


	<!--
		============================================================ T Y P E S

		============================================================
	-->
	<types>
		<xsd:schema
			targetNamespace="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
			xmlns:tns="http://gcube-system.org/namespaces/contentmanagement/viewmanager"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			elementFormDefault="qualified">

			<xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/03/addressing" schemaLocation="../ws/addressing/WS-Addressing.xsd" />
			<xsd:import namespace="http://gcube-system.org/namespaces/common/core/types" schemaLocation="../gcube/common/core/types/GCUBETypes.xsd" />
				
			<xsd:element name="CreateRequest" type="tns:VMSCreateParams"/>
			<xsd:element name="CreateResponse" type="tns:viewReference" />
			
			<xsd:complexType name="VMSCreateParams">
				<xsd:sequence>
						<xsd:element name="broadcast" type="xsd:boolean"/>
						<xsd:element name="plugin" type ="xsd:string"/>
						<xsd:element name="definition" type ="tns:View"/>
					</xsd:sequence>
			</xsd:complexType>

			<xsd:complexType name="viewReference">
				<xsd:sequence>
						<xsd:element name="endpointReference" type ="wsa:EndpointReferenceType"/>
						<xsd:element name="view" type ="tns:View"/>
					</xsd:sequence>
			</xsd:complexType>
						
			<!--  document purposes -->
			<xsd:complexType name="View">
				<xsd:sequence>
						<xsd:element name="id" nillable="false" type="xsd:string"/>
						<xsd:element name="collectionID" type ="xsd:string"/>
						<xsd:element name="type" type ="xsd:QName"/>
						<xsd:element name="description" type ="xsd:string" nillable="true"/>
						<xsd:element name="predicate" nillable="false">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:any processContents="skip" namespace="##any" maxOccurs="1"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="cardinality" type ="xsd:long"/>
						<xsd:element name="lastUpdate" type ="xsd:dateTime"/>
						<xsd:element name="property" type ="tns:ViewProperty" minOccurs="0" maxOccurs="unbounded"/>
					</xsd:sequence>
			</xsd:complexType>
			
			
			
			<xsd:complexType name="pluginDescription">
				<xsd:sequence>
					<xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
					<xsd:element name="description" type="xsd:string" minOccurs="1" maxOccurs="1" />
					<xsd:element name="property" type="coretypes:descriptiveProperty" minOccurs="0" maxOccurs="unbound" />
				</xsd:sequence>
			</xsd:complexType>
			
			<xsd:complexType name="ViewProperty">
				<xsd:sequence>
					<xsd:element name="name" type="xsd:QName"/>
					<xsd:element name="description" type="xsd:string" nillable="true"/>
					<xsd:element name="value" type="xsd:string"/>
				</xsd:sequence>
			</xsd:complexType>
			
		</xsd:schema>
			
	</types>


	<message name="CreateRequest">
		<part name="request" element="tns:CreateRequest" />
	</message>
	<message name="CreateResponse">
		<part name="response" element="tns:CreateResponse" />
	</message>
	
	<portType name="FactoryPortType"
		wsdlpp:extends="provider:GCUBEProvider">
  		<!-- wsrp:ResourceProperties="tns:FactoryResourceProperties" -->
 

		<operation name="create">
			<input message="tns:CreateRequest" />
			<output message="tns:CreateResponse" />
			<fault name="fault" message="corefaults:GCUBEFaultMessage"></fault>
		</operation>
		
	</portType>


</definitions></WSDL>
            	</PortType>
            </Main>
            <Software>
                <Description></Description>
            	<Name>ViewManager-stubs</Name>
				<Version>1.1.0</Version>
				<MultiVersion value="true"/>
				<Mandatory level="GHN"/>
				<Shareable level="VO"/>
				<GHNRequirements>
					<Requirement category="Site" operator="le" requirement="string" value="java1.6"/>
				</GHNRequirements>
				<Dependencies>
					<Dependency>
						<Service>
							<Class>Execution</Class>
							<Name>gRS2Library</Name>
							<Version>1.0.0</Version>
						</Service>
						<Package>gRS2Library</Package>
						<Version>[1.1.0,2.0.0)</Version>
						<Scope level="GHN"/>
						<Optional>false</Optional>
					</Dependency>
					</Dependencies>
				<SpecificData>text</SpecificData>
				<Type>library</Type>
				<Files>
					<File>org.gcube.contentmanagement.viewmanager.stubs.jar</File>
				</Files>
			</Software>           
        </Packages>
    </Profile>
</Resource>

