import uk.org.ogsadai.client.Util; import uk.org.ogsadai.client.toolkit.GenericServiceFetcher; import uk.org.ogsadai.client.toolkit.Response; import uk.org.ogsadai.client.toolkit.activity.ActivityRequest; import uk.org.ogsadai.client.toolkit.activity.delivery.DeliverFromURL; import uk.org.ogsadai.client.toolkit.activity.delivery.DeliverToGFTP; import uk.org.ogsadai.client.toolkit.activity.delivery.DeliverToURL; import uk.org.ogsadai.client.toolkit.activity.sql.SQLQuery; import uk.org.ogsadai.client.toolkit.activity.sql.WebRowSet; import uk.org.ogsadai.client.toolkit.activity.transform.XSLTransform; import uk.org.ogsadai.client.toolkit.security.wsrf.GSITransportEncryptionProperty; import uk.org.ogsadai.client.toolkit.service.DataService; public class xmltocsv { //register transport security static { Util.registerTransport(); } public static void main(String[] args) throws Exception { if(!Util.isRegistered()) { System.out.println(Util.getRegistrationErrorMessage() + Util.getRegistrationException()); return; } // set up service URL and resource ID //String handle = "http://localhost:8081/wsrf/services/ogsadai/DataService"; //String id = "MySQLResource"; String handle = "https://romeo.urz.tu-dresden.de:8443/wsrf/services/ogsadai/MyService"; String id = "MyPQSPSIMAP169"; DataService service = GenericServiceFetcher.getInstance().getDataService(handle,id); // Locate a Data Service //DataService service = GenericServiceFetcher.getInstance().getDataService(handle, id); //Setup encryption service.setConnectionProperty(new GSITransportEncryptionProperty()); System.out.println("Ready to connect to secure data service at " + service.getURL()); // Create a deliverToURL object //DeliverToURL deliverto = new DeliverToURL( "ftp://globus:lancer123@localhost/mytext.csv" ); DeliverToGFTP deliverto = new DeliverToGFTP( "romeo.urz.tu-dresden.de",2811,"/tmp/mytext.csv" ); // Create a deliverFromURL object DeliverFromURL deliverfrom = new DeliverFromURL( "http://141.76.17.139:8080/tutorial/csvtransform.xsl" ); // Construct a query //SQLQuery query = new SQLQuery("select * from littleblackbook limit 10000"); SQLQuery query = new SQLQuery("SELECT r1.pdb_id AS pdb_id, r1.pdb_chain_id AS chain1," + "r2.pdb_chain_id AS chain2, AVG(average_atom_distance) AS average_atom_distance, SUM( residue_contact_strength ), " + "count(*) AS total_ontacts FROM `residue_contact_derived` rcd, residue_contact rc, residue r1, residue r2 " + "WHERE rcd.residue_contact_id = rc.residue_contact_id && rc.residue_id1 = r1.residue_id && " + "rc.residue_id2 = r2.residue_id GROUP BY r1.pdb_id, r1.pdb_chain_id, r2.pdb_chain_id limit 100"); WebRowSet rowset = new WebRowSet(query.getOutput()); // Construct the transformation activity XSLTransform transform = new XSLTransform(); transform.setXMLInput( rowset.getOutput() ); transform.setXSLTInput( deliverfrom.getOutput() ); deliverto.setInput(transform.getOutput()); //Construct the request ActivityRequest request = new ActivityRequest(); request.add(deliverfrom); request.add(query); request.add(rowset); request.add(transform); request.add(deliverto); System.out.println("Performing request..."); Response response = service.perform( request ); System.out.println(response); service.terminate(); } }