Merging from branch 3.0

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/information-system/gCubeIS/Collector@37393 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Manuele Simi 2011-04-05 03:35:22 +00:00
parent 097e1a5483
commit d59cdac63c
10 changed files with 142 additions and 110 deletions

View File

@ -8,7 +8,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/EXISTLIBS"/>
<classpathentry kind="lib" path="/Dependencies/ISCollector/org.gcube.informationsystem.collector.stubs.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry combineaccessrules="false" kind="src" path="/DISTRO.RESOURCES.1.1"/>
<classpathentry combineaccessrules="false" kind="src" path="/GCF.1.1.0"/>
<classpathentry kind="output" path="bin"/>
</classpath>

2
README
View File

@ -16,7 +16,7 @@ Authors
Version and Release Date
------------------------
v. 3.0.0 (07-02-2011)
v. 3.0.1 (25-03-2011)
Description
-----------

View File

@ -1,4 +1,7 @@
<ReleaseNotes>
<Changeset component=" org.gcube.information-system.collector.3-0-1" date="2011-03-25">
<Change>XMLDocuments passed as any objects and cleaned up</Change>
</Changeset>
<Changeset component=" org.gcube.information-system.collector.3-0-0" date="2011-02-07">
<Change>WSDAIX::XMLCollectionAccess interface</Change>
<Change>internal refactoring of resources</Change>

View File

@ -18,7 +18,7 @@
<Main>
<Description>Information Collector service: aggregate and make available information published by gCube services</Description>
<Name>IS-Collector-service</Name>
<Version>3.0.0</Version>
<Version>3.0.1</Version>
<Dependencies>
<Dependency>
<Service>
@ -91,7 +91,7 @@
<Software>
<Description>Test-suite for IS-Collector: provide sample usages of interaction with a IS-Collector instance</Description>
<Name>IS-Collector-test-suite</Name>
<Version>3.0.0</Version>
<Version>3.0.1</Version>
<MultiVersion value="true"/>
<Shareable level="VO"/>
<Type>application</Type>

View File

