Mercurial > repos > ganjoo > webservice_toolsuite
diff WebServiceToolWorkflow/lib/SAWADLParser/src/edu/uga/cs/lsdis/meteors/wadls/SAWADLParserDriver.java @ 0:d5cd409b8a18 default tip
Migrated tool version 1.0.0 from old tool shed archive to new tool shed repository
author | ganjoo |
---|---|
date | Tue, 07 Jun 2011 18:00:50 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebServiceToolWorkflow/lib/SAWADLParser/src/edu/uga/cs/lsdis/meteors/wadls/SAWADLParserDriver.java Tue Jun 07 18:00:50 2011 -0400 @@ -0,0 +1,153 @@ +package edu.uga.cs.lsdis.meteors.wadls; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import javax.wadls.Application; +import javax.wadls.Method; +import javax.wadls.Param; +import javax.wadls.Request; +import javax.wadls.Resource; +import javax.wadls.WADLSException; +import javax.wadls.factory.WADLFactory; +import javax.wadls.xml.WADLReader; +import javax.xml.namespace.QName; + + +public class SAWADLParserDriver { + + + private List<Method> completeMethodList = new ArrayList<Method>(); + private List<String> url = new ArrayList<String>(); + private List<String> paramList = new ArrayList<String>(); + private List<String> paramTypeList = new ArrayList<String>(); + private List<String> paramModelRef = new ArrayList<String>(); + private Application application; + + + public List<Method> getCompleteMethodList() { + return completeMethodList; + } + + public List<String> getUrl() { + return url; + } + + public List<String> getParamList() { + return paramList; + } + public List<String> getParamTypeList() { + return paramTypeList; + } + + + + + public static void main(String[] args) throws Exception { + + //WADLParserDriver mpw = new WADLParserDriver(); + //mpw.parse(new URL(args[0])); + SAWADLParserDriver spd = new SAWADLParserDriver(); + //String fileURL = "/home/ganjoo/parser/SAWADLParser/Files/sample.wadl"; + String fileURL = "/home/ganjoo/parser/SAWADLParser/euPathWADL/GenesByTextSearch.sawadl"; + //String fileURL = "http://cs.uga.edu/~ganjoo/galaxy/GenesByTextSearch.sawadl"; + spd.parse(fileURL); + } + + public void parse(String fileURL) throws Exception { + int i=0; + Map resources = new HashMap(); + List methods = new Vector(); + List<ParamImpl> paramList = new Vector(); + + //URL fileURL = new URL("http://www.eupathdb.org/webservices/GeneQuestions/GenesByMolecularWeight.wadl"); + WADLReader wadlReader; + try { + wadlReader = WADLFactory.newInstance().newWADLReader(); + wadlReader.setFeature(Constants.FEATURE_PARSE_SAWADL,true); + //wadlReader.setExtensionRegistry(new PopulatedExtensionRegistry()); + Application app = wadlReader.readWADL(fileURL); + this.application = app; + + + String temp = ""; + String tempHref=""; + int count =0; + Map<QName, Resource> resourceMap = app.getResources(); + for(Map.Entry entry : resourceMap.entrySet() ){ + count++; + Resource resource = (Resource) entry.getValue(); + // System.out.println("Resource " + count + "is " + resource.getQName().getNamespaceURI()); + + methods = resource.getMethods(); + + for(int j =0;j<methods.size();j++){ + + Method method = (Method) methods.get(j); + completeMethodList.add(method); + url.add(app.getResourcesPath()+resource.getQName().getLocalPart()); + + System.out.println("-------------------------------\n"); + System.out.println("Resources path : " + app.getResourcesPath()); + System.out.println("Method name is : " + method.getName()); + System.out.println("Qname uri : " + resource.getQName().getNamespaceURI()); + System.out.println("Qname local part : " + resource.getQName().getLocalPart()); + System.out.println("Qname prefix : " + resource.getQName().getPrefix()); + System.out.println("\n-------------------------------\n"); + + Request request = method.getRequest(); + paramList = request.getParamList(); + +// Map namespaces = new HashMap(); +// namespaces = app.getNamespaces(); +// System.out.println( namespaces.get("euPathOntology")); + + for(Param param : paramList){ + System.out.println("Parameter : "); + System.out.println("\t name: "+ param.getName()); + System.out.println("\t type: "+param.getType()); + System.out.println("\t ontology reference: "+ param.getModelreference()); + System.out.println("\t required: " + param.getRequired()); + System.out.println("\t option size: "+param.getOptionvalue().size()); + + + } + + + } + + + + } + + + + + + + + } catch (WADLSException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + + } + } + + public String getCompleteModelReference(Param param){ + String prefix = null; + String namespace = null; + if(param.getModelreference() != null){ + prefix = param.getModelreference().split("#")[0]; + namespace = application.getNamespace(prefix); + } + + return namespace+"#"+param.getModelreference().split("#")[1]; + } + + +}