Enriching the IC test-suite with two more testers

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/information-system/gCubeIS/Collector@30019 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Manuele Simi 2010-10-25 03:45:49 +00:00
parent 75305c4169
commit 56a09cb99d
3 changed files with 168 additions and 4 deletions

View File

@ -67,11 +67,9 @@ public class AddDocumentsTester {
for(int i=0;i<r.getAddDocumentResponseWrapper().length;i++) {
if ( r.getAddDocumentResponseWrapper()[i].getDocumentName().equals(args[5]) ) {
response = r.getAddDocumentResponseWrapper()[i].getResponse().toString();
logger.info(response);
logger.info("Add response " + response);
}
}
logger.info("Add response " + AddDocumentResponseWrapperResponse._value1.toString());
//logger.info("Add response " + AddDocumentResponseWrapperResponse._value4.toString()); //,sugdenResponse);
} catch (Exception e ) {
logger.error(e.toString());
}

View File

@ -0,0 +1,106 @@
package org.gcube.informationsystem.collector.stubs.testsuite.wsdaix;
import java.io.StringWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.axis.message.MessageElement;
import org.apache.axis.types.URI;
import org.gcube.common.core.contexts.GCUBERemotePortTypeContext;
import org.gcube.common.core.scope.GCUBEScope;
import org.gcube.common.core.utils.logging.GCUBEClientLog;
import org.gcube.informationsystem.collector.stubs.wsdai.DataResourceUnavailableFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.InvalidResourceNameFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.NotAuthorizedFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.ServiceBusyFaultType;
import org.gcube.informationsystem.collector.stubs.wsdaix.GetDocumentRequestWrapper;
import org.gcube.informationsystem.collector.stubs.wsdaix.GetDocumentResponseWrapper;
import org.gcube.informationsystem.collector.stubs.wsdaix.GetDocumentResponseWrapperResponse;
import org.gcube.informationsystem.collector.stubs.wsdaix.GetDocumentsRequest;
import org.gcube.informationsystem.collector.stubs.wsdaix.GetDocumentsResponse;
import org.gcube.informationsystem.collector.stubs.wsdaix.InvalidCollectionNameFaultType;
import org.gcube.informationsystem.collector.stubs.wsdaix.XMLCollectionAccessPT;
import org.gcube.informationsystem.collector.stubs.wsdaix.XMLWrapperType;
import org.gcube.informationsystem.collector.stubs.wsdaix.service.WsdaixServiceAddressingLocator;
import org.w3c.dom.Document;
/**
*
* Tester for XMLCollectionAccess::getDocuments
*
* @author Manuele Simi (ISTI-CNR)
*
*/
public class GetDocumentsTester {
private static GCUBEClientLog logger = new GCUBEClientLog(GetDocumentsTester.class);
/**
* @param args
*/
public static void main(String[] args) {
final String portTypeURI = "http://" + args[0] + ":" + args[1] + "/wsrf/services/gcube/informationsystem/collector/wsdaix/XMLCollectionAccess";
try {
GetDocumentsResponse response = getDocuments(portTypeURI, GCUBEScope.getScope(args[2]), new URI(""),new URI(), new String[] {args[3]});
GetDocumentResponseWrapper[] wrappers = response.getGetDocumentResponseWrapper();
for (GetDocumentResponseWrapper wrapper : wrappers) {
logger.info("Document name " + wrapper.getDocumentName());
logger.info("Document response " + wrapper.getResponse().toString());
XMLWrapperType xmlwrapper = wrapper.getData();
MessageElement elem = xmlwrapper.get_any()[0];
Object o = elem.getAsDocument();
if (! (o instanceof Document))
throw new Exception("Unable to read the resource: a problem when deserializing the document occurred");
Document doc = (Document) o;
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
StringWriter buffer = new StringWriter();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.transform(new DOMSource(doc), new StreamResult(buffer));
logger.info("Document returned: ");
logger.info(buffer.toString());
}
} catch (Exception e ) {
logger.error(e.toString());
}
}
/**
* Executes the GetDocuments operation.
* @param serviceURL The URL of the data service
* @param resourceName The abstract name of the data resource
* @param documentNames An array of document names to be retrieved
*/
public static GetDocumentsResponse getDocuments(String serviceURL, GCUBEScope scope, URI resourceName, URI collectionURI, String[] documentNames)
throws DataResourceUnavailableFaultType, MalformedURLException, RemoteException, ServiceBusyFaultType,
InvalidResourceNameFaultType, InvalidCollectionNameFaultType, NotAuthorizedFaultType {
GetDocumentsRequest request = new GetDocumentsRequest();
request.setDataResourceAbstractName(resourceName);
GetDocumentRequestWrapper[] wrappers = new GetDocumentRequestWrapper[documentNames.length];
for(int i=0;i<wrappers.length;i++) {
wrappers[i] = new GetDocumentRequestWrapper();
wrappers[i].setDocumentName(documentNames[i]);
}
request.setGetDocumentRequestWrapper(wrappers);
request.setCollectionName(collectionURI);
XMLCollectionAccessPT stubs = null;
try {
stubs = new WsdaixServiceAddressingLocator().getXMLCollectionAccessPTPort(new URL(serviceURL));
stubs = GCUBERemotePortTypeContext.getProxy(stubs, scope);
} catch (Exception e) {
logger.error("Failed to get documentes", e);
}
return stubs.getDocuments(request);
}
}

