// (c) University of Edinburgh 2002, 2003. // See OGSA-DAI-Licence.txt for licencing information. package uk.org.ogsadai.client; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; // Toolkit Classes import uk.org.ogsadai.client.toolkit.ActivityException; import uk.org.ogsadai.client.toolkit.ActivityOutputException; import uk.org.ogsadai.client.toolkit.ActivityRequest; import uk.org.ogsadai.client.toolkit.DataFormatException; import uk.org.ogsadai.client.toolkit.DocumentParsingException; import uk.org.ogsadai.client.toolkit.GridDataService; import uk.org.ogsadai.client.toolkit.GridDataServiceFactory; import uk.org.ogsadai.client.toolkit.MalformedHandleException; import uk.org.ogsadai.client.toolkit.Response; import uk.org.ogsadai.client.toolkit.ServiceCommsException; import uk.org.ogsadai.client.toolkit.ServiceFetcher; import uk.org.ogsadai.client.toolkit.ServiceTerminationException; import uk.org.ogsadai.client.toolkit.test.Utility; import uk.org.ogsadai.client.toolkit.MessageLevelSecurityProperty; import uk.org.ogsadai.client.toolkit.Authentication; import uk.org.ogsadai.client.toolkit.activity.sql.SQLQuery; // Security Classes import org.ietf.jgss.GSSCredential; import org.ietf.jgss.GSSException; import org.gridforum.jgss.ExtendedGSSManager; // Others import uk.org.ogsadai.common.XMLUtilities; import org.w3c.dom.Document; import org.globus.ogsa.utils.AnyHelper; /** * @author The OGSA-DAI Project Team */ public class SimpleClient { // Copyright statement private static final String COPYRIGHT_NOTICE = "(c) IBM Corp. 2002, 2003. (c) University of Edinburgh 2002, 2003"; public static void main(String[] args) throws IOException { int index = 0; boolean isSecure = false; if (args[0].equals("-mls")) { isSecure = true; index++; } String gdsfGSH = args[index]; try { // Create a GDSF GridDataServiceFactory gdsf = ServiceFetcher.getFactory(gdsfGSH); // Create a GDS GridDataService gds = gdsf.createGridDataService(); if (isSecure) { ExtendedGSSManager manager = (ExtendedGSSManager)ExtendedGSSManager.getInstance(); GSSCredential cred = manager.createCredential(GSSCredential.INITIATE_AND_ACCEPT); // Configure security as for the standard OGSA-DAI client. MessageLevelSecurityProperty security = new MessageLevelSecurityProperty(); security.setAuthentication(Authentication.SECURE_CONVERSATION_INTEGRITY); security.setCredential(cred); gds.configure(security); } // Create an SQL Query activity SQLQuery query = new SQLQuery( "select * from littleblackbook where id = 10" ); // Create a request ActivityRequest request = new ActivityRequest(); request.addActivity(query); // Perform request Response response = gds.perform(request); System.out.println(response.getAsString()); // Validate the response ResultSet rs = query.getResultSet(); int numRows = 0; while(rs.next()) { numRows++; String name = rs.getString( "name" ); int id = rs.getInt( "id" ); String address = rs.getString( "address" ); String phone = rs.getString( "phone" ); id = rs.getInt( 1 ); name = rs.getString( 2 ); address = rs.getString( 3 ); phone = rs.getString( 4 ); System.out.println(id + " " + name + " " + address + " " + phone); } System.out.println(numRows); } catch (ActivityException e) { System.out.println("Unexpected ActivityException: " + e.getMessage()); } catch (MalformedHandleException e) { System.out.println("Unexpected MalformedHandleException: " + e.getMessage()); } catch (ServiceCommsException e) { System.out.println("Unexpected ServiceCommsException: " + e.getMessage()); } catch (DocumentParsingException e) { System.out.println("Unexpected DocumentParsingException: " + e.getMessage()); } catch (ActivityOutputException e) { System.out.println("Unexpected ActivityOutputException: " + e.getMessage()); } catch (SQLException e) { System.out.println("Unexpected SQLException: " + e.getMessage()); } catch (GSSException e) { System.out.println("Unexpected GSSException: " + e.getMessage()); } catch (DataFormatException e) { System.out.println("Unexpected DataFormatException: " + e.getMessage()); } } }