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;
}
}