View File

@ -1,13 +1,73 @@
package org.gcube.informationsystem.collector.stubs.testsuite.wsdaix;
import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import org.apache.axis.types.URI;
import org.gcube.common.core.contexts.GCUBERemotePortTypeContext;
import org.gcube.common.core.scope.GCUBEScope;
import org.gcube.common.core.utils.logging.GCUBEClientLog;
import org.gcube.informationsystem.collector.stubs.wsdai.DataResourceUnavailableFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.InvalidResourceNameFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.NotAuthorizedFaultType;
import org.gcube.informationsystem.collector.stubs.wsdai.ServiceBusyFaultType;
import org.gcube.informationsystem.collector.stubs.wsdaix.InvalidCollectionNameFaultType;
import org.gcube.informationsystem.collector.stubs.wsdaix.RemoveDocumentRequestWrapper;
import org.gcube.informationsystem.collector.stubs.wsdaix.RemoveDocumentsRequest;
import org.gcube.informationsystem.collector.stubs.wsdaix.RemoveDocumentsResponse;
import org.gcube.informationsystem.collector.stubs.wsdaix.XMLCollectionAccessPT;
import org.gcube.informationsystem.collector.stubs.wsdaix.service.WsdaixServiceAddressingLocator;
/**
*
* Tester for XMLCollectionAccess::removeDocuments
*
* @author Manuele Simi (ISTI-CNR)
*
*/
public class RemoveDocumentsTester {
private static GCUBEClientLog logger = new GCUBEClientLog(RemoveDocumentsTester.class);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final String portTypeURI = "http://" + args[0] + ":" + args[1] + "/wsrf/services/gcube/informationsystem/collector/wsdaix/XMLCollectionAccess";
}
/**
* Execute the RemoveDocuments operation
* @param serviceURL The URL of the data service
* @param resourceName The abstract name of the data resource
* @param collectionURI The URI of the collection from which documents should be removed
* @param documentNames An array of document names that should be removed
*/
public static RemoveDocumentsResponse removeDocuments(String serviceURL, GCUBEScope scope, URI resourceName, URI collectionURI, String[] documentNames)
throws DataResourceUnavailableFaultType, MalformedURLException, RemoteException, ServiceBusyFaultType,
InvalidResourceNameFaultType, InvalidCollectionNameFaultType, NotAuthorizedFaultType {
RemoveDocumentsRequest request = new RemoveDocumentsRequest();
request.setDataResourceAbstractName(resourceName);
RemoveDocumentRequestWrapper[] wrappers = new RemoveDocumentRequestWrapper[documentNames.length];
for(int i=0;i<wrappers.length;i++) {
wrappers[i] = new RemoveDocumentRequestWrapper();
wrappers[i].setDocumentName(documentNames[i]);
}
request.setRemoveDocumentRequestWrapper(wrappers);
request.setCollectionName(collectionURI);
XMLCollectionAccessPT stubs = null;
try {
stubs = new WsdaixServiceAddressingLocator().getXMLCollectionAccessPTPort(new URL(serviceURL));
stubs = GCUBERemotePortTypeContext.getProxy(stubs, scope);
} catch (Exception e) {
logger.error("Failed to get documentes", e);
}
return stubs.removeDocuments(request);
}
}