@ -1,9 +1,15 @@
package org.gcube.informationsystem.collector.impl.porttypes.wsdaix;
import java.rmi.RemoteException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.axis.message.MessageElement;
import org.apache.axis.types.URI;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xmldb.api.base.XMLDBException;
import org.gcube.common.core.contexts.GCUBEServiceContext;
import org.gcube.common.core.porttypes.GCUBEPortType;
@ -146,6 +152,14 @@ public class XMLCollectionAccess extends GCUBEPortType {
AddDocumentRequestWrapper[] docs = addDocumentsRequest.getAddDocumentRequestWrapper();
AddDocumentResponseWrapper[] responseWrappers = new AddDocumentResponseWrapper[docs.length];
String targetCollection = this.URItoCollection(addDocumentsRequest.getCollectionName());
DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
fact.setNamespaceAware(true);
DocumentBuilder bd;
try {
bd = fact.newDocumentBuilder();
} catch (ParserConfigurationException e3) {
throw new RemoteException("Unable to create a Document Factory for the incoming documents");
}
logger.debug("Adding " +docs.length + " documents to collection " + targetCollection);
//response wrapper values
@ -193,12 +207,20 @@ public class XMLCollectionAccess extends GCUBEPortType {
try {
resource.setResourceName(resourceName);
resource.setContent(doc);
if (doc.getDocumentElement().getLocalName().equals("ISPublisher")) {
//this removes the root element introduced by the ISPublisher in order to put an any obj
//in the SOAP MessageElement
Document newDoc = bd.newDocument();
Node node = doc.getDocumentElement().removeChild(doc.getDocumentElement().getFirstChild());
newDoc.appendChild(newDoc.importNode(node,true));
resource.setContent(newDoc);
} else
resource.setContent(doc);
} catch (MalformedResourceException e1) {
logger.error("Invalid resource ", e1);
responseWrappers[i].setResponse(AddDocumentResponseWrapperResponse.value2);
continue;
}
}
try {
//logger.trace("resource to wrap " + resource.toString());

View File

@ -32,13 +32,13 @@ class ResourceFilter {
if (resource.getPublicationMode().compareToIgnoreCase("pull") == 0) {
return isPullExpired(resource);
} else if (resource.getPublicationMode().compareToIgnoreCase("push") == 0) {
return isPushExpired(resource);
//return isPushExpired(resource);
}
// default
return false;
}
private static boolean isPushExpired(GCUBEXMLResource resource) {
/* private static boolean isPushExpired(GCUBEXMLResource resource) {
logger.trace("Checking push resource...");
try {
String status = getRIStatus(resource.getSourceRunningInstance());
@ -50,7 +50,7 @@ class ResourceFilter {
logger.warn("Unable to detect if the resource is expired",e);
return false;
}
}
}*/
static boolean isPullExpired(GCUBEXMLResource resource) {
logger.trace("Checking pull resource...");

View File

@ -22,7 +22,7 @@ public class GCUBEInstanceStateResourceTest extends TestCase {
public void testSetContentString() {
try {
resource.setContent("<ns1:Task xmlns:ns1=\"http://gcube-system.org/namespaces/vremanagement/executor\"/> <ns9:Task xmlns:ns9=\"http://gcube-system.org/namespaces/vremanagement/executor\">");
resource.setContent("<ns1:ID xmlns:ns1=\"http://gcube-system.org/namespaces/vremanagement/executor\"/> <ns9:Task xmlns:ns9=\"http://gcube-system.org/namespaces/vremanagement/executor\">");
} catch (MalformedResourceException e) {
e.printStackTrace();
}

View File

@ -85,8 +85,11 @@ public class GCUBEProfileResourceTest extends TestCase {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
StringReader reader = new StringReader("<Profile><Resource><ID/><Type>GHN</Type></Resource></Profile>");
StringReader reader = new StringReader("<Profile><Resource><ID/><Type>GHN</Type><xsd:schema xmlns:q=\"http://gcube.org/searchservice/queryobject\" "+
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"/>"+
"</Resource></Profile>");
InputSource source = new InputSource(reader);
//Document doc = builder.parse(source);
resource.setContent(builder.parse(source));
} catch (Exception e) {
e.printStackTrace();

View File

@ -1,5 +1,10 @@
package org.gcube.informationsystem.collector.resources;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import junit.framework.TestCase;
import org.gcube.informationsystem.collector.impl.resources.BaseDAIXResource;
@ -11,24 +16,32 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.w3c.dom.Document;
public class GCUBEXMLResourceTest extends TestCase {
private GCUBEXMLResource XMLiresource;
private GCUBEXMLResource XMLiresourceDOM;
private GCUBEXMLResource XMLpresource;
private GCUBEInstanceStateResource iresource;
private GCUBEInstanceStateResource iresourceString;
private GCUBEInstanceStateResource iresourceDOM;
private GCUBEProfileResource presource;
@Before
public void setUp() throws Exception {
iresource = new GCUBEInstanceStateResource();
iresource.setResourceName("Instance");
iresource.setContent("<"+ GCUBEInstanceStateResource.INSTANCESTATE_ROOT_ELEMENT + "><ns1:Task xmlns:ns1=\"http://gcube-system.org/namespaces/vremanagement/executor\"/> <ns9:Task xmlns:ns9=\"http://gcube-system.org/namespaces/vremanagement/executor\"/></"+ GCUBEInstanceStateResource.INSTANCESTATE_ROOT_ELEMENT + ">");
iresourceString = new GCUBEInstanceStateResource();
iresourceString.setResourceName("Instance");
iresourceString.setContent("<"+ GCUBEInstanceStateResource.INSTANCESTATE_ROOT_ELEMENT + "><ns1:Task xmlns:ns1=\"http://gcube-system.org/namespaces/vremanagement/executor\"/> <ns9:Task xmlns:ns9=\"http://gcube-system.org/namespaces/vremanagement/executor\"/></"+ GCUBEInstanceStateResource.INSTANCESTATE_ROOT_ELEMENT + ">");
XMLiresource = new GCUBEXMLResource(iresourceString);
iresourceDOM = new GCUBEInstanceStateResource();
iresourceDOM.setResourceName("InstanceDOM");
iresourceDOM.setContent(this.getAsDocument("/Users/manuele/work/workspace/IS/Branches/InformationCollector.3.0/test/org/gcube/informationsystem/collector/resources/samplestate.xml"));
presource = new GCUBEProfileResource();
presource.setResourceName("Profile");
presource.setContent("<Profile><Resource><ID/><Type>GHN</Type></Resource></Profile>");
XMLiresource = new GCUBEXMLResource(iresource);
presource.setContent("<Profile><Resource><ID/><Type>GHN</Type></Resource></Profile>");
XMLpresource = new GCUBEXMLResource(presource);
}
@ -39,8 +52,13 @@ public class GCUBEXMLResourceTest extends TestCase {
@Test
public void testGCUBEXMLResourceBaseDAIXResource() {
try {
XMLiresource = new GCUBEXMLResource(iresource);
XMLiresource = new GCUBEXMLResource(iresourceString);
XMLpresource = new GCUBEXMLResource(presource);
//XMLiresourceDOM = new GCUBEXMLResource(iresourceDOM);
System.out.println("Resource to wrap " + iresourceDOM.toString());
XMLiresourceDOM = new GCUBEXMLResource(iresourceDOM);
System.out.println("Wrapped Resource" + XMLiresourceDOM.toString());
} catch (MalformedXMLResourceException e) {
Assert.fail("failed to create GCUBEXMLResources");
}
@ -69,8 +87,7 @@ public class GCUBEXMLResourceTest extends TestCase {
System.out.println("Profile Content with envelop " + content);
GCUBEXMLResource temp = new GCUBEXMLResource(new BaseDAIXResource("name"));
temp.deserializeFromIndexing(content, true);
System.out.println("New Profile Content with envelop " + temp.toString());
System.out.println("New Profile Content with envelop " + temp.toString());
String content2 = XMLiresource.toString();
System.out.println("Instance State Content with envelop " + content2);
GCUBEXMLResource temp2 = new GCUBEXMLResource(new BaseDAIXResource("name"));
@ -153,8 +170,25 @@ public class GCUBEXMLResourceTest extends TestCase {
@Test
public void testToString() {
System.out.println("Instance to string " + XMLiresource.toString() );
System.out.println("Profile to string " + XMLpresource.toString() );
//System.out.println("Instance to string " + XMLiresource.toString() );
//System.out.println("Instance from DOM to string " + XMLiresourceDOM.toString() );
//System.out.println("Profile to string " + XMLpresource.toString() );
}
private Document getAsDocument(String filename) throws Exception {
try {
File file = new File(filename);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
return db.parse(file);
} catch ( Exception e ) {
System.out.println("Unable to load document: " + filename);
}
return null;
}
}

View File

@ -1,89 +1,60 @@
<ResourceProperties>
<ns1:View xmlns:ns1="http://gcube-system.org/namespaces/contentmanagement/viewmanager" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:View">
<id xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">b9685210-3bd4-4eac-af39-fa9b010d4746</id>
<collectionID xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">29ff75c0-ee7b-11df-9759-9044180d0c96</collectionID>
<type xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">MetadataView</type>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">Metadata view for collection 29ff75c0-ee7b-11df-9759-9044180d0c96</description>
<predicate>
<ns2:t xmlns:ns2="http://gcube-system.org/namespaces/contentmanagement/contentmanager">
<ns2:atleast cond="false">
<!-- <ns2:l xmlns="" xmlns:ns3="http://gcube-system.org/namespaces/contentmanagement/viewmanager">isDescribedBy</ns2:l>
<ns2:t>
<ns2:one cond="false">
<ns2:l xmlns="" xmlns:ns3="http://gcube-system.org/namespaces/contentmanagement/viewmanager">metadataSchema</ns2:l>
<ns2:text>
<ns2:same>
<ns2:as xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">http://www.openarchives.org/OAI/2.0/oai_dc.xsd</ns2:as>
</ns2:same>
</ns2:text>
</ns2:one>
<ns2:one cond="false">
<ns2:l xmlns="" xmlns:ns3="http://gcube-system.org/namespaces/contentmanagement/viewmanager">metadataLanguage</ns2:l>
<ns2:text>
<ns2:same>
<ns2:as xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">unknown</ns2:as>
</ns2:same>
</ns2:text>
</ns2:one>
<ns2:one cond="false">
<ns2:l xmlns="" xmlns:ns3="http://gcube-system.org/namespaces/contentmanagement/viewmanager">metadataName</ns2:l>
<ns2:text>
<ns2:same>
<ns2:as xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">oai_dc</ns2:as>
</ns2:same>
</ns2:text>
</ns2:one>
<ns2:many cond="false">
<ns2:l xmlns="" xmlns:ns3="http://gcube-system.org/namespaces/contentmanagement/viewmanager">.*</ns2:l>
<ns2:anytype/>
</ns2:many>
</ns2:t> -->
</ns2:atleast>
</ns2:t>
</predicate>
<cardinality xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:long">0</cardinality>
<lastUpdate xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:dateTime">2010-10-25T14:01:55.948Z</lastUpdate>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">name</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">MITmetadata</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">metadataName</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">oai_dc</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">metadataLanguage</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">unknown</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">metadataSchema</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">http://www.openarchives.org/OAI/2.0/oai_dc.xsd</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">isEditable</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">false</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">isIndexable</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">true</value>
</property>
<property xsi:type="ns1:ViewProperty">
<name xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:QName">isUserCollection</name>
<description xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"/>
<value xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">true</value>
</property>
</ns1:View>
<ns2:Plugin xmlns:ns2="http://gcube-system.org/namespaces/contentmanagement/viewmanager" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">MetadataPlugin</ns2:Plugin>
<ns3:GHN xmlns:ns3="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">c25b7d90-2ee1-11e0-917b-87d1c5c45db1</ns3:GHN>
<ns4:RI xmlns:ns4="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">3a556ba0-2ee5-11e0-bc88-d12fb9a65569</ns4:RI>
<ns5:ServiceClass xmlns:ns5="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">ContentManagement</ns5:ServiceClass>
<ns6:Scope xmlns:ns6="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">/gcube/devNext</ns6:Scope>
<ns7:ServiceID xmlns:ns7="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">3a0a7ff0-2ee5-11e0-bc88-d12fb9a65569</ns7:ServiceID>
<ns8:ServiceName xmlns:ns8="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">ViewManager</ns8:ServiceName>
<ResourceProperties
xmlns:ns1="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xmlns:ns10="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns:ns11="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns:ns2="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xmlns:ns3="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xmlns:ns4="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xmlns:ns5="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xmlns:ns6="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns:ns7="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns:ns8="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns:ns9="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xmlns="">
<ns1:AdaptorID xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns1="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xsi:type="xsd:string">98f54690-fed3-11df-88a7-93625fddeb27</ns1:AdaptorID>
<ns2:CollectionID xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns2="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xsi:type="xsd:string">9b11d2d0-dad5-11df-90dc-c704f281f2f7</ns2:CollectionID>
<ns3:DescriptionDocumentURI xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns3="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xsi:type="xsd:string">http://88.197.20.212:8280/web/openSearchDescriptor
</ns3:DescriptionDocumentURI>
<ns4:Templates xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns4="http://gcube-system.org/namespaces/opensearch/OpenSearchService"
xsi:type="xsd:string">http://88.197.20.212:8280/web/showResults.action?referer=showResults&amp;query={http%3A%2F%2Fa9.com%2F-%2Fspec%2Fopensearch%2F1.1%2F:searchTerms}&amp;page={http%3A%2F%2Fa9.com%2F-%2Fspec%2Fopensearch%2F1.1%2F:startPage}&amp;size={http%3A%2F%2Fa9.com%2F-%2Fspec%2Fopensearch%2F1.1%2F:count}&amp;view=comm&amp;format=rss
</ns4:Templates>
<ns5:OpenSearchResource xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">5f8a0680-dad3-11df-b94e-b5f66b8b8a02
</ns5:OpenSearchResource>
<ns6:GHN xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns6="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xsi:type="xsd:string">9cf3d690-fbc1-11df-b541-a45b627e2d64</ns6:GHN>
<ns7:RI xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns7="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xsi:type="xsd:string">89ecbd90-feba-11df-887f-93625fddeb27</ns7:RI>
<ns8:ServiceClass xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns8="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xsi:type="xsd:string">OpenSearch</ns8:ServiceClass>
<ns9:Scope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns9="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xsi:type="xsd:string">/d4science.research-infrastructures.eu/Ecosystem/DRIVER
</ns9:Scope>
<ns10:ServiceID xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns10="http://gcube-system.org/namespaces/common/core/porttypes/GCUBEProvider"
xsi:type="xsd:string">89dcdf10-feba-11df-887f-93625fddeb27</ns10:ServiceID>
<ns11:ServiceName xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">OpenSearchService
</ns11:ServiceName>
</ResourceProperties>