annotate WebServiceExtensionsV1.1/WebServiceToolWorkflow_REST_SOAP/getMethods_m.py @ 0:049760c677de default tip

Galaxy WSExtensions added successfully
author uga-galaxy-group
date Tue, 05 Jul 2011 19:34:18 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
1 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
2 @author Chaitanya Guttula
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
3 @see LICENSE (MIT style license file).
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
4 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
5
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
6
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
7 # Author = Chaitanya Guttula
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
8
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
9 import warnings
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
10
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
11 with warnings.catch_warnings():
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
12 warnings.simplefilter("ignore")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
13
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
14 import platform
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
15 import commands
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
16 import ZSI
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
17 import os
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
18 from clientGenerator.creatorEngineComplex import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
19 from clientGenerator.wsdl2path import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
20 from jpype._jpackage import JPackage
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
21 from jpype import *
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
22 import sys
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
23
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
24 class Document(object):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
25
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
26 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
27 Method to get all the operations from the WSDL file and write it to Galaxy output datasets
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
28 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
29
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
30 def getWSDLMethods(self, url , outputFileUrl):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
31 wLoad=wsdlLoader()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
32 a= str(url).split('/')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
33 wsdlnamelist = a[len(a)-1].split(".")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
34 if len(wsdlnamelist)==1:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
35 wsdlnamelist=a[len(a)-1].split('?')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
36 print wsdlnamelist
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
37
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
38 foldername=wsdlnamelist[0]
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
39
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
40 galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
41 path =galaxyhome+'/tools/WebServiceToolWorkflow_REST_SOAP/clientGenerator/'+foldername
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
42 os.chdir(galaxyhome+'/tools/WebServiceToolWorkflow_REST_SOAP/clientGenerator/')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
43
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
44 #creates the client stubs
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
45 clientfile=wLoad.wsdlUrl2path(str(url),foldername)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
46
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
47 #Gets the list of operations
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
48 test=ClientCreator()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
49 operations=test.path2Ops(str(clientfile)).keys()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
50
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
51 #COnvert ~ to __tilda__
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
52 if(url.find('~')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
53 ulist = url.split('~')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
54 url = '__tilda__'.join(ulist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
55
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
56
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
57 #Print all the operations and web service info to the Galaxy output dataset
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
58 outputfile=open(outputFileUrl,'w')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
59 count=0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
60 outputfile.seek(0,0)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
61 for k in operations:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
62 count=count+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
63 if(count==1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
64 outputfile.write(k+'\t'+clientfile+'\t'+url+'\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
65 else:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
66 outputfile.write(k+'\n')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
67
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
68 #invoked to get REST methods described in a WSDL 2.0 document. Steps are similar to getWADLMethods except the library to parse WSDL 2.0 is used.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
69 def getWSDLRESTMethods(self, wsdlUrl, outputFileUrl ):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
70 javahome = os.environ.get('JAVA_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
71 galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
72 classpath= galaxyhome + '/tools/WebServiceToolWorkflow_REST_SOAP/WodenWSDLParser/bin'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
73 jarpath = galaxyhome + '/tools/WebServiceToolWorkflow_REST_SOAP/WodenWSDLParser/lib/'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
74 machine = platform.machine()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
75
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
76 #start JVM depending on the machine. The location of libjvm.so is assumed to be standard.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
77 #you can replace lines 81 to 88, with startJVM("LOCATION OF YOUR LIBJVM.SO","-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
78 if machine == 'x86_64' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
79 startJVM("%s/jre/lib/amd64/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
80 elif machine == 'i686' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
81 startJVM("%s/jre/lib/i386/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
82 elif machine == 'sun4u' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
83 startJVM("%s/jre/lib/sparc/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
84 else :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
85 System.exit("Could not identify machine, please specify path to libjvm.so")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
86
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
87 pkg=JPackage('lsdis')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
88
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
89 outputfile=open(outputFileUrl,'w')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
90 outputfile.seek(0,0)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
91 length=(len(sys.argv))
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
92
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
93 urls = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
94 methods = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
95
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
96 if(wsdlUrl.find('__tilda__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
97 ulist = wsdlUrl.split('__tilda__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
98 urlToPass = '~'.join(ulist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
99
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
100 WSDLParserDriver=pkg.WSDLParserDriver
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
101 wPD=WSDLParserDriver()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
102 wPD.parse(urlToPass)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
103 urls = wPD.getUrl()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
104 methods = wPD.getCompleteMethodList()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
105
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
106 i=0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
107 for url in urls:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
108 outputfile.write(wsdlUrl+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
109 outputfile.write(str(methods[i].getName().getLocalPart())+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
110 outputfile.write(str(url)+"\n")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
111 i=i+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
112
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
113
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
114
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
115 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
116 Invoked to get methods described in a WADL document
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
117 '''
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
118 def getWADLMethods(self, wadlUrl, outputFileUrl ):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
119
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
120 #get environment variables JAVA_HOME and GALAXY_HOME
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
121 javahome = os.environ.get('JAVA_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
122 galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
123
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
124 #classpath, jarpath are variables pointing to the java libraries required to parse a WADL document
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
125 classpath= galaxyhome + '/tools/WebServiceToolWorkflow_REST_SOAP/ParserForWADL/bin'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
126 jarpath = galaxyhome + '/tools/WebServiceToolWorkflow_REST_SOAP/ParserForWADL/lib/'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
127
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
128 #start JVM depending on the machine. The location of libjvm.so is assumed to be standard.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
129 #you can replace lines 28 to 35, with startJVM("LOCATION OF YOUR LIBJVM.SO","-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
130 machine = platform.machine()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
131 if machine == 'x86_64' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
132 startJVM("%s/jre/lib/amd64/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
133 elif machine == 'i686' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
134 startJVM("%s/jre/lib/i386/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
135 elif machine == 'sun4u' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
136 startJVM("%s/jre/lib/sparc/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
137 else :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
138 System.exit("Could not identify machine, please specify path to libjvm.so")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
139
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
140 #tell JPYPE that the package name is lsdis
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
141 pkg=JPackage('lsdis')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
142
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
143 urlToPass=java.net.URL(wadlUrl)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
144
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
145 #convert __tilda__ to ~
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
146 if(wadlUrl.find('__tilda__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
147 ulist = wadlUrl.split('__tilda__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
148 urlToPass = java.net.URL('~'.join(ulist))
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
149
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
150
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
151 outputfile=open(outputFileUrl,'w')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
152 outputfile.seek(0,0)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
153
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
154 urls = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
155 methods = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
156
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
157 #using JPYPE call appropriate Java classes and methods to parse the WADL document and get a list of methods defined in it
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
158 WADLParserDriver=pkg.WADLParserDriver
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
159 wPD=WADLParserDriver()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
160 wPD.parse(urlToPass)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
161 urls = wPD.getUrl()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
162 methods = wPD.getCompleteMethodList()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
163
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
164 #write the url of the WADL and the list of methods to the output in a tabular format, for the Step 2 tool to read from.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
165 i=0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
166 for url in urls:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
167 outputfile.write(str(url)+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
168 outputfile.write(str(methods[i].getId())+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
169 outputfile.write(wadlUrl+"\n")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
170 i=i+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
171
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
172
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
173
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
174 # invoked to get methods described in a SAWADL document
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
175 def getSAWADLMethods(self, sawadlUrl, outputFileUrl ):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
176 javahome = os.environ.get('JAVA_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
177 galaxyhome=os.environ.get('GALAXY_HOME')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
178 classpath= galaxyhome + '/tools/restclientSAWADL/lib/SAWADLParser/bin'
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
179 machine = platform.machine()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
180
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
181 #start JVM depending on the machine. The location of libjvm.so is assumed to be standard.
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
182 #you can replace lines 126 to 133, with startJVM("LOCATION OF YOUR LIBJVM.SO","-ea", "-Djava.class.path=%s" % classpath,"-Djava.ext.dirs=%s" % jarpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
183 if machine == 'x86_64' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
184 startJVM("%s/jre/lib/amd64/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
185 elif machine == 'i686' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
186 startJVM("%s/jre/lib/i386/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
187 elif machine == 'sun4u' :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
188 startJVM("%s/jre/lib/sparc/server/libjvm.so" % javahome,"-ea", "-Djava.class.path=%s" % classpath)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
189 else :
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
190 System.exit("Could not identify machine, please specify path to libjvm.so")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
191
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
192 pkg=JPackage('edu.uga.cs.lsdis.meteors.wadls')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
193
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
194
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
195 # Open the output file for galaxy
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
196 outputfile=open(outputFileUrl,'w')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
197 outputfile.seek(0,0)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
198
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
199 if(sawadlUrl.find('__tilda__')>-1):
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
200 ulist = sawadlUrl.split('__tilda__')
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
201 urlToPass = '~'.join(ulist)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
202
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
203 urls = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
204 methods = []
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
205
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
206 #invoke the parser and get the method list
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
207 SAWADLParserDriver=pkg.SAWADLParserDriver
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
208 sawPD=SAWADLParserDriver()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
209 sawPD.parse(urlToPass)
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
210 urls = sawPD.getUrl()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
211 methods = sawPD.getCompleteMethodList()
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
212
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
213 #Print the methods and service information to the
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
214 i=0
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
215 for url in urls:
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
216 outputfile.write(sawadlUrl+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
217 outputfile.write(str(methods[i].getName())+"\t")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
218 outputfile.write(str(url)+"\n")
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
219 i=i+1
049760c677de Galaxy WSExtensions added successfully
uga-galaxy-group
parents:
diff changeset
220