Org.ogce.fileagentservice.client.ConventionExample

From Ogce

 package org.ogce.fileagentservice.client;

 import javax.xml.namespace.QName;

 import org.apache.axis2.AxisFault;
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.Options;
 import org.apache.axis2.rpc.client.RPCServiceClient;
 import org.ogce.fileagentservice.*;
 import org.ogce.fileagentservice.db.*;
 import java.util.Iterator;
 import java.util.LinkedList;

 public class ConventionExample{
        public static String fas_Loc = "http://localhost:8080/axis2/services/FileAgentService";

        public static void main(String[] args1) throws AxisFault {

	UserSpaceConv usc1 = new UserSpaceConv();
	usc1.setHost("gridfarm001.ucs.indiana.edu");
	usc1.setPort("2811");
	usc1.setAttr("Network File System");
	usc1.setDefaultLoc("/home/leesangm/CommunityDataRepository/");

	UserSpaceConv usc2 = new UserSpaceConv();
	usc2.setHost("gridfarm001.ucs.indiana.edu");
	usc2.setPort("2811");
	usc2.setAttr("Network File System");


	// Create new convention 
	ConventionExample.registerNewConvention(usc1);
	
	// Query over the conventions
	LinkedList rConvs = ConventionExample.queryUserSpaceConvention(usc2);
	for (int i = 0; i<rConvs.size(); i++){
	    System.out.println("QUERY RESULTS");
	    System.out.println(rConvs.get(i).toString());
	}

	// Remove existing convention
	ConventionExample.removeConvention(usc1);

	// Check the result
	rConvs = ConventionExample.queryUserSpaceConvention(usc2);
	
	}
    public static void registerNewConvention(UserSpaceConv usc){
	try{
	    RPCServiceClient serviceClient = new RPCServiceClient();
	    
	    Options options = serviceClient.getOptions();
	    
	    EndpointReference targetEPR = new EndpointReference(fas_Loc);
	    
	    options.setTo(targetEPR);
	    
	    QName reg = new QName("http://fileagentservice.ogce.org", "registerUserSpaceConvention");
	    Object[] regArgs = new Object[] { usc };
	    
	    serviceClient.invokeRobust(reg, regArgs);
	}catch (Exception e){
	    e.printStackTrace();
	}
    }	
    public static void removeConvention(UserSpaceConv usc){
	try{
	    
	    RPCServiceClient serviceClient = new RPCServiceClient();
	    
	    Options options = serviceClient.getOptions();
	    
	    EndpointReference targetEPR = new EndpointReference(fas_Loc);
	    
	    options.setTo(targetEPR);
	    
	    QName rem = new QName("http://fileagentservice.ogce.org", "removeUserSpaceConvention");
	    Object[] remArgs = new Object[] { usc };
	    
	    serviceClient.invokeRobust(rem, remArgs);
	}catch (Exception e){
	    e.printStackTrace();
	}
    }
    public static LinkedList queryUserSpaceConvention(UserSpaceConv usc){
	try{
	    RPCServiceClient serviceClient = new RPCServiceClient();
	    
	    Options options = serviceClient.getOptions();
	    
	    EndpointReference targetEPR = new EndpointReference(fas_Loc);
	    
	    options.setTo(targetEPR);
	    
	    QName query = new QName("http://fileagentservice.ogce.org", "queryUserSpaceConvention");
	    
	    Object[] queryArgs = new Object[] {usc};
	    
	    org.apache.axiom.om.OMElement ome = serviceClient.invokeBlocking(query, queryArgs);
	    
	    java.util.Iterator ri = ome.getChildren();
	    
	    LinkedList uscs = new LinkedList();
	    System.out.println(ome.toString());
	    
	    while (ri.hasNext()){
		uscs.add(ConventionExample.convertToUserSpaceConvention((org.apache.axiom.om.OMElement)ri.next()));
	    }
	    
	    return uscs;
	}catch (Exception e){
	    e.printStackTrace();
	}
	return null;
    }    
    public static UserSpaceConv convertToUserSpaceConvention(org.apache.axiom.om.OMElement omElement){

	String host = "";
	String port = "";
	String attr = "";
	String defaultLoc = "";

	QName qn_host = new QName("http://db.fileagentservice.ogce.org/xsd","host");
	QName qn_port = new QName("http://db.fileagentservice.ogce.org/xsd","port");
	QName qn_attr = new QName("http://db.fileagentservice.ogce.org/xsd","attr");
	QName qn_defaultLoc = new QName("http://db.fileagentservice.ogce.org/xsd","defaultLoc");
	
	Iterator cn_host = omElement.getChildrenWithName(qn_host);
	Iterator cn_port = omElement.getChildrenWithName(qn_port);
	Iterator cn_attr = omElement.getChildrenWithName(qn_attr);
	Iterator cn_defaultLoc = omElement.getChildrenWithName(qn_defaultLoc);


	if (cn_host.hasNext()){
	    org.apache.axiom.om.OMElement oe = (org.apache.axiom.om.OMElement)cn_host.next();
	    host = oe.getText();
	}
	if (cn_port.hasNext()){
	    org.apache.axiom.om.OMElement oe = (org.apache.axiom.om.OMElement)cn_port.next();
	    port = oe.getText();
	}
	if (cn_attr.hasNext()){
	    org.apache.axiom.om.OMElement oe = (org.apache.axiom.om.OMElement)cn_attr.next();
	    attr = oe.getText();
	}
	if (cn_defaultLoc.hasNext()){
	    org.apache.axiom.om.OMElement oe = (org.apache.axiom.om.OMElement)cn_defaultLoc.next();
	    defaultLoc = oe.getText();
	}

	UserSpaceConv usc = new UserSpaceConv();
	usc.setHost(host);
	usc.setPort(port);
	usc.setAttr(attr);
	usc.setDefaultLoc(defaultLoc);


	return usc;
	
    }
 }
Web site tools