--- /dev/null
+/**\r
+ * ScanPSService.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package ext.vamsas;\r
+\r
+public interface SeqSearchI extends java.rmi.Remote {\r
+ public java.lang.String getDatabase() throws java.rmi.RemoteException;\r
+ public vamsas.objects.simple.SeqSearchResult getResult(java.lang.String job_id) throws java.rmi.RemoteException;\r
+ public vamsas.objects.simple.WsJobId psearch(vamsas.objects.simple.Alignment al, java.lang.String database) throws java.rmi.RemoteException;\r
+ public vamsas.objects.simple.WsJobId search(vamsas.objects.simple.Sequence s, java.lang.String database) throws java.rmi.RemoteException;\r
+ public vamsas.objects.simple.WsJobId cancel(java.lang.String jobId) throws java.rmi.RemoteException;\r
+}\r
--- /dev/null
+/**\r
+ * ScanPSServiceServiceLocator.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package ext.vamsas;\r
+\r
+public class SeqSearchServiceLocator extends org.apache.axis.client.Service implements ext.vamsas.SeqSearchServiceService {\r
+\r
+ public SeqSearchServiceLocator() {\r
+ }\r
+\r
+\r
+ public SeqSearchServiceLocator(org.apache.axis.EngineConfiguration config) {\r
+ super(config);\r
+ }\r
+\r
+ // Use to get a proxy class for ScanPSService\r
+ private java.lang.String ScanPSService_address = "http://localhost:8080/TestJWS/services/ScanPSService";\r
+\r
+ public java.lang.String getSeqSeachServiceAddress() {\r
+ return ScanPSService_address;\r
+ }\r
+\r
+ // The WSDD service name defaults to the port name.\r
+ private java.lang.String ScanPSServiceWSDDServiceName = "ScanPSService";\r
+\r
+ public java.lang.String getScanPSServiceWSDDServiceName() {\r
+ return ScanPSServiceWSDDServiceName;\r
+ }\r
+\r
+ public void setScanPSServiceWSDDServiceName(java.lang.String name) {\r
+ ScanPSServiceWSDDServiceName = name;\r
+ }\r
+\r
+ public ext.vamsas.SeqSearchI getSeqSearchService() throws javax.xml.rpc.ServiceException {\r
+ java.net.URL endpoint;\r
+ try {\r
+ endpoint = new java.net.URL(ScanPSService_address);\r
+ }\r
+ catch (java.net.MalformedURLException e) {\r
+ throw new javax.xml.rpc.ServiceException(e);\r
+ }\r
+ return getSeqSearchService(endpoint);\r
+ }\r
+\r
+ public ext.vamsas.SeqSearchI getSeqSearchService(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {\r
+ try {\r
+ ext.vamsas.SeqSearchServiceSoapBindingStub _stub = new ext.vamsas.SeqSearchServiceSoapBindingStub(portAddress, this);\r
+ _stub.setPortName(getScanPSServiceWSDDServiceName());\r
+ return _stub;\r
+ }\r
+ catch (org.apache.axis.AxisFault e) {\r
+ return null;\r
+ }\r
+ }\r
+\r
+ public void setScanPSServiceEndpointAddress(java.lang.String address) {\r
+ ScanPSService_address = address;\r
+ }\r
+\r
+ /**\r
+ * For the given interface, get the stub implementation.\r
+ * If this service has no port for the given interface,\r
+ * then ServiceException is thrown.\r
+ */\r
+ public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {\r
+ try {\r
+ if (ext.vamsas.SeqSearchI.class.isAssignableFrom(serviceEndpointInterface)) {\r
+ ext.vamsas.SeqSearchServiceSoapBindingStub _stub = new ext.vamsas.SeqSearchServiceSoapBindingStub(new java.net.URL(ScanPSService_address), this);\r
+ _stub.setPortName(getScanPSServiceWSDDServiceName());\r
+ return _stub;\r
+ }\r
+ }\r
+ catch (java.lang.Throwable t) {\r
+ throw new javax.xml.rpc.ServiceException(t);\r
+ }\r
+ throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));\r
+ }\r
+\r
+ /**\r
+ * For the given interface, get the stub implementation.\r
+ * If this service has no port for the given interface,\r
+ * then ServiceException is thrown.\r
+ */\r
+ public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {\r
+ if (portName == null) {\r
+ return getPort(serviceEndpointInterface);\r
+ }\r
+ java.lang.String inputPortName = portName.getLocalPart();\r
+ if ("ScanPSService".equals(inputPortName)) {\r
+ return getSeqSearchService();\r
+ }\r
+ else {\r
+ java.rmi.Remote _stub = getPort(serviceEndpointInterface);\r
+ ((org.apache.axis.client.Stub) _stub).setPortName(portName);\r
+ return _stub;\r
+ }\r
+ }\r
+\r
+ public javax.xml.namespace.QName getServiceName() {\r
+ return new javax.xml.namespace.QName("vamsas", "ScanPSServiceService");\r
+ }\r
+\r
+ private java.util.HashSet ports = null;\r
+\r
+ public java.util.Iterator getPorts() {\r
+ if (ports == null) {\r
+ ports = new java.util.HashSet();\r
+ ports.add(new javax.xml.namespace.QName("vamsas", "ScanPSService"));\r
+ }\r
+ return ports.iterator();\r
+ }\r
+\r
+ /**\r
+ * Set the endpoint address for the specified port name.\r
+ */\r
+ public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {\r
+ if ("ScanPSService".equals(portName)) {\r
+ setScanPSServiceEndpointAddress(address);\r
+ }\r
+ else { // Unknown Port Name\r
+ throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Set the endpoint address for the specified port name.\r
+ */\r
+ public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {\r
+ setEndpointAddress(portName.getLocalPart(), address);\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * ScanPSServiceService.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package ext.vamsas;\r
+\r
+public interface SeqSearchServiceService extends javax.xml.rpc.Service {\r
+ public java.lang.String getSeqSeachServiceAddress();\r
+\r
+ public ext.vamsas.SeqSearchI getSeqSearchService() throws javax.xml.rpc.ServiceException;\r
+\r
+ public ext.vamsas.SeqSearchI getSeqSearchService(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;\r
+}\r
--- /dev/null
+/**\r
+ * ScanPSServiceSoapBindingStub.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package ext.vamsas;\r
+\r
+public class SeqSearchServiceSoapBindingStub extends org.apache.axis.client.Stub implements ext.vamsas.SeqSearchI {\r
+ private java.util.Vector cachedSerClasses = new java.util.Vector();\r
+ private java.util.Vector cachedSerQNames = new java.util.Vector();\r
+ private java.util.Vector cachedSerFactories = new java.util.Vector();\r
+ private java.util.Vector cachedDeserFactories = new java.util.Vector();\r
+\r
+ static org.apache.axis.description.OperationDesc [] _operations;\r
+\r
+ static {\r
+ _operations = new org.apache.axis.description.OperationDesc[5];\r
+ _initOperationDesc1();\r
+ }
+\r
+ private static void _initOperationDesc1(){\r
+ org.apache.axis.description.OperationDesc oper;\r
+ oper = new org.apache.axis.description.OperationDesc();\r
+ oper.setName("getDatabase");\r
+ oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));\r
+ oper.setReturnClass(java.lang.String.class);\r
+ oper.setReturnQName(new javax.xml.namespace.QName("", "getDatabaseReturn"));\r
+ oper.setStyle(org.apache.axis.constants.Style.RPC);\r
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);\r
+ _operations[0] = oper;\r
+\r
+ oper = new org.apache.axis.description.OperationDesc();\r
+ oper.setName("getResult");\r
+ oper.addParameter(new javax.xml.namespace.QName("", "job_id"), new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.setReturnType(new javax.xml.namespace.QName("simple.objects.vamsas", "SeqSearchResult"));\r
+ oper.setReturnClass(vamsas.objects.simple.SeqSearchResult.class);\r
+ oper.setReturnQName(new javax.xml.namespace.QName("", "getResultReturn"));\r
+ oper.setStyle(org.apache.axis.constants.Style.RPC);\r
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);\r
+ _operations[1] = oper;\r
+\r
+ oper = new org.apache.axis.description.OperationDesc();\r
+ oper.setName("psearch");\r
+ oper.addParameter(new javax.xml.namespace.QName("", "al"), new javax.xml.namespace.QName("simple.objects.vamsas", "Alignment"), vamsas.objects.simple.Alignment.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.addParameter(new javax.xml.namespace.QName("", "database"), new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.setReturnType(new javax.xml.namespace.QName("simple.objects.vamsas", "WsJobId"));\r
+ oper.setReturnClass(vamsas.objects.simple.WsJobId.class);\r
+ oper.setReturnQName(new javax.xml.namespace.QName("", "psearchReturn"));\r
+ oper.setStyle(org.apache.axis.constants.Style.RPC);\r
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);\r
+ _operations[2] = oper;\r
+\r
+ oper = new org.apache.axis.description.OperationDesc();\r
+ oper.setName("search");\r
+ oper.addParameter(new javax.xml.namespace.QName("", "s"), new javax.xml.namespace.QName("simple.objects.vamsas", "Sequence"), vamsas.objects.simple.Sequence.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.addParameter(new javax.xml.namespace.QName("", "database"), new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.setReturnType(new javax.xml.namespace.QName("simple.objects.vamsas", "WsJobId"));\r
+ oper.setReturnClass(vamsas.objects.simple.WsJobId.class);\r
+ oper.setReturnQName(new javax.xml.namespace.QName("", "searchReturn"));\r
+ oper.setStyle(org.apache.axis.constants.Style.RPC);\r
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);\r
+ _operations[3] = oper;\r
+\r
+ oper = new org.apache.axis.description.OperationDesc();\r
+ oper.setName("cancel");\r
+ oper.addParameter(new javax.xml.namespace.QName("", "jobId"), new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, org.apache.axis.description.ParameterDesc.IN, false, false);\r
+ oper.setReturnType(new javax.xml.namespace.QName("simple.objects.vamsas", "WsJobId"));\r
+ oper.setReturnClass(vamsas.objects.simple.WsJobId.class);\r
+ oper.setReturnQName(new javax.xml.namespace.QName("", "cancelReturn"));\r
+ oper.setStyle(org.apache.axis.constants.Style.RPC);\r
+ oper.setUse(org.apache.axis.constants.Use.ENCODED);\r
+ _operations[4] = oper;\r
+\r
+ }\r
+\r
+ public SeqSearchServiceSoapBindingStub() throws org.apache.axis.AxisFault {\r
+ this(null);\r
+ }\r
+\r
+ public SeqSearchServiceSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {\r
+ this(service);\r
+ super.cachedEndpoint = endpointURL;\r
+ }\r
+\r
+ public SeqSearchServiceSoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {\r
+ if (service == null) {\r
+ super.service = new org.apache.axis.client.Service();\r
+ } else {\r
+ super.service = service;\r
+ }\r
+ java.lang.Class cls;\r
+ javax.xml.namespace.QName qName;\r
+ java.lang.Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class;\r
+ java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;\r
+ java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;\r
+ java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;\r
+ java.lang.Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class;\r
+ java.lang.Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;\r
+ java.lang.Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class;\r
+ java.lang.Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;\r
+ java.lang.Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;\r
+ java.lang.Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "Result");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.Result.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "WsJobId");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.WsJobId.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("http://simple.objects.vamsas", "Object");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.Object.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("vamsas", "ArrayOf_xsd_string");\r
+ cachedSerQNames.add(qName);\r
+ cls = java.lang.String[].class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(arraysf);\r
+ cachedDeserFactories.add(arraydf);\r
+\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "Alignment");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.Alignment.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "Sequence");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.Sequence.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("vamsas", "ArrayOf_tns1_Sequence");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.Sequence[].class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(arraysf);\r
+ cachedDeserFactories.add(arraydf);\r
+\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "SeqSearchResult");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.SeqSearchResult.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ qName = new javax.xml.namespace.QName("simple.objects.vamsas", "SequenceSet");\r
+ cachedSerQNames.add(qName);\r
+ cls = vamsas.objects.simple.SequenceSet.class;\r
+ cachedSerClasses.add(cls);\r
+ cachedSerFactories.add(beansf);\r
+ cachedDeserFactories.add(beandf);\r
+\r
+ }\r
+\r
+ protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {\r
+ try {\r
+ org.apache.axis.client.Call _call =\r
+ (org.apache.axis.client.Call) super.service.createCall();\r
+ if (super.maintainSessionSet) {\r
+ _call.setMaintainSession(super.maintainSession);\r
+ }\r
+ if (super.cachedUsername != null) {\r
+ _call.setUsername(super.cachedUsername);\r
+ }\r
+ if (super.cachedPassword != null) {\r
+ _call.setPassword(super.cachedPassword);\r
+ }\r
+ if (super.cachedEndpoint != null) {\r
+ _call.setTargetEndpointAddress(super.cachedEndpoint);\r
+ }\r
+ if (super.cachedTimeout != null) {\r
+ _call.setTimeout(super.cachedTimeout);\r
+ }\r
+ if (super.cachedPortName != null) {\r
+ _call.setPortName(super.cachedPortName);\r
+ }\r
+ java.util.Enumeration keys = super.cachedProperties.keys();\r
+ while (keys.hasMoreElements()) {\r
+ java.lang.String key = (java.lang.String) keys.nextElement();\r
+ _call.setProperty(key, super.cachedProperties.get(key));\r
+ }\r
+ // All the type mapping information is registered\r
+ // when the first call is made.\r
+ // The type mapping information is actually registered in\r
+ // the TypeMappingRegistry of the service, which\r
+ // is the reason why registration is only needed for the first call.\r
+ synchronized (this) {\r
+ if (firstCall()) {\r
+ // must set encoding style before registering serializers\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setEncodingStyle(org.apache.axis.Constants.URI_SOAP11_ENC);\r
+ for (int i = 0; i < cachedSerFactories.size(); ++i) {\r
+ java.lang.Class cls = (java.lang.Class) cachedSerClasses.get(i);\r
+ javax.xml.namespace.QName qName =\r
+ (javax.xml.namespace.QName) cachedSerQNames.get(i);\r
+ java.lang.Class sf = (java.lang.Class)\r
+ cachedSerFactories.get(i);\r
+ java.lang.Class df = (java.lang.Class)\r
+ cachedDeserFactories.get(i);\r
+ _call.registerTypeMapping(cls, qName, sf, df, false);\r
+ }\r
+ }\r
+ }\r
+ return _call;\r
+ }\r
+ catch (java.lang.Throwable _t) {\r
+ throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);\r
+ }\r
+ }\r
+\r
+ public java.lang.String getDatabase() throws java.rmi.RemoteException {\r
+ if (super.cachedEndpoint == null) {\r
+ throw new org.apache.axis.NoEndPointException();\r
+ }\r
+ org.apache.axis.client.Call _call = createCall();\r
+ _call.setOperation(_operations[0]);\r
+ _call.setUseSOAPAction(true);\r
+ _call.setSOAPActionURI("");\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setOperationName(new javax.xml.namespace.QName("vamsas", "getDatabase"));\r
+\r
+ setRequestHeaders(_call);\r
+ setAttachments(_call);\r
+ java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});\r
+\r
+ if (_resp instanceof java.rmi.RemoteException) {\r
+ throw (java.rmi.RemoteException)_resp;\r
+ }\r
+ else {\r
+ extractAttachments(_call);\r
+ try {\r
+ return (java.lang.String) _resp;\r
+ } catch (java.lang.Exception _exception) {\r
+ return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);\r
+ }\r
+ }\r
+ }\r
+\r
+ public vamsas.objects.simple.SeqSearchResult getResult(java.lang.String job_id) throws java.rmi.RemoteException {\r
+ if (super.cachedEndpoint == null) {\r
+ throw new org.apache.axis.NoEndPointException();\r
+ }\r
+ org.apache.axis.client.Call _call = createCall();\r
+ _call.setOperation(_operations[1]);\r
+ _call.setUseSOAPAction(true);\r
+ _call.setSOAPActionURI("");\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setOperationName(new javax.xml.namespace.QName("vamsas", "getResult"));\r
+\r
+ setRequestHeaders(_call);\r
+ setAttachments(_call);\r
+ java.lang.Object _resp = _call.invoke(new java.lang.Object[] {job_id});\r
+\r
+ if (_resp instanceof java.rmi.RemoteException) {\r
+ throw (java.rmi.RemoteException)_resp;\r
+ }\r
+ else {\r
+ extractAttachments(_call);\r
+ try {\r
+ return (vamsas.objects.simple.SeqSearchResult) _resp;\r
+ } catch (java.lang.Exception _exception) {\r
+ return (vamsas.objects.simple.SeqSearchResult) org.apache.axis.utils.JavaUtils.convert(_resp, vamsas.objects.simple.SeqSearchResult.class);\r
+ }\r
+ }\r
+ }\r
+\r
+ public vamsas.objects.simple.WsJobId psearch(vamsas.objects.simple.Alignment al, java.lang.String database) throws java.rmi.RemoteException {\r
+ if (super.cachedEndpoint == null) {\r
+ throw new org.apache.axis.NoEndPointException();\r
+ }\r
+ org.apache.axis.client.Call _call = createCall();\r
+ _call.setOperation(_operations[2]);\r
+ _call.setUseSOAPAction(true);\r
+ _call.setSOAPActionURI("");\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setOperationName(new javax.xml.namespace.QName("vamsas", "psearch"));\r
+\r
+ setRequestHeaders(_call);\r
+ setAttachments(_call);\r
+ java.lang.Object _resp = _call.invoke(new java.lang.Object[] {al, database});\r
+\r
+ if (_resp instanceof java.rmi.RemoteException) {\r
+ throw (java.rmi.RemoteException)_resp;\r
+ }\r
+ else {\r
+ extractAttachments(_call);\r
+ try {\r
+ return (vamsas.objects.simple.WsJobId) _resp;\r
+ } catch (java.lang.Exception _exception) {\r
+ return (vamsas.objects.simple.WsJobId) org.apache.axis.utils.JavaUtils.convert(_resp, vamsas.objects.simple.WsJobId.class);\r
+ }\r
+ }\r
+ }\r
+\r
+ public vamsas.objects.simple.WsJobId search(vamsas.objects.simple.Sequence s, java.lang.String database) throws java.rmi.RemoteException {\r
+ if (super.cachedEndpoint == null) {\r
+ throw new org.apache.axis.NoEndPointException();\r
+ }\r
+ org.apache.axis.client.Call _call = createCall();\r
+ _call.setOperation(_operations[3]);\r
+ _call.setUseSOAPAction(true);\r
+ _call.setSOAPActionURI("");\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setOperationName(new javax.xml.namespace.QName("vamsas", "search"));\r
+\r
+ setRequestHeaders(_call);\r
+ setAttachments(_call);\r
+ java.lang.Object _resp = _call.invoke(new java.lang.Object[] {s, database});\r
+\r
+ if (_resp instanceof java.rmi.RemoteException) {\r
+ throw (java.rmi.RemoteException)_resp;\r
+ }\r
+ else {\r
+ extractAttachments(_call);\r
+ try {\r
+ return (vamsas.objects.simple.WsJobId) _resp;\r
+ } catch (java.lang.Exception _exception) {\r
+ return (vamsas.objects.simple.WsJobId) org.apache.axis.utils.JavaUtils.convert(_resp, vamsas.objects.simple.WsJobId.class);\r
+ }\r
+ }\r
+ }\r
+\r
+ public vamsas.objects.simple.WsJobId cancel(java.lang.String jobId) throws java.rmi.RemoteException {\r
+ if (super.cachedEndpoint == null) {\r
+ throw new org.apache.axis.NoEndPointException();\r
+ }\r
+ org.apache.axis.client.Call _call = createCall();\r
+ _call.setOperation(_operations[4]);\r
+ _call.setUseSOAPAction(true);\r
+ _call.setSOAPActionURI("");\r
+ _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);\r
+ _call.setOperationName(new javax.xml.namespace.QName("vamsas", "cancel"));\r
+\r
+ setRequestHeaders(_call);\r
+ setAttachments(_call);\r
+ java.lang.Object _resp = _call.invoke(new java.lang.Object[] {jobId});\r
+\r
+ if (_resp instanceof java.rmi.RemoteException) {\r
+ throw (java.rmi.RemoteException)_resp;\r
+ }\r
+ else {\r
+ extractAttachments(_call);\r
+ try {\r
+ return (vamsas.objects.simple.WsJobId) _resp;\r
+ } catch (java.lang.Exception _exception) {\r
+ return (vamsas.objects.simple.WsJobId) org.apache.axis.utils.JavaUtils.convert(_resp, vamsas.objects.simple.WsJobId.class);\r
+ }\r
+ }\r
+ }\r
+\r
+}\r
* or just the selected set will be submitted for multiple alignment.
*
*/
- private jalview.datamodel.AlignmentView gatherSequencesForAlignment()
+ public jalview.datamodel.AlignmentView gatherSequencesForAlignment()
{
// Now, check we have enough sequences
AlignmentView msa = null;
}
/**
- * Decides what is submitted to a secondary structure prediction service,
- * the currently selected sequence, or the currently selected alignment
+ * Decides what is submitted to a secondary structure prediction service:
+ * the first sequence in the alignment, or in the current selection,
+ * or, if the alignment is 'aligned' (ie padded with gaps), then the
+ * currently selected region or the whole alignment.
* (where the first sequence in the set is the one that the prediction
* will be for).
*/
- AlignmentView gatherSeqOrMsaForSecStrPrediction()
+ public AlignmentView gatherSeqOrMsaForSecStrPrediction()
{
AlignmentView seqs = null;
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) msaws.
get(i);
- final JMenuItem method = new JMenuItem(sh.getName());
- method.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- AlignmentView msa = gatherSequencesForAlignment();
- new jalview.ws.MsaWSClient(sh, title, msa,
- false, true,
- viewport.getAlignment().getDataset(),
- af);
-
- }
-
- });
- msawsmenu.add(method);
- // Deal with services that we know accept partial alignments.
- // TODO: this should be a service property - ie sh.getProperty("submitGaps")==Boolean.true
- if (sh.getName().indexOf("lustal") > -1)
- {
- // We know that ClustalWS can accept partial alignments for refinement.
- final JMenuItem methodR = new JMenuItem(sh.getName()+" Realign");
- methodR.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- AlignmentView msa = gatherSequencesForAlignment();
- new jalview.ws.MsaWSClient(sh, title, msa,
- true, true,
- viewport.getAlignment().getDataset(),
- af);
-
- }
-
- });
- msawsmenu.add(methodR);
-
- }
+ jalview.ws.WSClient impl = jalview.ws.Discoverer.getServiceClient(sh);
+ impl.attachWSMenuEntry(msawsmenu, this);
+
}
wsmenu.add(msawsmenu);
}
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle)
secstrpr.get(i);
- final JMenuItem method = new JMenuItem(sh.getName());
- method.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- AlignmentView msa = gatherSeqOrMsaForSecStrPrediction();
- if (msa.getSequences().length == 1)
- {
- // Single Sequence prediction
- new jalview.ws.JPredClient(sh, title, false, msa, af, true);
- }
- else
- {
- if (msa.getSequences().length > 1)
- {
- // Sequence profile based prediction
- new jalview.ws.JPredClient(sh,
- title, true, msa, af, true);
- }
- }
- }
- });
- secstrmenu.add(method);
+ jalview.ws.WSClient impl = jalview.ws.Discoverer.getServiceClient(sh);
+ impl.attachWSMenuEntry(secstrmenu, this);
}
wsmenu.add(secstrmenu);
-/* }
+ }
if (seqsrch!=null)
{
- // Add any secondary structure prediction services
+ // Add any sequence search services
final JMenu seqsrchmenu = new JMenu("Sequence Database Search");
- Hashtable dbsrchs = new Hashtable();
- JMenu defmenu;
- dbsrchs.put("<default>", defmenu = new JMenu("Default Database"));
for (int i = 0, j = seqsrch.size(); i < j; i++)
{
final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle)
seqsrch.elementAt(i);
-
- String dbs[] = null;
- try {
- dbs = new jalview.ws.SeqSearchWSClient(sh).getSupportedDatabases();
- } catch (Exception e)
- {
- jalview.bin.Cache.log.warn("Database list request failed, so disabling SeqSearch Service client "+sh.getName()+" at "+sh.getEndpointURL(), e);
- continue;
- }
- JMenuItem method;
- // do default entry
- defmenu.add(method = new JMenuItem(sh.getName()));
- method.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- // use same input gatherer as for secondary structure prediction
- // we could actually parameterise the gatherer method here...
- AlignmentView msa = gatherSeqOrMsaForSecStrPrediction();
- new jalview.ws.SeqSearchWSClient(sh, title, msa, null,
- viewport.getAlignment().getDataset(),
- af);
- }
- }
- );
- // add entry for each database the service supports
- for (int db=0; dbs!=null && db<dbs.length; db++)
- {
- JMenu dbmenu = (JMenu) dbsrchs.get(dbs[db]);
- if (dbmenu==null)
- {
- dbsrchs.put(dbs[db], dbmenu = new JMenu(dbs[db]));
- }
- // add the client handler code for this service
- dbmenu.add(method = new JMenuItem(sh.getName()));
- final String searchdb = dbs[db];
- method.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- AlignmentView msa = gatherSeqOrMsaForSecStrPrediction();
- new jalview.ws.SeqSearchWSClient(sh, title, msa, searchdb,
- viewport.getAlignment().getDataset(),
- af);
- }
- });
- }
- }
- // add the databases onto the seqsearch menu
- Enumeration e = dbsrchs.elements();
- while (e.hasMoreElements())
- {
- Object el = e.nextElement();
- if (el instanceof JMenu)
- {
- seqsrchmenu.add((JMenu) el);
- } else {
- seqsrchmenu.add((JMenuItem) el);
- }
+ jalview.ws.WSClient impl = jalview.ws.Discoverer.getServiceClient(sh);
+ impl.attachWSMenuEntry(seqsrchmenu, this);
}
// finally, add the whole shebang onto the webservices menu
- wsmenu.add(seqsrchmenu); */
+ wsmenu.add(seqsrchmenu);
}
resetWebServiceMenu();
for (int i = 0, j = wsmenu.size(); i < j; i++)
import javax.swing.*;
import jalview.jbgui.*;
+import jalview.ws.WSClientI;
/**
* Base class for web service client thread and gui
- *
+ *
* @author $author$
* @version $Revision$
*/
-public class WebserviceInfo
- extends GWebserviceInfo
+public class WebserviceInfo extends GWebserviceInfo
{
/** Job is Queued */
/** job has failed because of some unavoidable service interruption */
public static final int STATE_STOPPED_SERVERERROR = 5;
+
int currentStatus = STATE_QUEUING;
+
Image image;
+
int angle = 0;
+
String title = "";
+
jalview.ws.WSClientI thisService;
+
boolean serviceIsCancellable;
+
JInternalFrame frame;
+
JTabbedPane subjobs = null;
+
java.util.Vector jobPanes = null;
+
private boolean serviceCanMergeResults = false;
+
private boolean viewResultsImmediatly = true;
+
// tabbed or not
public synchronized int addJobPane()
{
/**
* Creates a new WebserviceInfo object.
- *
- * @param title short name and job type
- * @param info reference or other human readable description
+ *
+ * @param title
+ * short name and job type
+ * @param info
+ * reference or other human readable description
*/
public WebserviceInfo(String title, String info)
{
/**
* Creates a new WebserviceInfo object.
- *
- * @param title DOCUMENT ME!
- * @param info DOCUMENT ME!
- * @param width DOCUMENT ME!
- * @param height DOCUMENT ME!
+ *
+ * @param title
+ * DOCUMENT ME!
+ * @param info
+ * DOCUMENT ME!
+ * @param width
+ * DOCUMENT ME!
+ * @param height
+ * DOCUMENT ME!
*/
public WebserviceInfo(String title, String info, int width, int height)
{
/**
* DOCUMENT ME!
- *
+ *
* @return DOCUMENT ME!
*/
public jalview.ws.WSClientI getthisService()
}
/**
- * DOCUMENT ME!
- *
- * @param newservice DOCUMENT ME!
+ * Update state of GUI based on client capabilities (like whether the job is
+ * cancellable, whether the 'merge results' button is shown.
+ *
+ * @param newservice
+ * service client to query for capabilities
*/
public void setthisService(jalview.ws.WSClientI newservice)
{
serviceIsCancellable = newservice.isCancellable();
frame.setClosable(!serviceIsCancellable);
serviceCanMergeResults = newservice.canMergeResults();
+ rebuildButtonPanel();
+ }
+
+ private void rebuildButtonPanel()
+ {
+ if (buttonPanel != null)
+ {
+ buttonPanel.removeAll();
+ if (serviceIsCancellable)
+ {
+ buttonPanel.add(cancel);
+ frame.setClosable(false);
+ }
+ else
+ {
+ frame.setClosable(true);
+ }
+ }
}
/**
* DOCUMENT ME!
- *
- * @param title DOCUMENT ME!
- * @param info DOCUMENT ME!
- * @param width DOCUMENT ME!
- * @param height DOCUMENT ME!
+ *
+ * @param title
+ * DOCUMENT ME!
+ * @param info
+ * DOCUMENT ME!
+ * @param width
+ * DOCUMENT ME!
+ * @param height
+ * DOCUMENT ME!
*/
void init(String title, String info, int width, int height)
{
try
{
mt.waitForID(0);
- }
- catch (Exception ex)
+ } catch (Exception ex)
{
}
Thread thread = new Thread(ap);
thread.start();
+ final WebserviceInfo thisinfo = this;
+ frame
+ .addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+ {
+ public void internalFrameClosed(
+ javax.swing.event.InternalFrameEvent evt)
+ {
+ // System.out.println("Shutting down webservice client");
+ WSClientI service = thisinfo.getthisService();
+ if (service != null)
+ {
+ service.cancelJob();
+ }
+ };
+ });
+
}
/**
* DOCUMENT ME!
- *
- * @param status integer status from state constants
+ *
+ * @param status
+ * integer status from state constants
*/
public void setStatus(int status)
{
/**
* subjob status indicator
+ *
* @param jobpane
* @param status
*/
{
if (jobpane < 0 || jobpane >= jobPanes.size())
{
- throw new Error("setStatus called for non-existent job pane." + jobpane);
+ throw new Error("setStatus called for non-existent job pane."
+ + jobpane);
}
switch (status)
{
- case STATE_QUEUING:
- setProgressName(jobpane + " - QUEUED", jobpane);
- break;
- case STATE_RUNNING:
- setProgressName(jobpane + " - RUNNING", jobpane);
- break;
- case STATE_STOPPED_OK:
- setProgressName(jobpane + " - FINISHED", jobpane);
- break;
- case STATE_CANCELLED_OK:
- setProgressName(jobpane + " - CANCELLED", jobpane);
- break;
- case STATE_STOPPED_ERROR:
- setProgressName(jobpane + " - BROKEN", jobpane);
- break;
- case STATE_STOPPED_SERVERERROR:
- setProgressName(jobpane + " - ALERT", jobpane);
- break;
- default:
- setProgressName(jobpane + " - UNKNOWN STATE", jobpane);
+ case STATE_QUEUING:
+ setProgressName(jobpane + " - QUEUED", jobpane);
+ break;
+ case STATE_RUNNING:
+ setProgressName(jobpane + " - RUNNING", jobpane);
+ break;
+ case STATE_STOPPED_OK:
+ setProgressName(jobpane + " - FINISHED", jobpane);
+ break;
+ case STATE_CANCELLED_OK:
+ setProgressName(jobpane + " - CANCELLED", jobpane);
+ break;
+ case STATE_STOPPED_ERROR:
+ setProgressName(jobpane + " - BROKEN", jobpane);
+ break;
+ case STATE_STOPPED_SERVERERROR:
+ setProgressName(jobpane + " - ALERT", jobpane);
+ break;
+ default:
+ setProgressName(jobpane + " - UNKNOWN STATE", jobpane);
}
}
/**
* DOCUMENT ME!
- *
+ *
* @return DOCUMENT ME!
*/
public String getInfoText()
/**
* DOCUMENT ME!
- *
- * @param text DOCUMENT ME!
+ *
+ * @param text
+ * DOCUMENT ME!
*/
public void setInfoText(String text)
{
/**
* DOCUMENT ME!
- *
- * @param text DOCUMENT ME!
+ *
+ * @param text
+ * DOCUMENT ME!
*/
public void appendInfoText(String text)
{
/**
* DOCUMENT ME!
- *
+ *
* @return DOCUMENT ME!
*/
public String getProgressText(int which)
{
addJobPane();
}
- return ( (JTextArea) ( (JScrollPane) jobPanes.get(which)).getViewport().
- getComponent(0)).getText();
+ return ((JTextArea) ((JScrollPane) jobPanes.get(which)).getViewport()
+ .getComponent(0)).getText();
}
/**
* DOCUMENT ME!
- *
- * @param text DOCUMENT ME!
+ *
+ * @param text
+ * DOCUMENT ME!
*/
public void setProgressText(int which, String text)
{
{
addJobPane();
}
- ( (JTextArea) ( (JScrollPane) jobPanes.get(which)).getViewport().
- getComponent(0)).setText(text);
+ ((JTextArea) ((JScrollPane) jobPanes.get(which)).getViewport()
+ .getComponent(0)).setText(text);
}
/**
* DOCUMENT ME!
- *
- * @param text DOCUMENT ME!
+ *
+ * @param text
+ * DOCUMENT ME!
*/
public void appendProgressText(int which, String text)
{
{
addJobPane();
}
- ( (JTextArea) ( (JScrollPane) jobPanes.get(which)).getViewport().
- getComponent(0)).append(text);
+ ((JTextArea) ((JScrollPane) jobPanes.get(which)).getViewport()
+ .getComponent(0)).append(text);
}
/**
/**
* get the tab title for a subjob
- * @param which int
+ *
+ * @param which
+ * int
* @return String
*/
public String getProgressName(int which)
}
else
{
- return ( (JScrollPane) jobPanes.get(which)).getViewport().getComponent(0).
- getName();
+ return ((JScrollPane) jobPanes.get(which)).getViewport()
+ .getComponent(0).getName();
}
}
/**
* set the tab title for a subjob
- * @param name String
- * @param which int
+ *
+ * @param name
+ * String
+ * @param which
+ * int
*/
public void setProgressName(String name, int which)
{
/**
* Gui action for cancelling the current job, if possible.
- *
- * @param e DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
*/
protected void cancel_actionPerformed(ActionEvent e)
{
if (!serviceIsCancellable)
{
+ // JBPNote : TODO: We should REALLY just tell the WSClientI to cancel
+ // anyhow - it has to stop threads and clean up
+ // JBPNote : TODO: Instead of a warning, we should have an optional 'Are
+ // you sure?' prompt
JOptionPane.showInternalMessageDialog(Desktop.desktop,
- "This job cannot be cancelled.\nJust close the window.",
- "Cancel job",
- JOptionPane.WARNING_MESSAGE);
+ "This job cannot be cancelled.\nJust close the window.",
+ "Cancel job", JOptionPane.WARNING_MESSAGE);
}
else
{
}
/**
- * called when job has finished but no result objects can be passed back to user
+ * called when job has finished but no result objects can be passed back to
+ * user
*/
public void setFinishedNoResults()
{
validate();
}
- class AnimatedPanel
- extends JPanel implements Runnable
+ class AnimatedPanel extends JPanel implements Runnable
{
long startTime = 0;
+
BufferedImage offscreen;
public void run()
{
Thread.sleep(50);
- int units = (int) ( (System.currentTimeMillis() - startTime) /
- 10f);
+ int units = (int) ((System.currentTimeMillis() - startTime) / 10f);
angle += units;
angle %= 360;
startTime = System.currentTimeMillis();
}
repaint();
- }
- catch (Exception ex)
+ } catch (Exception ex)
{
}
}
void drawPanel()
{
if (offscreen == null || offscreen.getWidth(this) != getWidth()
- || offscreen.getHeight(this) != getHeight())
+ || offscreen.getHeight(this) != getHeight())
{
offscreen = new BufferedImage(getWidth(), getHeight(),
- BufferedImage.TYPE_INT_ARGB);
+ BufferedImage.TYPE_INT_ARGB);
}
Graphics2D g = (Graphics2D) offscreen.getGraphics();
switch (currentStatus)
{
- case STATE_QUEUING:
- g.drawString(title.concat(" - queuing"), 60, 30);
+ case STATE_QUEUING:
+ g.drawString(title.concat(" - queuing"), 60, 30);
- break;
+ break;
- case STATE_RUNNING:
- g.drawString(title.concat(" - running"), 60, 30);
+ case STATE_RUNNING:
+ g.drawString(title.concat(" - running"), 60, 30);
- break;
+ break;
- case STATE_STOPPED_OK:
- g.drawString(title.concat(" - complete"), 60, 30);
+ case STATE_STOPPED_OK:
+ g.drawString(title.concat(" - complete"), 60, 30);
- break;
+ break;
- case STATE_CANCELLED_OK:
- g.drawString(title.concat(" - job cancelled!"), 60, 30);
+ case STATE_CANCELLED_OK:
+ g.drawString(title.concat(" - job cancelled!"), 60, 30);
- break;
+ break;
- case STATE_STOPPED_ERROR:
- g.drawString(title.concat(" - job error!"), 60, 30);
+ case STATE_STOPPED_ERROR:
+ g.drawString(title.concat(" - job error!"), 60, 30);
- break;
+ break;
- case STATE_STOPPED_SERVERERROR:
- g.drawString(title.concat(" - Server Error! (try later)"),
- 60,
- 30);
+ case STATE_STOPPED_SERVERERROR:
+ g.drawString(title.concat(" - Server Error! (try later)"), 60, 30);
- break;
+ break;
}
if (image != null)
{
g.rotate(Math.toRadians(angle), 28, 28);
g.drawImage(image, 10, 10, this);
- g.rotate( -Math.toRadians(angle), 28, 28);
+ g.rotate(-Math.toRadians(angle), 28, 28);
}
}
};
discoverThread.start();
}
+ /**
+ * binding service abstract name to handler class
+ */
+ private static Hashtable serviceClientBindings;
+ public static WSClient getServiceClient(ServiceHandle sh)
+ {
+ if (serviceClientBindings==null)
+ {
+ // get a list from Config or create below
+ serviceClientBindings = new Hashtable();
+ serviceClientBindings.put("MsaWS",new MsaWSClient());
+ serviceClientBindings.put("SecStrPred",new JPredClient());
+ serviceClientBindings.put("SeqSearch",new SeqSearchWSClient());
+ }
+ WSClient instance = (WSClient) serviceClientBindings.get(sh.getAbstractName());
+ if (instance==null)
+ {
+ System.err.println("WARNING - POSSIBLE IMPLEMENTATION ERROR - cannot find WSClient implementation for "+sh.getAbstractName());
+ } else
+ {
+ instance.serviceHandle = sh;
+ }
+ return instance;
+ }
+ /**
+ * notes on discovery service
+ * 1. need to allow multiple discovery source urls.
+ * 2. user interface to add/control list of urls in preferences
+ * notes on wsclient discovery
+ * 1. need a classpath property with list of additional plugin directories
+ * 2. optional config to cite specific bindings between class name and Abstract service name.
+ * 3. precedence for automatic discovery by using getAbstractName for WSClient - user added plugins override default plugins ?
+ * notes on wsclient gui
+ * code for gui attachment now moved to wsclient implementation. Needs more abstraction but approach seems to work.
+ * is it possible to 'generalise' the data retrieval calls further ? current methods are very specific (gatherForMSA or gatherForSeqOrMsaSecStrPred), new methods for conservation (group or alignment), treecalc (aligned profile), seqannot (sequences selected from dataset, annotation back to dataset).
+ *
+ */
}
*/
package jalview.ws;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
startJPredClient(title, seq, null);
}
+ public JPredClient()
+ {
+
+ super();
+ // add a class reference to the list
+ }
+
private void startJPredClient(String title, SequenceI[] msf,
AlignFrame parentFrame)
{
return server;
}
+
+ public void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle sh, final AlignFrame af)
+ {
+ final JMenuItem method = new JMenuItem(sh.getName());
+ method.setToolTipText(sh.getEndpointURL());
+ method.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
+ if (msa.getSequences().length == 1)
+ {
+ // Single Sequence prediction
+ new jalview.ws.JPredClient(sh, af.getTitle(), false, msa, af, true);
+ }
+ else
+ {
+ if (msa.getSequences().length > 1)
+ {
+ // Sequence profile based prediction
+ new jalview.ws.JPredClient(sh,
+ af.getTitle(), true, msa, af, true);
+ }
+ }
+ }
+ });
+ wsmenu.add(method);
+ }
}
*/
package jalview.ws;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
import javax.swing.*;
import ext.vamsas.*;
}
+ public MsaWSClient()
+ {
+ super();
+ // add a class reference to the list
+ }
+
private void startMsaWSClient(String altitle, AlignmentView msa,
boolean submitGaps, boolean preserveOrder,
Alignment seqdataset)
{
return "Multiple Sequence Alignment";
}
+ /**
+ * look at ourselves and work out if we are a service that can take a profile and align to it
+ * @return true if we can send gapped sequences to the alignment service
+ */
+ private boolean canSubmitGaps()
+ {
+ // TODO: query service or extract service handle props to check if we can realign
+ return (WebServiceName.indexOf("lustal") > -1); // cheat!
+ }
+ public void attachWSMenuEntry(JMenu msawsmenu, final ServiceHandle serviceHandle, final AlignFrame alignFrame)
+ {
+ setWebService(serviceHandle, true); // headless
+ JMenuItem method = new JMenuItem(WebServiceName);
+ method.setToolTipText(WsURL);
+ method.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentView msa = alignFrame.gatherSequencesForAlignment();
+ new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(), msa,
+ false, true,
+ alignFrame.getViewport().getAlignment().getDataset(),
+ alignFrame);
+
+ }
+
+ });
+ msawsmenu.add(method);
+ if (canSubmitGaps())
+ {
+ // We know that ClustalWS can accept partial alignments for refinement.
+ final JMenuItem methodR = new JMenuItem(serviceHandle.getName()+" Realign");
+ methodR.setToolTipText(WsURL);
+ methodR.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentView msa = alignFrame.gatherSequencesForAlignment();
+ new jalview.ws.MsaWSClient(serviceHandle, alignFrame.getTitle(), msa,
+ true, true,
+ alignFrame.getViewport().getAlignment().getDataset(),
+ alignFrame);
+
+ }
+
+ });
+ msawsmenu.add(methodR);
+
+ }
+
+ }
}
--- /dev/null
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+package jalview.ws;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.swing.*;
+
+import ext.vamsas.*;
+import jalview.datamodel.*;
+import jalview.gui.*;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public class SeqSearchWSClient
+ extends WSClient
+{
+ /**
+ * server is a WSDL2Java generated stub for an archetypal MsaWSI service.
+ */
+ ext.vamsas.SeqSearchI server;
+ AlignFrame alignFrame;
+
+ /**
+ * Creates a new MsaWSClient object that uses a service
+ * given by an externally retrieved ServiceHandle
+ *
+ * @param sh service handle of type AbstractName(MsaWS)
+ * @param altitle DOCUMENT ME!
+ * @param msa DOCUMENT ME!
+ * @param submitGaps DOCUMENT ME!
+ * @param preserveOrder DOCUMENT ME!
+ */
+
+ public SeqSearchWSClient(ext.vamsas.ServiceHandle sh, String altitle,
+ jalview.datamodel.AlignmentView msa, String db,
+ Alignment seqdataset,
+ AlignFrame _alignFrame)
+ {
+ super();
+ alignFrame = _alignFrame;
+ // can generalise the two errors below for metadata mapping from interface name to service client name
+ if (!sh.getAbstractName().equals(this.getServiceActionKey()))
+ {
+ JOptionPane.showMessageDialog(Desktop.desktop,
+ "The Service called \n" + sh.getName() +
+ "\nis not a \nSequence Search Service !",
+ "Internal Jalview Error",
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+
+ if ( (wsInfo = setWebService(sh)) == null)
+ {
+ JOptionPane.showMessageDialog(Desktop.desktop,
+ "The Sequence Search Service named " +
+ sh.getName() +
+ " is unknown", "Internal Jalview Error",
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+ startSeqSearchClient(altitle, msa, db, seqdataset);
+
+ }
+ /**
+ * non-process web service interaction - use this for calling HEADLESS synchronous service methods
+ * @param sh
+ */
+ public SeqSearchWSClient(ServiceHandle sh)
+ {
+ setWebService(sh, true);
+ }
+
+ public SeqSearchWSClient()
+ {
+
+ super();
+ // add a class reference to the list
+ }
+ private void startSeqSearchClient(String altitle, AlignmentView msa,
+ String db,
+ Alignment seqdataset)
+ {
+ if (!locateWebService())
+ {
+ return;
+ }
+ String visdb = (db==null || db == "") ? "default" : db; // need a visible name for a sequence db
+ boolean profileSearch = msa.getSequences().length>2 ? true : false;
+ // single sequence or profile from alignment view
+ wsInfo.setProgressText( "Searching "+visdb+(!profileSearch ? " with sequence "+msa.getSequences()[0].getRefSeq().getName()
+ : " with profile") +
+ " from " + altitle + "\nJob details\n");
+
+ String jobtitle = WebServiceName+((WebServiceName.indexOf("earch")>-1) ? " " : " search ")+" of "+visdb+(!profileSearch ? " with sequence "+msa.getSequences()[0].getRefSeq().getName()
+ : " with profile") +
+ " from " + altitle;
+ SeqSearchWSThread ssthread = new SeqSearchWSThread(server, WsURL, wsInfo, alignFrame,
+ WebServiceName,
+ jobtitle,
+ msa,
+ db,
+ seqdataset);
+ wsInfo.setthisService(ssthread);
+ ssthread.start();
+ }
+
+ /**
+ * Initializes the server field with a valid service implementation.
+ *
+ * @return true if service was located.
+ */
+ private boolean locateWebService()
+ {
+ // this can be abstracted using reflection
+ // TODO: MuscleWS transmuted to generic MsaWS client
+ SeqSearchServiceLocator loc = new SeqSearchServiceLocator(); // Default
+
+ try
+ {
+ this.server = (SeqSearchI) loc.getSeqSearchService(new java.net.URL(WsURL));
+ ( (SeqSearchServiceSoapBindingStub)this.server).setTimeout(60000); // One minute timeout
+ }
+ catch (Exception ex)
+ {
+ wsInfo.setProgressText("Serious! " + WebServiceName +
+ " Service location failed\nfor URL :" + WsURL +
+ "\n" +
+ ex.getMessage());
+ wsInfo.setStatus(WebserviceInfo.ERROR);
+ ex.printStackTrace();
+
+ return false;
+ }
+
+ loc.getEngine().setOption("axis", "1");
+
+ return true;
+ }
+
+ protected String getServiceActionKey()
+ {
+ return "SeqSearch";
+ }
+
+ protected String getServiceActionDescription()
+ {
+ return "Sequence Database Search";
+ }
+ // simple caching of db parameters for each service endpoint
+ private static Hashtable dbParamsForEndpoint;
+ static {
+ dbParamsForEndpoint = new Hashtable();
+ }
+ public String[] getSupportedDatabases() throws Exception
+ {
+
+ // check that we haven't already been to this service endpoint
+ if (dbParamsForEndpoint.containsKey(WsURL))
+ {
+ return (String[]) dbParamsForEndpoint.get(WsURL);
+ }
+ if (!locateWebService())
+ {
+ throw new Exception("Cannot contact service endpoint at "+WsURL);
+ }
+ String database = server.getDatabase();
+ if (database==null)
+ {
+ dbParamsForEndpoint.put(WsURL, new String[] {});
+ return null;
+ }
+ StringTokenizer en = new StringTokenizer(database.trim(), ",| ");
+ String[] dbs = new String[en.countTokens()];
+ for (int i=0; i<dbs.length; i++)
+ {
+ dbs[i++] = en.nextToken().trim();
+ }
+ dbParamsForEndpoint.put(WsURL, dbs);
+ return dbs;
+ }
+ public void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle sh,
+ final AlignFrame af)
+ {
+ // look for existing database service submenus on wsmenu
+ Hashtable dbsrchs = new Hashtable();
+ Vector newdbsrch = new Vector();
+ Component entries[] = wsmenu.getComponents();
+ for (int i = 0; entries!=null && i<entries.length; i++)
+ {
+ if (entries[i] instanceof JMenu)
+ {
+ dbsrchs.put(entries[i].getName(), entries[i]);
+ }
+ }
+ JMenu defmenu=(JMenu) dbsrchs.get("Default Database");
+ if (defmenu==null)
+ {
+ dbsrchs.put("Default Database", defmenu = new JMenu("Default Database"));
+ newdbsrch.addElement(defmenu);
+ }
+
+ String dbs[] = null;
+ try {
+ dbs = new jalview.ws.SeqSearchWSClient(sh).getSupportedDatabases();
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log.warn("Database list request failed, so disabling SeqSearch Service client "+sh.getName()+" at "+sh.getEndpointURL(), e);
+ return;
+ }
+ JMenuItem method;
+ // do default entry
+ defmenu.add(method = new JMenuItem(sh.getName()));
+ method.setToolTipText(sh.getEndpointURL());
+ method.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // use same input gatherer as for secondary structure prediction
+ // we could actually parameterise the gatherer method here...
+ AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
+ new jalview.ws.SeqSearchWSClient(sh, af.getTitle(), msa, null,
+ af.getViewport().getAlignment().getDataset(),
+ af);
+ }
+ }
+ );
+ // add entry for each database the service supports
+ for (int db=0; dbs!=null && db<dbs.length; db++)
+ {
+ JMenu dbmenu = (JMenu) dbsrchs.get(dbs[db]);
+ if (dbmenu==null)
+ {
+ dbsrchs.put(dbs[db], dbmenu = new JMenu(dbs[db]));
+ newdbsrch.addElement(dbmenu);
+ }
+ // add the client handler code for this service
+ dbmenu.add(method = new JMenuItem(sh.getName()));
+ method.setToolTipText(sh.getEndpointURL());
+ final String searchdb = dbs[db];
+ method.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ AlignmentView msa = af.gatherSeqOrMsaForSecStrPrediction();
+ new jalview.ws.SeqSearchWSClient(sh, af.getTitle(), msa, searchdb,
+ af.getViewport().getAlignment().getDataset(),
+ af);
+ }
+ });
+ }
+ // add the databases onto the seqsearch menu
+ Enumeration e = newdbsrch.elements();
+ while (e.hasMoreElements())
+ {
+ Object el = e.nextElement();
+ if (el instanceof JMenu)
+ {
+ wsmenu.add((JMenu) el);
+ } else {
+ wsmenu.add((JMenuItem) el);
+ }
+ }
+
+ }
+}
--- /dev/null
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+package jalview.ws;
+
+import java.util.*;
+
+import jalview.analysis.*;
+import jalview.bin.*;
+import jalview.datamodel.*;
+import jalview.gui.*;
+import jalview.io.NewickFile;
+import vamsas.objects.simple.MsaResult;
+import vamsas.objects.simple.SeqSearchResult;
+
+/**
+ * <p>
+ * Title:
+ * </p>
+ *
+ * <p>
+ * Description:
+ * </p>
+ *
+ * <p>
+ * Copyright: Copyright (c) 2004
+ * </p>
+ *
+ * <p>
+ * Company: Dundee University
+ * </p>
+ *
+ * @author not attributable
+ * @version 1.0
+ */
+class SeqSearchWSThread
+ extends WSThread implements WSClientI
+{
+ String dbs=null;
+ boolean profile=false;
+
+ class SeqSearchWSJob
+ extends WSThread.WSJob
+ {
+ // hold special input for this
+ vamsas.objects.simple.SequenceSet seqs = new vamsas.objects.simple.
+ SequenceSet();
+
+ /**
+ * MsaWSJob
+ *
+ * @param jobNum
+ * int
+ * @param jobId
+ * String
+ */
+ public SeqSearchWSJob(int jobNum, SequenceI[] inSeqs)
+ {
+ this.jobnum = jobNum;
+ if (!prepareInput(inSeqs, 2))
+ {
+ submitted = true;
+ subjobComplete = true;
+ result = new MsaResult();
+ result.setFinished(true);
+ result.setStatus("Job never ran - input returned to user.");
+ }
+
+ }
+
+ Hashtable SeqNames = new Hashtable();
+ Vector emptySeqs = new Vector();
+ /**
+ * prepare input sequences for service
+ * @param seqs jalview sequences to be prepared
+ * @param minlen minimum number of residues required for this MsaWS service
+ * @return true if seqs contains sequences to be submitted to service.
+ */
+ private boolean prepareInput(SequenceI[] seqs, int minlen)
+ {
+ int nseqs = 0;
+ if (minlen < 0)
+ {
+ throw new Error("Implementation error: minlen must be zero or more.");
+ }
+ for (int i = 0; i < seqs.length; i++)
+ {
+ if (seqs[i].getEnd() - seqs[i].getStart() > minlen - 1)
+ {
+ nseqs++;
+ }
+ }
+ boolean valid = nseqs >= 1; // need at least one sequence for valid input TODO: generalise
+ vamsas.objects.simple.Sequence[] seqarray =
+ (valid)
+ ? new vamsas.objects.simple.Sequence[nseqs]
+ : null;
+ boolean submitGaps = (nseqs==1) ? false : true; // profile is submitted with gaps
+ for (int i = 0, n = 0; i < seqs.length; i++)
+ {
+
+ String newname = jalview.analysis.SeqsetUtils.unique_name(i); // same
+ // for
+ // any
+ // subjob
+ SeqNames.put(newname, jalview.analysis.SeqsetUtils
+ .SeqCharacterHash(seqs[i]));
+ if (valid && seqs[i].getEnd() - seqs[i].getStart() > minlen - 1)
+ {
+ seqarray[n] = new vamsas.objects.simple.Sequence();
+ seqarray[n].setId(newname);
+ seqarray[n++].setSeq( (submitGaps) ? seqs[i].getSequenceAsString()
+ : AlignSeq.extractGaps(
+ jalview.util.Comparison.GapChars, seqs[i]
+ .getSequenceAsString()));
+ }
+ else
+ {
+ String empty = null;
+ if (seqs[i].getEnd() >= seqs[i].getStart())
+ {
+ empty = (submitGaps) ? seqs[i].getSequenceAsString()
+ : AlignSeq.extractGaps(
+ jalview.util.Comparison.GapChars, seqs[i]
+ .getSequenceAsString());
+ }
+ emptySeqs.add(new String[]
+ {newname, empty});
+ }
+ }
+ if (submitGaps)
+ {
+ // almost certainly have to remove gapped columns here
+ }
+ this.seqs = new vamsas.objects.simple.SequenceSet();
+ this.seqs.setSeqs(seqarray);
+ return valid;
+ }
+
+ /**
+ *
+ * @return true if getAlignment will return a valid alignment result.
+ */
+ public boolean hasResults()
+ {
+ if (subjobComplete && result != null && result.isFinished()
+ && ( (SeqSearchResult) result).getAlignment() != null &&
+ ( (SeqSearchResult) result).getAlignment().getSeqs() != null)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * return sequence search results for display
+ * @return null or { Alignment(+features and annotation), NewickFile)}
+ */
+ public Object[] getAlignment(Alignment dataset, Hashtable featureColours)
+ {
+
+ if (result != null && result.isFinished())
+ {
+ SequenceI[] alseqs = null;
+ //char alseq_gapchar = '-';
+ //int alseq_l = 0;
+ if ( ( (SeqSearchResult) result).getAlignment() != null)
+ {
+ alseqs = getVamsasAlignment( ( (SeqSearchResult) result).getAlignment());
+ //alseq_gapchar = ( (SeqSearchResult) result).getAlignment().getGapchar().charAt(0);
+ //alseq_l = alseqs.length;
+ }
+ /**
+ * what has to be done. 1 - annotate returned alignment with annotation file and sequence features file, and associate any tree-nodes.
+ * 2. connect alignment back to any associated dataset: 2.a. deuniquify recovers sequence information - but additionally,
+ * relocations must be made from the returned aligned sequence back to the dataset.
+ */
+ // construct annotated alignment as it would be done by the jalview applet
+ jalview.datamodel.Alignment al = new Alignment(alseqs);
+ // al.setDataset(dataset);
+ // make dataset
+ String inFile=null;
+ try {
+ inFile = ((SeqSearchResult) result).getAnnotation();
+ if (inFile!=null && inFile.length()>0)
+ {
+ new jalview.io.AnnotationFile().readAnnotationFile(al, inFile, jalview.io.AppletFormatAdapter.PASTE);
+ }
+ }
+ catch (Exception e)
+ {
+ System.err.println("Failed to parse the annotation file associated with the alignment.");
+ System.err.println(">>>EOF"+inFile+"\n<<<EOF\n");
+ e.printStackTrace(System.err);
+ }
+
+ try {
+ inFile = ((SeqSearchResult) result).getFeatures();
+ if (inFile!=null && inFile.length()>0)
+ {
+ jalview.io.FeaturesFile ff = new jalview.io.FeaturesFile(inFile, jalview.io.AppletFormatAdapter.PASTE);
+ ff.parse(al, featureColours, false);
+ }
+ }
+ catch (Exception e)
+ {
+ System.err.println("Failed to parse the Features file associated with the alignment.");
+ System.err.println(">>>EOF"+inFile+"\n<<<EOF\n");
+ e.printStackTrace(System.err);
+ }
+ jalview.io.NewickFile nf=null;
+ try {
+ inFile = ((SeqSearchResult) result).getNewickTree();
+ if (inFile!=null && inFile.length()>0)
+ {
+ nf = new jalview.io.NewickFile(inFile, jalview.io.AppletFormatAdapter.PASTE);
+ if (!nf.isValid()) {
+ nf.close();
+ nf = null;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ System.err.println("Failed to parse the treeFile associated with the alignment.");
+ System.err.println(">>>EOF"+inFile+"\n<<<EOF\n");
+ e.printStackTrace(System.err);
+ }
+
+ /* TODO: housekeeping w.r.t. recovery of dataset and annotation references for input sequences, and then dataset sequence creation for new sequences retrieved from service
+ * // finally, attempt to de-uniquify to recover input sequence identity, and try to map back onto dataset
+ Note: this
+ jalview.analysis.SeqsetUtils.deuniquify(SeqNames, alseqs, true);
+ will NOT WORK - the returned alignment may contain multiple versions of the input sequence, each being a subsequence of the original.
+ deuniquify also removes existing annotation and features added in the previous step...
+ al.setDataset(dataset);
+ // add in new sequences retrieved from sequence search which are not already in dataset.
+ // trigger a 'fetchDBids' to annotate sequences with database ids...
+ */
+
+ return new Object[]
+ {
+ al, nf};
+ }
+ return null;
+ }
+
+ /**
+ * mark subjob as cancelled and set result object appropriatly
+ */
+ void cancel()
+ {
+ cancelled = true;
+ subjobComplete = true;
+ result = null;
+ }
+
+ /**
+ *
+ * @return boolean true if job can be submitted.
+ */
+ boolean hasValidInput()
+ {
+ if (seqs.getSeqs() != null)
+ {
+ return true;
+ }
+ return false;
+ }
+ }
+
+ String alTitle; // name which will be used to form new alignment window.
+ Alignment dataset; // dataset to which the new alignment will be
+
+ // associated.
+
+ ext.vamsas.SeqSearchI server = null;
+
+ private String dbArg;
+ /**
+ * set basic options for this (group) of Msa jobs
+ *
+ * @param subgaps
+ * boolean
+ * @param presorder
+ * boolean
+ */
+ SeqSearchWSThread(ext.vamsas.SeqSearchI server, String wsUrl,
+ WebserviceInfo wsinfo, jalview.gui.AlignFrame alFrame,
+ AlignmentView alview,
+ String wsname, String db)
+ {
+ super(alFrame, wsinfo, alview, wsname, wsUrl);
+ this.server = server;
+ this.dbArg = db;
+ }
+
+ /**
+ * create one or more Msa jobs to align visible seuqences in _msa
+ *
+ * @param title
+ * String
+ * @param _msa
+ * AlignmentView
+ * @param subgaps
+ * boolean
+ * @param presorder
+ * boolean
+ * @param seqset
+ * Alignment
+ */
+ SeqSearchWSThread(ext.vamsas.SeqSearchI server, String wsUrl,
+ WebserviceInfo wsinfo, jalview.gui.AlignFrame alFrame,
+ String wsname, String title, AlignmentView _msa, String db, Alignment seqset)
+ {
+ this(server, wsUrl, wsinfo, alFrame, _msa, wsname, db);
+ OutputHeader = wsInfo.getProgressText();
+ alTitle = title;
+ dataset = seqset;
+
+ SequenceI[][] conmsa = _msa.getVisibleContigs('-');
+ if (conmsa != null)
+ {
+ int njobs = conmsa.length;
+ jobs = new SeqSearchWSJob[njobs];
+ for (int j = 0; j < njobs; j++)
+ {
+ if (j != 0)
+ {
+ jobs[j] = new SeqSearchWSJob(wsinfo.addJobPane(), conmsa[j]);
+ }
+ else
+ {
+ jobs[j] = new SeqSearchWSJob(0, conmsa[j]);
+ }
+ if (njobs > 0)
+ {
+ wsinfo.setProgressName("region " + jobs[j].jobnum, jobs[j].jobnum);
+ }
+ wsinfo.setProgressText(jobs[j].jobnum, OutputHeader);
+ }
+ }
+ }
+
+ public boolean isCancellable()
+ {
+ return true;
+ }
+
+ public void cancelJob()
+ {
+ if (!jobComplete && jobs != null)
+ {
+ boolean cancelled = true;
+ for (int job = 0; job < jobs.length; job++)
+ {
+ if (jobs[job].submitted && !jobs[job].subjobComplete)
+ {
+ String cancelledMessage = "";
+ try
+ {
+ vamsas.objects.simple.WsJobId cancelledJob = server
+ .cancel(jobs[job].jobId);
+ if (cancelledJob.getStatus() == 2)
+ {
+ // CANCELLED_JOB
+ cancelledMessage = "Job cancelled.";
+ ( (SeqSearchWSJob) jobs[job]).cancel();
+ wsInfo.setStatus(jobs[job].jobnum,
+ WebserviceInfo.STATE_CANCELLED_OK);
+ }
+ else if (cancelledJob.getStatus() == 3)
+ {
+ // VALID UNSTOPPABLE JOB
+ cancelledMessage +=
+ "Server cannot cancel this job. just close the window.\n";
+ cancelled = false;
+ // wsInfo.setStatus(jobs[job].jobnum,
+ // WebserviceInfo.STATE_RUNNING);
+ }
+
+ if (cancelledJob.getJobId() != null)
+ {
+ cancelledMessage += ("[" + cancelledJob.getJobId() + "]");
+ }
+
+ cancelledMessage += "\n";
+ }
+ catch (Exception exc)
+ {
+ cancelledMessage +=
+ ("\nProblems cancelling the job : Exception received...\n"
+ + exc + "\n");
+ Cache.log.warn("Exception whilst cancelling " + jobs[job].jobId,
+ exc);
+ }
+ wsInfo.setProgressText(jobs[job].jobnum, OutputHeader
+ + cancelledMessage + "\n");
+ }
+ }
+ if (cancelled)
+ {
+ wsInfo.setStatus(WebserviceInfo.STATE_CANCELLED_OK);
+ jobComplete = true;
+ }
+ this.interrupt(); // kick thread to update job states.
+ }
+ else
+ {
+ if (!jobComplete)
+ {
+ wsInfo
+ .setProgressText(OutputHeader
+ + "Server cannot cancel this job because it has not been submitted properly. just close the window.\n");
+ }
+ }
+ }
+
+ void pollJob(WSJob job)
+ throws Exception
+ {
+ ( (SeqSearchWSJob) job).result = server.getResult( ( (SeqSearchWSJob) job).jobId);
+ }
+
+ void StartJob(WSJob job)
+ {
+ if (! (job instanceof SeqSearchWSJob))
+ {
+ throw new Error("StartJob(MsaWSJob) called on a WSJobInstance " +
+ job.getClass());
+ }
+ SeqSearchWSJob j = (SeqSearchWSJob) job;
+ if (j.submitted)
+ {
+ if (Cache.log.isDebugEnabled())
+ {
+ Cache.log.debug("Tried to submit an already submitted job " + j.jobId);
+ }
+ return;
+ }
+ if (j.seqs.getSeqs() == null)
+ {
+ // special case - selection consisted entirely of empty sequences...
+ j.submitted = true;
+ j.result = new MsaResult();
+ j.result.setFinished(true);
+ j.result.setStatus("Empty Alignment Job");
+ ( (MsaResult) j.result).setMsa(null);
+ }
+ try
+ {
+ vamsas.objects.simple.WsJobId jobsubmit = server.search(j.seqs.getSeqs()[0], dbArg);
+
+ if ( (jobsubmit != null) && (jobsubmit.getStatus() == 1))
+ {
+ j.jobId = jobsubmit.getJobId();
+ j.submitted = true;
+ j.subjobComplete = false;
+ // System.out.println(WsURL + " Job Id '" + jobId + "'");
+ }
+ else
+ {
+ if (jobsubmit == null)
+ {
+ throw new Exception(
+ "Server at "
+ + WsUrl
+ +
+ " returned null object, it probably cannot be contacted. Try again later ?");
+ }
+
+ throw new Exception(jobsubmit.getJobId());
+ }
+ }
+ catch (Exception e)
+ {
+ // TODO: JBPNote catch timeout or other fault types explicitly
+ // For unexpected errors
+ System.err
+ .println(WebServiceName
+ + "Client: Failed to submit the sequences for alignment (probably a server side problem)\n"
+ + "When contacting Server:" + WsUrl + "\n"
+ + e.toString() + "\n");
+ j.allowedServerExceptions = 0;
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
+ wsInfo.setStatus(j.jobnum, WebserviceInfo.STATE_STOPPED_SERVERERROR);
+ wsInfo
+ .appendProgressText(
+ j.jobnum,
+ "Failed to submit sequences for alignment.\n"
+ + "It is most likely that there is a problem with the server.\n"
+ + "Just close the window\n");
+
+ // e.printStackTrace(); // TODO: JBPNote DEBUG
+ }
+ }
+
+ private jalview.datamodel.Sequence[] getVamsasAlignment(
+ vamsas.objects.simple.Alignment valign)
+ {
+ vamsas.objects.simple.Sequence[] seqs = valign.getSeqs().getSeqs();
+ jalview.datamodel.Sequence[] msa = new jalview.datamodel.Sequence[seqs.
+ length];
+
+ for (int i = 0, j = seqs.length; i < j; i++)
+ {
+ msa[i] = new jalview.datamodel.Sequence(seqs[i].getId(), seqs[i]
+ .getSeq());
+ }
+
+ return msa;
+ }
+
+ void parseResult()
+ {
+ int results = 0; // number of result sets received
+ JobStateSummary finalState = new JobStateSummary();
+ try
+ {
+ for (int j = 0; j < jobs.length; j++)
+ {
+ finalState.updateJobPanelState(wsInfo, OutputHeader, jobs[j]);
+ if (jobs[j].submitted && jobs[j].subjobComplete && jobs[j].hasResults())
+ {
+ results++;
+ vamsas.objects.simple.Alignment valign = ( (SeqSearchResult) jobs[j].result).
+ getAlignment();
+ if (valign != null)
+ {
+ wsInfo.appendProgressText(jobs[j].jobnum,
+ "\nAlignment Object Method Notes\n");
+ String[] lines = valign.getMethod();
+ for (int line = 0; line < lines.length; line++)
+ {
+ wsInfo.appendProgressText(jobs[j].jobnum, lines[line] + "\n");
+ }
+ // JBPNote The returned files from a webservice could be
+ // hidden behind icons in the monitor window that,
+ // when clicked, pop up their corresponding data
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+
+ Cache.log.error("Unexpected exception when processing results for " +
+ alTitle, ex);
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
+ }
+ if (results > 0)
+ {
+ wsInfo.showResultsNewFrame
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(
+ java.awt.event.ActionEvent evt)
+ {
+ displayResults(true);
+ }
+ });
+ wsInfo.mergeResults
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(
+ java.awt.event.ActionEvent evt)
+ {
+ displayResults(false);
+ }
+ });
+ wsInfo.setResultsReady();
+ }
+ else
+ {
+ wsInfo.setFinishedNoResults();
+ }
+ }
+
+ void displayResults(boolean newFrame)
+ {
+ if (!newFrame)
+ {
+ System.err.println("MERGE WITH OLD FRAME NOT IMPLEMENTED");
+ return;
+ }
+ // each subjob is an independent alignment for the moment
+ //Alignment al[] = new Alignment[jobs.length];
+ //NewickFile nf[] = new NewickFile[jobs.length];
+ for (int j = 0; j < jobs.length; j++)
+ {
+ Hashtable featureColours = new Hashtable();
+ Alignment al=null;
+ NewickFile nf = null;
+ if (jobs[j].hasResults())
+ {
+ Object[] res = ( (SeqSearchWSJob) jobs[j]).getAlignment(dataset, featureColours);
+ if (res==null) { continue; };
+ al = (Alignment) res[0];
+ nf = (NewickFile) res[1];
+ }
+ else
+ {
+ al = null;
+ nf = null;
+ continue;
+ }
+ /*
+ * We can't map new alignment back with insertions from input's hidden regions until dataset mapping is sorted out...
+ * but basically it goes like this:
+ 1. Merge each domain hit back onto the visible segments in the same way as a Jnet prediction is mapped back
+
+ Object[] newview = input.getUpdatedView(results, orders, getGapChar());
+ // trash references to original result data
+ for (int j = 0; j < jobs.length; j++)
+ {
+ results[j] = null;
+ orders[j] = null;
+ }
+ SequenceI[] alignment = (SequenceI[]) newview[0];
+ ColumnSelection columnselection = (ColumnSelection) newview[1];
+ Alignment al = new Alignment(alignment);
+
+ if (dataset != null)
+ {
+ al.setDataset(dataset);
+ }
+
+ propagateDatasetMappings(al);
+ }
+ */
+
+ AlignFrame af = new AlignFrame(al,// columnselection,
+ AlignFrame.DEFAULT_WIDTH,
+ AlignFrame.DEFAULT_HEIGHT);
+ if (nf!=null)
+ {
+ af.ShowNewickTree(nf, "Tree from "+this.alTitle);
+ }
+ // initialise with same renderer settings as in parent alignframe.
+ af.getFeatureRenderer().transferSettings(
+ this.featureSettings);
+ Desktop.addInternalFrame(af, alTitle,
+ AlignFrame.DEFAULT_WIDTH,
+ AlignFrame.DEFAULT_HEIGHT);
+ }
+ }
+
+ public boolean canMergeResults()
+ {
+ return false;
+ }
+}
*/
package jalview.ws;
+import javax.swing.JMenu;
+
import ext.vamsas.*;
import jalview.gui.*;
-public class WSClient
+public abstract class WSClient
{
/**
* WSClient holds the basic attributes that are displayed to the user
{
return setWebService(sh, false);
}
+ /**
+ * original service handle that this client was derived from
+ */
+ ServiceHandle serviceHandle=null;
/**
* initialise WSClient service information attributes from the service handle
* @param sh
}
return wsInfo;
}
+ /**
+ * convenience method to pass the serviceHandle reference that instantiated this
+ * service on to the menu entry constructor
+ * @param wsmenu the menu to which any menu entries/sub menus are to be attached
+ * @param alignFrame the alignFrame instance that provides input data for the service
+ */
+ public void attachWSMenuEntry(JMenu wsmenu, final AlignFrame alignFrame)
+ {
+ if (serviceHandle==null)
+ {
+ throw new Error("IMPLEMENTATION ERROR: cannot attach WS Menu Entry without service handle reference!");
+ }
+ attachWSMenuEntry(wsmenu, serviceHandle, alignFrame);
+ }
+ /**
+ * method implemented by each WSClient implementation that creates menu entries that enact their service
+ * using data from alignFrame.
+ * @param wsmenu where new menu entries (and submenus) are to be attached
+ * @param serviceHandle the serviceHandle document for the service that entries are created for
+ * @param alignFrame
+ */
+ public abstract void attachWSMenuEntry(JMenu wsmenu, final ServiceHandle serviceHandle, final AlignFrame alignFrame);
}
public interface WSClientI
{
/**
- * basic interface supported by web service clients
+ * basic interface supported by web service clients used by
+ * jalview.gui.WebserviceInfo to discover GUI properties and
+ * pass events back to the client.
+ *
*/
/**
- *
- * @return boolean true if job is cancellable
+ * TODO: change this to be a WS Job Panel GUI 'attribute'
+ * @return boolean true if a job cancel button should be shown
*/
boolean isCancellable();
/**
+ * TODO: change this to be a WS Job Panel GUI 'attribute'
* @return boolean true if results can be merged into the source of input data
*/
boolean canMergeResults();
/**
- * instruct client to cancel the job
+ * instruct client to cancel the job. This is also used by the GUI to
*/
void cancelJob();
}
else
{
Cache.log.debug("WebServiceJob poll loop finished with no jobs created.");
+ wsInfo.setFinishedNoResults();
}
}
-/**\r
- * Alignment.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class Alignment\r
- extends vamsas.objects.simple.Object implements java.io.Serializable\r
-{\r
- private java.lang.String gapchar;\r
- private java.lang.String[] method;\r
- private vamsas.objects.simple.SequenceSet seqs;\r
- private java.lang.Object __equalsCalc = null;\r
- private boolean __hashCodeCalc = false;\r
-\r
- public Alignment()\r
- {\r
- }\r
-\r
- public Alignment(java.lang.String gapchar, java.lang.String[] method,\r
- vamsas.objects.simple.SequenceSet seqs)\r
- {\r
- this.gapchar = gapchar;\r
- this.method = method;\r
- this.seqs = seqs;\r
- }\r
-\r
- /**\r
- * Gets the gapchar value for this Alignment.\r
- *\r
- * @return gapchar\r
- */\r
- public java.lang.String getGapchar()\r
- {\r
- return gapchar;\r
- }\r
-\r
- /**\r
- * Sets the gapchar value for this Alignment.\r
- *\r
- * @param gapchar\r
- */\r
- public void setGapchar(java.lang.String gapchar)\r
- {\r
- this.gapchar = gapchar;\r
- }\r
-\r
- /**\r
- * Gets the method value for this Alignment.\r
- *\r
- * @return method\r
- */\r
- public java.lang.String[] getMethod()\r
- {\r
- return method;\r
- }\r
-\r
- /**\r
- * Sets the method value for this Alignment.\r
- *\r
- * @param method\r
- */\r
- public void setMethod(java.lang.String[] method)\r
- {\r
- this.method = method;\r
- }\r
-\r
- /**\r
- * Gets the seqs value for this Alignment.\r
- *\r
- * @return seqs\r
- */\r
- public vamsas.objects.simple.SequenceSet getSeqs()\r
- {\r
- return seqs;\r
- }\r
-\r
- /**\r
- * Sets the seqs value for this Alignment.\r
- *\r
- * @param seqs\r
- */\r
- public void setSeqs(vamsas.objects.simple.SequenceSet seqs)\r
- {\r
- this.seqs = seqs;\r
- }\r
-\r
- public synchronized boolean equals(java.lang.Object obj)\r
- {\r
- if (! (obj instanceof Alignment))\r
- {\r
- return false;\r
- }\r
-\r
- Alignment other = (Alignment) obj;\r
-\r
- if (obj == null)\r
- {\r
- return false;\r
- }\r
-\r
- if (this == obj)\r
- {\r
- return true;\r
- }\r
-\r
- if (__equalsCalc != null)\r
- {\r
- return (__equalsCalc == obj);\r
- }\r
-\r
- __equalsCalc = obj;\r
-\r
- boolean _equals;\r
- _equals = super.equals(obj) &&\r
- ( ( (this.gapchar == null) && (other.getGapchar() == null)) ||\r
- ( (this.gapchar != null) && this.gapchar.equals(other.getGapchar()))) &&\r
- ( ( (this.method == null) && (other.getMethod() == null)) ||\r
- ( (this.method != null) &&\r
- java.util.Arrays.equals(this.method, other.getMethod()))) &&\r
- ( ( (this.seqs == null) && (other.getSeqs() == null)) ||\r
- ( (this.seqs != null) && this.seqs.equals(other.getSeqs())));\r
- __equalsCalc = null;\r
-\r
- return _equals;\r
- }\r
-\r
- public synchronized int hashCode()\r
- {\r
- if (__hashCodeCalc)\r
- {\r
- return 0;\r
- }\r
-\r
- __hashCodeCalc = true;\r
-\r
- int _hashCode = super.hashCode();\r
-\r
- if (getGapchar() != null)\r
- {\r
- _hashCode += getGapchar().hashCode();\r
- }\r
-\r
- if (getMethod() != null)\r
- {\r
- for (int i = 0; i < java.lang.reflect.Array.getLength(getMethod());\r
- i++)\r
- {\r
- java.lang.Object obj = java.lang.reflect.Array.get(getMethod(),\r
- i);\r
-\r
- if ( (obj != null) && !obj.getClass().isArray())\r
- {\r
- _hashCode += obj.hashCode();\r
- }\r
- }\r
- }\r
-\r
- if (getSeqs() != null)\r
- {\r
- _hashCode += getSeqs().hashCode();\r
- }\r
-\r
- __hashCodeCalc = false;\r
-\r
- return _hashCode;\r
- }\r
-}\r
+/**
+ * Alignment.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class Alignment extends vamsas.objects.simple.Object implements java.io.Serializable {
+ private java.lang.String gapchar;
+ private java.lang.String[] method;
+ private vamsas.objects.simple.SequenceSet seqs;
+
+ public Alignment() {
+ }
+
+ public Alignment(
+ java.lang.String gapchar,
+ java.lang.String[] method,
+ vamsas.objects.simple.SequenceSet seqs) {
+ this.gapchar = gapchar;
+ this.method = method;
+ this.seqs = seqs;
+ }
+
+
+ /**
+ * Gets the gapchar value for this Alignment.
+ *
+ * @return gapchar
+ */
+ public java.lang.String getGapchar() {
+ return gapchar;
+ }
+
+
+ /**
+ * Sets the gapchar value for this Alignment.
+ *
+ * @param gapchar
+ */
+ public void setGapchar(java.lang.String gapchar) {
+ this.gapchar = gapchar;
+ }
+
+
+ /**
+ * Gets the method value for this Alignment.
+ *
+ * @return method
+ */
+ public java.lang.String[] getMethod() {
+ return method;
+ }
+
+
+ /**
+ * Sets the method value for this Alignment.
+ *
+ * @param method
+ */
+ public void setMethod(java.lang.String[] method) {
+ this.method = method;
+ }
+
+
+ /**
+ * Gets the seqs value for this Alignment.
+ *
+ * @return seqs
+ */
+ public vamsas.objects.simple.SequenceSet getSeqs() {
+ return seqs;
+ }
+
+
+ /**
+ * Sets the seqs value for this Alignment.
+ *
+ * @param seqs
+ */
+ public void setSeqs(vamsas.objects.simple.SequenceSet seqs) {
+ this.seqs = seqs;
+ }
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof Alignment)) return false;
+ Alignment other = (Alignment) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = super.equals(obj) &&
+ ((this.gapchar==null && other.getGapchar()==null) ||
+ (this.gapchar!=null &&
+ this.gapchar.equals(other.getGapchar()))) &&
+ ((this.method==null && other.getMethod()==null) ||
+ (this.method!=null &&
+ java.util.Arrays.equals(this.method, other.getMethod()))) &&
+ ((this.seqs==null && other.getSeqs()==null) ||
+ (this.seqs!=null &&
+ this.seqs.equals(other.getSeqs())));
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = super.hashCode();
+ if (getGapchar() != null) {
+ _hashCode += getGapchar().hashCode();
+ }
+ if (getMethod() != null) {
+ for (int i=0;
+ i<java.lang.reflect.Array.getLength(getMethod());
+ i++) {
+ java.lang.Object obj = java.lang.reflect.Array.get(getMethod(), i);
+ if (obj != null &&
+ !obj.getClass().isArray()) {
+ _hashCode += obj.hashCode();
+ }
+ }
+ }
+ if (getSeqs() != null) {
+ _hashCode += getSeqs().hashCode();
+ }
+ __hashCodeCalc = false;
+ return _hashCode;
+ }
+
+}
-/**\r
- * Alignment_Helper.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class Alignment_Helper\r
-{\r
- // Type metadata\r
- private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.\r
- axis.description.TypeDesc(Alignment.class,\r
- true);\r
-\r
- static\r
- {\r
- typeDesc.setXmlType(new javax.xml.namespace.QName(\r
- "simple.objects.vamsas", "Alignment"));\r
-\r
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.\r
- description.ElementDesc();\r
- elemField.setFieldName("gapchar");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "gapchar"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
- typeDesc.addFieldDesc(elemField);\r
- elemField = new org.apache.axis.description.ElementDesc();\r
- elemField.setFieldName("method");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "method"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
- typeDesc.addFieldDesc(elemField);\r
- elemField = new org.apache.axis.description.ElementDesc();\r
- elemField.setFieldName("seqs");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "seqs"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "simple.objects.vamsas", "SequenceSet"));\r
- typeDesc.addFieldDesc(elemField);\r
- }\r
-\r
- /**\r
- * Return type metadata object\r
- */\r
- public static org.apache.axis.description.TypeDesc getTypeDesc()\r
- {\r
- return typeDesc;\r
- }\r
-\r
- /**\r
- * Get Custom Serializer\r
- */\r
- public static org.apache.axis.encoding.Serializer getSerializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanSerializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-\r
- /**\r
- * Get Custom Deserializer\r
- */\r
- public static org.apache.axis.encoding.Deserializer getDeserializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-}\r
+/**
+ * Alignment_Helper.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class Alignment_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(Alignment.class, true);
+
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "Alignment"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("gapchar");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "gapchar"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("method");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "method"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("seqs");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "seqs"));
+ elemField.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "SequenceSet"));
+ typeDesc.addFieldDesc(elemField);
+ }
+
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
+
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+}
-/**\r
- * Object.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public abstract class Object\r
- implements java.io.Serializable\r
-{\r
- private java.lang.Object __equalsCalc = null;\r
- private boolean __hashCodeCalc = false;\r
-\r
- public Object()\r
- {\r
- }\r
-\r
- public synchronized boolean equals(java.lang.Object obj)\r
- {\r
- if (! (obj instanceof Object))\r
- {\r
- return false;\r
- }\r
-\r
- //Object other = (Object) obj;\r
-\r
- if (obj == null)\r
- {\r
- return false;\r
- }\r
-\r
- if (this == obj)\r
- {\r
- return true;\r
- }\r
-\r
- if (__equalsCalc != null)\r
- {\r
- return (__equalsCalc == obj);\r
- }\r
-\r
- __equalsCalc = obj;\r
-\r
- boolean _equals;\r
- _equals = true;\r
- __equalsCalc = null;\r
-\r
- return _equals;\r
- }\r
-\r
- public synchronized int hashCode()\r
- {\r
- if (__hashCodeCalc)\r
- {\r
- return 0;\r
- }\r
-\r
- __hashCodeCalc = true;\r
-\r
- int _hashCode = 1;\r
- __hashCodeCalc = false;\r
-\r
- return _hashCode;\r
- }\r
-}\r
+/**
+ * Object.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public abstract class Object implements java.io.Serializable {
+
+ public Object() {
+ }
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof Object)) return false;
+ Object other = (Object) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true;
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ __hashCodeCalc = false;
+ return _hashCode;
+ }
+
+}
-/**\r
- * Object_Helper.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class Object_Helper\r
-{\r
- // Type metadata\r
- private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.\r
- axis.description.TypeDesc(Object.class,\r
- true);\r
-\r
- static\r
- {\r
- typeDesc.setXmlType(new javax.xml.namespace.QName(\r
- "http://simple.objects.vamsas", "Object"));\r
- }\r
-\r
- /**\r
- * Return type metadata object\r
- */\r
- public static org.apache.axis.description.TypeDesc getTypeDesc()\r
- {\r
- return typeDesc;\r
- }\r
-\r
- /**\r
- * Get Custom Serializer\r
- */\r
- public static org.apache.axis.encoding.Serializer getSerializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanSerializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-\r
- /**\r
- * Get Custom Deserializer\r
- */\r
- public static org.apache.axis.encoding.Deserializer getDeserializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-}\r
+/**
+ * Object_Helper.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class Object_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(Object.class, true);
+
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("http://simple.objects.vamsas", "Object"));
+ }
+
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
+
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+}
package vamsas.objects.simple;
-public class Result
- implements java.io.Serializable
-{
- private boolean broken;
- private boolean failed;
- private boolean finished;
- private boolean invalid;
- private boolean jobFailed;
- private boolean queued;
- private boolean running;
- private boolean serverError;
- private int state;
- private java.lang.String status;
- private boolean suspended;
-
- public Result()
- {
- }
-
- public Result(
- boolean broken,
- boolean failed,
- boolean finished,
- boolean invalid,
- boolean jobFailed,
- boolean queued,
- boolean running,
- boolean serverError,
- int state,
- java.lang.String status,
- boolean suspended)
- {
- this.broken = broken;
- this.failed = failed;
- this.finished = finished;
- this.invalid = invalid;
- this.jobFailed = jobFailed;
- this.queued = queued;
- this.running = running;
- this.serverError = serverError;
- this.state = state;
- this.status = status;
- this.suspended = suspended;
- }
-
- /**
- * Gets the broken value for this Result.
- *
- * @return broken
- */
- public boolean isBroken()
- {
- return broken;
- }
-
- /**
- * Sets the broken value for this Result.
- *
- * @param broken
- */
- public void setBroken(boolean broken)
- {
- this.broken = broken;
- }
-
- /**
- * Gets the failed value for this Result.
- *
- * @return failed
- */
- public boolean isFailed()
- {
- return failed;
- }
-
- /**
- * Sets the failed value for this Result.
- *
- * @param failed
- */
- public void setFailed(boolean failed)
- {
- this.failed = failed;
- }
-
- /**
- * Gets the finished value for this Result.
- *
- * @return finished
- */
- public boolean isFinished()
- {
- return finished;
- }
-
- /**
- * Sets the finished value for this Result.
- *
- * @param finished
- */
- public void setFinished(boolean finished)
- {
- this.finished = finished;
- }
-
- /**
- * Gets the invalid value for this Result.
- *
- * @return invalid
- */
- public boolean isInvalid()
- {
- return invalid;
- }
-
- /**
- * Sets the invalid value for this Result.
- *
- * @param invalid
- */
- public void setInvalid(boolean invalid)
- {
- this.invalid = invalid;
- }
-
- /**
- * Gets the jobFailed value for this Result.
- *
- * @return jobFailed
- */
- public boolean isJobFailed()
- {
- return jobFailed;
- }
-
- /**
- * Sets the jobFailed value for this Result.
- *
- * @param jobFailed
- */
- public void setJobFailed(boolean jobFailed)
- {
- this.jobFailed = jobFailed;
- }
-
- /**
- * Gets the queued value for this Result.
- *
- * @return queued
- */
- public boolean isQueued()
- {
- return queued;
- }
-
- /**
- * Sets the queued value for this Result.
- *
- * @param queued
- */
- public void setQueued(boolean queued)
- {
- this.queued = queued;
- }
-
- /**
- * Gets the running value for this Result.
- *
- * @return running
- */
- public boolean isRunning()
- {
- return running;
- }
-
- /**
- * Sets the running value for this Result.
- *
- * @param running
- */
- public void setRunning(boolean running)
- {
- this.running = running;
- }
-
- /**
- * Gets the serverError value for this Result.
- *
- * @return serverError
- */
- public boolean isServerError()
- {
- return serverError;
- }
-
- /**
- * Sets the serverError value for this Result.
- *
- * @param serverError
- */
- public void setServerError(boolean serverError)
- {
- this.serverError = serverError;
- }
-
- /**
- * Gets the state value for this Result.
- *
- * @return state
- */
- public int getState()
- {
- return state;
- }
-
- /**
- * Sets the state value for this Result.
- *
- * @param state
- */
- public void setState(int state)
- {
- this.state = state;
- }
-
- /**
- * Gets the status value for this Result.
- *
- * @return status
- */
- public java.lang.String getStatus()
- {
- return status;
- }
-
- /**
- * Sets the status value for this Result.
- *
- * @param status
- */
- public void setStatus(java.lang.String status)
- {
- this.status = status;
- }
-
- /**
- * Gets the suspended value for this Result.
- *
- * @return suspended
- */
- public boolean isSuspended()
- {
- return suspended;
- }
-
- /**
- * Sets the suspended value for this Result.
- *
- * @param suspended
- */
- public void setSuspended(boolean suspended)
- {
- this.suspended = suspended;
- }
-
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj)
- {
- if (! (obj instanceof Result))
- {
- return false;
+public class Result implements java.io.Serializable {
+ private boolean broken;
+ private boolean failed;
+ private boolean finished;
+ private boolean invalid;
+ private boolean jobFailed;
+ private boolean queued;
+ private boolean running;
+ private boolean serverError;
+ private int state;
+ private java.lang.String status;
+ private boolean suspended;
+
+ public Result() {
+ }
+
+ public Result(
+ boolean broken,
+ boolean failed,
+ boolean finished,
+ boolean invalid,
+ boolean jobFailed,
+ boolean queued,
+ boolean running,
+ boolean serverError,
+ int state,
+ java.lang.String status,
+ boolean suspended) {
+ this.broken = broken;
+ this.failed = failed;
+ this.finished = finished;
+ this.invalid = invalid;
+ this.jobFailed = jobFailed;
+ this.queued = queued;
+ this.running = running;
+ this.serverError = serverError;
+ this.state = state;
+ this.status = status;
+ this.suspended = suspended;
+ }
+
+
+ /**
+ * Gets the broken value for this Result.
+ *
+ * @return broken
+ */
+ public boolean isBroken() {
+ return broken;
+ }
+
+
+ /**
+ * Sets the broken value for this Result.
+ *
+ * @param broken
+ */
+ public void setBroken(boolean broken) {
+ this.broken = broken;
+ }
+
+
+ /**
+ * Gets the failed value for this Result.
+ *
+ * @return failed
+ */
+ public boolean isFailed() {
+ return failed;
+ }
+
+
+ /**
+ * Sets the failed value for this Result.
+ *
+ * @param failed
+ */
+ public void setFailed(boolean failed) {
+ this.failed = failed;
+ }
+
+
+ /**
+ * Gets the finished value for this Result.
+ *
+ * @return finished
+ */
+ public boolean isFinished() {
+ return finished;
+ }
+
+
+ /**
+ * Sets the finished value for this Result.
+ *
+ * @param finished
+ */
+ public void setFinished(boolean finished) {
+ this.finished = finished;
+ }
+
+
+ /**
+ * Gets the invalid value for this Result.
+ *
+ * @return invalid
+ */
+ public boolean isInvalid() {
+ return invalid;
+ }
+
+
+ /**
+ * Sets the invalid value for this Result.
+ *
+ * @param invalid
+ */
+ public void setInvalid(boolean invalid) {
+ this.invalid = invalid;
+ }
+
+
+ /**
+ * Gets the jobFailed value for this Result.
+ *
+ * @return jobFailed
+ */
+ public boolean isJobFailed() {
+ return jobFailed;
+ }
+
+
+ /**
+ * Sets the jobFailed value for this Result.
+ *
+ * @param jobFailed
+ */
+ public void setJobFailed(boolean jobFailed) {
+ this.jobFailed = jobFailed;
+ }
+
+
+ /**
+ * Gets the queued value for this Result.
+ *
+ * @return queued
+ */
+ public boolean isQueued() {
+ return queued;
+ }
+
+
+ /**
+ * Sets the queued value for this Result.
+ *
+ * @param queued
+ */
+ public void setQueued(boolean queued) {
+ this.queued = queued;
+ }
+
+
+ /**
+ * Gets the running value for this Result.
+ *
+ * @return running
+ */
+ public boolean isRunning() {
+ return running;
+ }
+
+
+ /**
+ * Sets the running value for this Result.
+ *
+ * @param running
+ */
+ public void setRunning(boolean running) {
+ this.running = running;
+ }
+
+
+ /**
+ * Gets the serverError value for this Result.
+ *
+ * @return serverError
+ */
+ public boolean isServerError() {
+ return serverError;
+ }
+
+
+ /**
+ * Sets the serverError value for this Result.
+ *
+ * @param serverError
+ */
+ public void setServerError(boolean serverError) {
+ this.serverError = serverError;
}
- Result other = (Result) obj;
- if (obj == null)
- {
- return false;
+
+
+ /**
+ * Gets the state value for this Result.
+ *
+ * @return state
+ */
+ public int getState() {
+ return state;
}
- if (this == obj)
- {
- return true;
+
+
+ /**
+ * Sets the state value for this Result.
+ *
+ * @param state
+ */
+ public void setState(int state) {
+ this.state = state;
}
- if (__equalsCalc != null)
- {
- return (__equalsCalc == obj);
+
+
+ /**
+ * Gets the status value for this Result.
+ *
+ * @return status
+ */
+ public java.lang.String getStatus() {
+ return status;
}
- __equalsCalc = obj;
- boolean _equals;
- _equals = true &&
- this.broken == other.isBroken() &&
- this.failed == other.isFailed() &&
- this.finished == other.isFinished() &&
- this.invalid == other.isInvalid() &&
- this.jobFailed == other.isJobFailed() &&
- this.queued == other.isQueued() &&
- this.running == other.isRunning() &&
- this.serverError == other.isServerError() &&
- this.state == other.getState() &&
- ( (this.status == null && other.getStatus() == null) ||
- (this.status != null &&
- this.status.equals(other.getStatus()))) &&
- this.suspended == other.isSuspended();
- __equalsCalc = null;
- return _equals;
- }
-
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode()
- {
- if (__hashCodeCalc)
- {
- return 0;
+
+
+ /**
+ * Sets the status value for this Result.
+ *
+ * @param status
+ */
+ public void setStatus(java.lang.String status) {
+ this.status = status;
}
- __hashCodeCalc = true;
- int _hashCode = 1;
- _hashCode += (isBroken() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isFailed() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isFinished() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isInvalid() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isJobFailed() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isQueued() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isRunning() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += (isServerError() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- _hashCode += getState();
- if (getStatus() != null)
- {
- _hashCode += getStatus().hashCode();
+
+
+ /**
+ * Gets the suspended value for this Result.
+ *
+ * @return suspended
+ */
+ public boolean isSuspended() {
+ return suspended;
+ }
+
+
+ /**
+ * Sets the suspended value for this Result.
+ *
+ * @param suspended
+ */
+ public void setSuspended(boolean suspended) {
+ this.suspended = suspended;
+ }
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof Result)) return false;
+ Result other = (Result) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true &&
+ this.broken == other.isBroken() &&
+ this.failed == other.isFailed() &&
+ this.finished == other.isFinished() &&
+ this.invalid == other.isInvalid() &&
+ this.jobFailed == other.isJobFailed() &&
+ this.queued == other.isQueued() &&
+ this.running == other.isRunning() &&
+ this.serverError == other.isServerError() &&
+ this.state == other.getState() &&
+ ((this.status==null && other.getStatus()==null) ||
+ (this.status!=null &&
+ this.status.equals(other.getStatus()))) &&
+ this.suspended == other.isSuspended();
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ _hashCode += (isBroken() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isFailed() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isFinished() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isInvalid() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isJobFailed() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isQueued() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isRunning() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += (isServerError() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ _hashCode += getState();
+ if (getStatus() != null) {
+ _hashCode += getStatus().hashCode();
+ }
+ _hashCode += (isSuspended() ? Boolean.TRUE : Boolean.FALSE).hashCode();
+ __hashCodeCalc = false;
+ return _hashCode;
}
- _hashCode += (isSuspended() ? Boolean.TRUE : Boolean.FALSE).hashCode();
- __hashCodeCalc = false;
- return _hashCode;
- }
}
package vamsas.objects.simple;
-public class Result_Helper
-{
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(Result.class, true);
+public class Result_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(Result.class, true);
- static
- {
- typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas",
- "Result"));
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.
- description.ElementDesc();
- elemField.setFieldName("broken");
- elemField.setXmlName(new javax.xml.namespace.QName("", "broken"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("failed");
- elemField.setXmlName(new javax.xml.namespace.QName("", "failed"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("finished");
- elemField.setXmlName(new javax.xml.namespace.QName("", "finished"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("invalid");
- elemField.setXmlName(new javax.xml.namespace.QName("", "invalid"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("jobFailed");
- elemField.setXmlName(new javax.xml.namespace.QName("", "jobFailed"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("queued");
- elemField.setXmlName(new javax.xml.namespace.QName("", "queued"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("running");
- elemField.setXmlName(new javax.xml.namespace.QName("", "running"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("serverError");
- elemField.setXmlName(new javax.xml.namespace.QName("", "serverError"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("state");
- elemField.setXmlName(new javax.xml.namespace.QName("", "state"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "int"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("status");
- elemField.setXmlName(new javax.xml.namespace.QName("", "status"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("suspended");
- elemField.setXmlName(new javax.xml.namespace.QName("", "suspended"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://www.w3.org/2001/XMLSchema", "boolean"));
- typeDesc.addFieldDesc(elemField);
- }
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "Result"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("broken");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "broken"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("failed");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "failed"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("finished");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "finished"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("invalid");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "invalid"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("jobFailed");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "jobFailed"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("queued");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "queued"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("running");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "running"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("serverError");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "serverError"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("state");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "state"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("status");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "status"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("suspended");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "suspended"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "boolean"));
+ typeDesc.addFieldDesc(elemField);
+ }
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc()
- {
- return typeDesc;
- }
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType)
- {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
- }
+ }
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType)
- {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
- }
+ }
}
--- /dev/null
+/**\r
+ * SeqSearchResult.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package vamsas.objects.simple;\r
+\r
+public class SeqSearchResult extends vamsas.objects.simple.Result implements java.io.Serializable {\r
+ private vamsas.objects.simple.Alignment alignment;\r
+ private java.lang.String annotation;\r
+ private java.lang.String features;\r
+ private java.lang.String newickTree;\r
+\r
+ public SeqSearchResult() {\r
+ }\r
+\r
+ public SeqSearchResult(\r
+ vamsas.objects.simple.Alignment alignment,\r
+ java.lang.String annotation,\r
+ java.lang.String features,\r
+ java.lang.String newickTree) {\r
+ this.alignment = alignment;\r
+ this.annotation = annotation;\r
+ this.features = features;\r
+ this.newickTree = newickTree;\r
+ }\r
+\r
+\r
+ /**\r
+ * Gets the alignment value for this SeqSearchResult.\r
+ * \r
+ * @return alignment\r
+ */\r
+ public vamsas.objects.simple.Alignment getAlignment() {\r
+ return alignment;\r
+ }\r
+\r
+\r
+ /**\r
+ * Sets the alignment value for this SeqSearchResult.\r
+ * \r
+ * @param alignment\r
+ */\r
+ public void setAlignment(vamsas.objects.simple.Alignment alignment) {\r
+ this.alignment = alignment;\r
+ }\r
+\r
+\r
+ /**\r
+ * Gets the annotation value for this SeqSearchResult.\r
+ * \r
+ * @return annotation\r
+ */\r
+ public java.lang.String getAnnotation() {\r
+ return annotation;\r
+ }\r
+\r
+\r
+ /**\r
+ * Sets the annotation value for this SeqSearchResult.\r
+ * \r
+ * @param annotation\r
+ */\r
+ public void setAnnotation(java.lang.String annotation) {\r
+ this.annotation = annotation;\r
+ }\r
+\r
+\r
+ /**\r
+ * Gets the features value for this SeqSearchResult.\r
+ * \r
+ * @return features\r
+ */\r
+ public java.lang.String getFeatures() {\r
+ return features;\r
+ }\r
+\r
+\r
+ /**\r
+ * Sets the features value for this SeqSearchResult.\r
+ * \r
+ * @param features\r
+ */\r
+ public void setFeatures(java.lang.String features) {\r
+ this.features = features;\r
+ }\r
+\r
+\r
+ /**\r
+ * Gets the newickTree value for this SeqSearchResult.\r
+ * \r
+ * @return newickTree\r
+ */\r
+ public java.lang.String getNewickTree() {\r
+ return newickTree;\r
+ }\r
+\r
+\r
+ /**\r
+ * Sets the newickTree value for this SeqSearchResult.\r
+ * \r
+ * @param newickTree\r
+ */\r
+ public void setNewickTree(java.lang.String newickTree) {\r
+ this.newickTree = newickTree;\r
+ }\r
+\r
+ private java.lang.Object __equalsCalc = null;\r
+ public synchronized boolean equals(java.lang.Object obj) {\r
+ if (!(obj instanceof SeqSearchResult)) return false;\r
+ SeqSearchResult other = (SeqSearchResult) obj;\r
+ if (obj == null) return false;\r
+ if (this == obj) return true;\r
+ if (__equalsCalc != null) {\r
+ return (__equalsCalc == obj);\r
+ }\r
+ __equalsCalc = obj;\r
+ boolean _equals;\r
+ _equals = super.equals(obj) && \r
+ ((this.alignment==null && other.getAlignment()==null) || \r
+ (this.alignment!=null &&\r
+ this.alignment.equals(other.getAlignment()))) &&\r
+ ((this.annotation==null && other.getAnnotation()==null) || \r
+ (this.annotation!=null &&\r
+ this.annotation.equals(other.getAnnotation()))) &&\r
+ ((this.features==null && other.getFeatures()==null) || \r
+ (this.features!=null &&\r
+ this.features.equals(other.getFeatures()))) &&\r
+ ((this.newickTree==null && other.getNewickTree()==null) || \r
+ (this.newickTree!=null &&\r
+ this.newickTree.equals(other.getNewickTree())));\r
+ __equalsCalc = null;\r
+ return _equals;\r
+ }\r
+\r
+ private boolean __hashCodeCalc = false;\r
+ public synchronized int hashCode() {\r
+ if (__hashCodeCalc) {\r
+ return 0;\r
+ }\r
+ __hashCodeCalc = true;\r
+ int _hashCode = super.hashCode();\r
+ if (getAlignment() != null) {\r
+ _hashCode += getAlignment().hashCode();\r
+ }\r
+ if (getAnnotation() != null) {\r
+ _hashCode += getAnnotation().hashCode();\r
+ }\r
+ if (getFeatures() != null) {\r
+ _hashCode += getFeatures().hashCode();\r
+ }\r
+ if (getNewickTree() != null) {\r
+ _hashCode += getNewickTree().hashCode();\r
+ }\r
+ __hashCodeCalc = false;\r
+ return _hashCode;\r
+ }\r
+\r
+}\r
--- /dev/null
+/**\r
+ * SeqSearchResult_Helper.java\r
+ *\r
+ * This file was auto-generated from WSDL\r
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
+ */\r
+\r
+package vamsas.objects.simple;\r
+\r
+public class SeqSearchResult_Helper {\r
+ // Type metadata\r
+ private static org.apache.axis.description.TypeDesc typeDesc =\r
+ new org.apache.axis.description.TypeDesc(SeqSearchResult.class, true);\r
+\r
+ static {\r
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "SeqSearchResult"));\r
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();\r
+ elemField.setFieldName("alignment");\r
+ elemField.setXmlName(new javax.xml.namespace.QName("", "alignment"));\r
+ elemField.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "Alignment"));\r
+ typeDesc.addFieldDesc(elemField);\r
+ elemField = new org.apache.axis.description.ElementDesc();\r
+ elemField.setFieldName("annotation");\r
+ elemField.setXmlName(new javax.xml.namespace.QName("", "annotation"));\r
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
+ typeDesc.addFieldDesc(elemField);\r
+ elemField = new org.apache.axis.description.ElementDesc();\r
+ elemField.setFieldName("features");\r
+ elemField.setXmlName(new javax.xml.namespace.QName("", "features"));\r
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
+ typeDesc.addFieldDesc(elemField);\r
+ elemField = new org.apache.axis.description.ElementDesc();\r
+ elemField.setFieldName("newickTree");\r
+ elemField.setXmlName(new javax.xml.namespace.QName("", "newickTree"));\r
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
+ typeDesc.addFieldDesc(elemField);\r
+ }\r
+\r
+ /**\r
+ * Return type metadata object\r
+ */\r
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {\r
+ return typeDesc;\r
+ }\r
+\r
+ /**\r
+ * Get Custom Serializer\r
+ */\r
+ public static org.apache.axis.encoding.Serializer getSerializer(\r
+ java.lang.String mechType, \r
+ java.lang.Class _javaType, \r
+ javax.xml.namespace.QName _xmlType) {\r
+ return \r
+ new org.apache.axis.encoding.ser.BeanSerializer(\r
+ _javaType, _xmlType, typeDesc);\r
+ }\r
+\r
+ /**\r
+ * Get Custom Deserializer\r
+ */\r
+ public static org.apache.axis.encoding.Deserializer getDeserializer(\r
+ java.lang.String mechType, \r
+ java.lang.Class _javaType, \r
+ javax.xml.namespace.QName _xmlType) {\r
+ return \r
+ new org.apache.axis.encoding.ser.BeanDeserializer(\r
+ _javaType, _xmlType, typeDesc);\r
+ }\r
+\r
+}\r
package vamsas.objects.simple;
-public class Sequence
- implements java.io.Serializable
-{
- private java.lang.String id;
- private java.lang.String seq;
+public class Sequence implements java.io.Serializable {
+ private java.lang.String id;
+ private java.lang.String seq;
- public Sequence()
- {
- }
-
- public Sequence(
- java.lang.String id,
- java.lang.String seq)
- {
- this.id = id;
- this.seq = seq;
- }
+ public Sequence() {
+ }
- /**
- * Gets the id value for this Sequence.
- *
- * @return id
- */
- public java.lang.String getId()
- {
- return id;
- }
+ public Sequence(
+ java.lang.String id,
+ java.lang.String seq) {
+ this.id = id;
+ this.seq = seq;
+ }
- /**
- * Sets the id value for this Sequence.
- *
- * @param id
- */
- public void setId(java.lang.String id)
- {
- this.id = id;
- }
- /**
- * Gets the seq value for this Sequence.
- *
- * @return seq
- */
- public java.lang.String getSeq()
- {
- return seq;
- }
+ /**
+ * Gets the id value for this Sequence.
+ *
+ * @return id
+ */
+ public java.lang.String getId() {
+ return id;
+ }
- /**
- * Sets the seq value for this Sequence.
- *
- * @param seq
- */
- public void setSeq(java.lang.String seq)
- {
- this.seq = seq;
- }
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj)
- {
- if (! (obj instanceof Sequence))
- {
- return false;
- }
- Sequence other = (Sequence) obj;
- if (obj == null)
- {
- return false;
- }
- if (this == obj)
- {
- return true;
+ /**
+ * Sets the id value for this Sequence.
+ *
+ * @param id
+ */
+ public void setId(java.lang.String id) {
+ this.id = id;
}
- if (__equalsCalc != null)
- {
- return (__equalsCalc == obj);
+
+
+ /**
+ * Gets the seq value for this Sequence.
+ *
+ * @return seq
+ */
+ public java.lang.String getSeq() {
+ return seq;
}
- __equalsCalc = obj;
- boolean _equals;
- _equals = true &&
- ( (this.id == null && other.getId() == null) ||
- (this.id != null &&
- this.id.equals(other.getId()))) &&
- ( (this.seq == null && other.getSeq() == null) ||
- (this.seq != null &&
- this.seq.equals(other.getSeq())));
- __equalsCalc = null;
- return _equals;
- }
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode()
- {
- if (__hashCodeCalc)
- {
- return 0;
+
+ /**
+ * Sets the seq value for this Sequence.
+ *
+ * @param seq
+ */
+ public void setSeq(java.lang.String seq) {
+ this.seq = seq;
}
- __hashCodeCalc = true;
- int _hashCode = 1;
- if (getId() != null)
- {
- _hashCode += getId().hashCode();
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof Sequence)) return false;
+ Sequence other = (Sequence) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true &&
+ ((this.id==null && other.getId()==null) ||
+ (this.id!=null &&
+ this.id.equals(other.getId()))) &&
+ ((this.seq==null && other.getSeq()==null) ||
+ (this.seq!=null &&
+ this.seq.equals(other.getSeq())));
+ __equalsCalc = null;
+ return _equals;
}
- if (getSeq() != null)
- {
- _hashCode += getSeq().hashCode();
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ if (getId() != null) {
+ _hashCode += getId().hashCode();
+ }
+ if (getSeq() != null) {
+ _hashCode += getSeq().hashCode();
+ }
+ __hashCodeCalc = false;
+ return _hashCode;
}
- __hashCodeCalc = false;
- return _hashCode;
- }
}
-/**\r
- * SequenceSet.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class SequenceSet\r
- implements java.io.Serializable\r
-{\r
- private vamsas.objects.simple.Sequence[] seqs;\r
- private java.lang.Object __equalsCalc = null;\r
- private boolean __hashCodeCalc = false;\r
-\r
- public SequenceSet()\r
- {\r
- }\r
-\r
- public SequenceSet(vamsas.objects.simple.Sequence[] seqs)\r
- {\r
- this.seqs = seqs;\r
- }\r
-\r
- /**\r
- * Gets the seqs value for this SequenceSet.\r
- *\r
- * @return seqs\r
- */\r
- public vamsas.objects.simple.Sequence[] getSeqs()\r
- {\r
- return seqs;\r
- }\r
-\r
- /**\r
- * Sets the seqs value for this SequenceSet.\r
- *\r
- * @param seqs\r
- */\r
- public void setSeqs(vamsas.objects.simple.Sequence[] seqs)\r
- {\r
- this.seqs = seqs;\r
- }\r
-\r
- public synchronized boolean equals(java.lang.Object obj)\r
- {\r
- if (! (obj instanceof SequenceSet))\r
- {\r
- return false;\r
- }\r
-\r
- SequenceSet other = (SequenceSet) obj;\r
-\r
- if (obj == null)\r
- {\r
- return false;\r
- }\r
-\r
- if (this == obj)\r
- {\r
- return true;\r
- }\r
-\r
- if (__equalsCalc != null)\r
- {\r
- return (__equalsCalc == obj);\r
- }\r
-\r
- __equalsCalc = obj;\r
-\r
- boolean _equals;\r
- _equals = true &&\r
- ( ( (this.seqs == null) && (other.getSeqs() == null)) ||\r
- ( (this.seqs != null) &&\r
- java.util.Arrays.equals(this.seqs, other.getSeqs())));\r
- __equalsCalc = null;\r
-\r
- return _equals;\r
- }\r
-\r
- public synchronized int hashCode()\r
- {\r
- if (__hashCodeCalc)\r
- {\r
- return 0;\r
- }\r
-\r
- __hashCodeCalc = true;\r
-\r
- int _hashCode = 1;\r
-\r
- if (getSeqs() != null)\r
- {\r
- for (int i = 0; i < java.lang.reflect.Array.getLength(getSeqs());\r
- i++)\r
- {\r
- java.lang.Object obj = java.lang.reflect.Array.get(getSeqs(), i);\r
-\r
- if ( (obj != null) && !obj.getClass().isArray())\r
- {\r
- _hashCode += obj.hashCode();\r
- }\r
- }\r
- }\r
-\r
- __hashCodeCalc = false;\r
-\r
- return _hashCode;\r
- }\r
-}\r
+/**
+ * SequenceSet.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class SequenceSet implements java.io.Serializable {
+ private vamsas.objects.simple.Sequence[] seqs;
+
+ public SequenceSet() {
+ }
+
+ public SequenceSet(
+ vamsas.objects.simple.Sequence[] seqs) {
+ this.seqs = seqs;
+ }
+
+
+ /**
+ * Gets the seqs value for this SequenceSet.
+ *
+ * @return seqs
+ */
+ public vamsas.objects.simple.Sequence[] getSeqs() {
+ return seqs;
+ }
+
+
+ /**
+ * Sets the seqs value for this SequenceSet.
+ *
+ * @param seqs
+ */
+ public void setSeqs(vamsas.objects.simple.Sequence[] seqs) {
+ this.seqs = seqs;
+ }
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof SequenceSet)) return false;
+ SequenceSet other = (SequenceSet) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true &&
+ ((this.seqs==null && other.getSeqs()==null) ||
+ (this.seqs!=null &&
+ java.util.Arrays.equals(this.seqs, other.getSeqs())));
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ if (getSeqs() != null) {
+ for (int i=0;
+ i<java.lang.reflect.Array.getLength(getSeqs());
+ i++) {
+ java.lang.Object obj = java.lang.reflect.Array.get(getSeqs(), i);
+ if (obj != null &&
+ !obj.getClass().isArray()) {
+ _hashCode += obj.hashCode();
+ }
+ }
+ }
+ __hashCodeCalc = false;
+ return _hashCode;
+ }
+
+}
-/**\r
- * SequenceSet_Helper.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class SequenceSet_Helper\r
-{\r
- // Type metadata\r
- private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.\r
- axis.description.TypeDesc(SequenceSet.class,\r
- true);\r
-\r
- static\r
- {\r
- typeDesc.setXmlType(new javax.xml.namespace.QName(\r
- "simple.objects.vamsas", "SequenceSet"));\r
-\r
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.\r
- description.ElementDesc();\r
- elemField.setFieldName("seqs");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "seqs"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "simple.objects.vamsas", "Sequence"));\r
- typeDesc.addFieldDesc(elemField);\r
- }\r
-\r
- /**\r
- * Return type metadata object\r
- */\r
- public static org.apache.axis.description.TypeDesc getTypeDesc()\r
- {\r
- return typeDesc;\r
- }\r
-\r
- /**\r
- * Get Custom Serializer\r
- */\r
- public static org.apache.axis.encoding.Serializer getSerializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanSerializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-\r
- /**\r
- * Get Custom Deserializer\r
- */\r
- public static org.apache.axis.encoding.Deserializer getDeserializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-}\r
+/**
+ * SequenceSet_Helper.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class SequenceSet_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(SequenceSet.class, true);
+
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "SequenceSet"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("seqs");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "seqs"));
+ elemField.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "Sequence"));
+ typeDesc.addFieldDesc(elemField);
+ }
+
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
+
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+}
package vamsas.objects.simple;
-public class Sequence_Helper
-{
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(Sequence.class, true);
+public class Sequence_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(Sequence.class, true);
- static
- {
- typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas",
- "Sequence"));
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.
- description.ElementDesc();
- elemField.setFieldName("id");
- elemField.setXmlName(new javax.xml.namespace.QName("", "id"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("seq");
- elemField.setXmlName(new javax.xml.namespace.QName("", "seq"));
- elemField.setXmlType(new javax.xml.namespace.QName(
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));
- typeDesc.addFieldDesc(elemField);
- }
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "Sequence"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("id");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "id"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("seq");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "seq"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ }
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc()
- {
- return typeDesc;
- }
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType)
- {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
- }
+ }
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType)
- {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
- }
+ }
}
-/**\r
- * WsJobId.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class WsJobId\r
- implements java.io.Serializable\r
-{\r
- private java.lang.String jobId;\r
- private int status;\r
- private java.lang.Object __equalsCalc = null;\r
- private boolean __hashCodeCalc = false;\r
-\r
- public WsJobId()\r
- {\r
- }\r
-\r
- public WsJobId(java.lang.String jobId, int status)\r
- {\r
- this.jobId = jobId;\r
- this.status = status;\r
- }\r
-\r
- /**\r
- * Gets the jobId value for this WsJobId.\r
- *\r
- * @return jobId\r
- */\r
- public java.lang.String getJobId()\r
- {\r
- return jobId;\r
- }\r
-\r
- /**\r
- * Sets the jobId value for this WsJobId.\r
- *\r
- * @param jobId\r
- */\r
- public void setJobId(java.lang.String jobId)\r
- {\r
- this.jobId = jobId;\r
- }\r
-\r
- /**\r
- * Gets the status value for this WsJobId.\r
- *\r
- * @return status\r
- */\r
- public int getStatus()\r
- {\r
- return status;\r
- }\r
-\r
- /**\r
- * Sets the status value for this WsJobId.\r
- *\r
- * @param status\r
- */\r
- public void setStatus(int status)\r
- {\r
- this.status = status;\r
- }\r
-\r
- public synchronized boolean equals(java.lang.Object obj)\r
- {\r
- if (! (obj instanceof WsJobId))\r
- {\r
- return false;\r
- }\r
-\r
- WsJobId other = (WsJobId) obj;\r
-\r
- if (obj == null)\r
- {\r
- return false;\r
- }\r
-\r
- if (this == obj)\r
- {\r
- return true;\r
- }\r
-\r
- if (__equalsCalc != null)\r
- {\r
- return (__equalsCalc == obj);\r
- }\r
-\r
- __equalsCalc = obj;\r
-\r
- boolean _equals;\r
- _equals = true &&\r
- ( ( (this.jobId == null) && (other.getJobId() == null)) ||\r
- ( (this.jobId != null) && this.jobId.equals(other.getJobId()))) &&\r
- (this.status == other.getStatus());\r
- __equalsCalc = null;\r
-\r
- return _equals;\r
- }\r
-\r
- public synchronized int hashCode()\r
- {\r
- if (__hashCodeCalc)\r
- {\r
- return 0;\r
- }\r
-\r
- __hashCodeCalc = true;\r
-\r
- int _hashCode = 1;\r
-\r
- if (getJobId() != null)\r
- {\r
- _hashCode += getJobId().hashCode();\r
- }\r
-\r
- _hashCode += getStatus();\r
- __hashCodeCalc = false;\r
-\r
- return _hashCode;\r
- }\r
-}\r
+/**
+ * WsJobId.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class WsJobId implements java.io.Serializable {
+ private java.lang.String jobId;
+ private int status;
+
+ public WsJobId() {
+ }
+
+ public WsJobId(
+ java.lang.String jobId,
+ int status) {
+ this.jobId = jobId;
+ this.status = status;
+ }
+
+
+ /**
+ * Gets the jobId value for this WsJobId.
+ *
+ * @return jobId
+ */
+ public java.lang.String getJobId() {
+ return jobId;
+ }
+
+
+ /**
+ * Sets the jobId value for this WsJobId.
+ *
+ * @param jobId
+ */
+ public void setJobId(java.lang.String jobId) {
+ this.jobId = jobId;
+ }
+
+
+ /**
+ * Gets the status value for this WsJobId.
+ *
+ * @return status
+ */
+ public int getStatus() {
+ return status;
+ }
+
+
+ /**
+ * Sets the status value for this WsJobId.
+ *
+ * @param status
+ */
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ private java.lang.Object __equalsCalc = null;
+ public synchronized boolean equals(java.lang.Object obj) {
+ if (!(obj instanceof WsJobId)) return false;
+ WsJobId other = (WsJobId) obj;
+ if (obj == null) return false;
+ if (this == obj) return true;
+ if (__equalsCalc != null) {
+ return (__equalsCalc == obj);
+ }
+ __equalsCalc = obj;
+ boolean _equals;
+ _equals = true &&
+ ((this.jobId==null && other.getJobId()==null) ||
+ (this.jobId!=null &&
+ this.jobId.equals(other.getJobId()))) &&
+ this.status == other.getStatus();
+ __equalsCalc = null;
+ return _equals;
+ }
+
+ private boolean __hashCodeCalc = false;
+ public synchronized int hashCode() {
+ if (__hashCodeCalc) {
+ return 0;
+ }
+ __hashCodeCalc = true;
+ int _hashCode = 1;
+ if (getJobId() != null) {
+ _hashCode += getJobId().hashCode();
+ }
+ _hashCode += getStatus();
+ __hashCodeCalc = false;
+ return _hashCode;
+ }
+
+}
-/**\r
- * WsJobId_Helper.java\r
- *\r
- * This file was auto-generated from WSDL\r
- * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.\r
- */\r
-\r
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
- *\r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\r
- */\r
-package vamsas.objects.simple;\r
-\r
-public class WsJobId_Helper\r
-{\r
- // Type metadata\r
- private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.\r
- axis.description.TypeDesc(WsJobId.class,\r
- true);\r
-\r
- static\r
- {\r
- typeDesc.setXmlType(new javax.xml.namespace.QName(\r
- "simple.objects.vamsas", "WsJobId"));\r
-\r
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.\r
- description.ElementDesc();\r
- elemField.setFieldName("jobId");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "jobId"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "http://schemas.xmlsoap.org/soap/encoding/", "string"));\r
- typeDesc.addFieldDesc(elemField);\r
- elemField = new org.apache.axis.description.ElementDesc();\r
- elemField.setFieldName("status");\r
- elemField.setXmlName(new javax.xml.namespace.QName("", "status"));\r
- elemField.setXmlType(new javax.xml.namespace.QName(\r
- "http://www.w3.org/2001/XMLSchema", "int"));\r
- typeDesc.addFieldDesc(elemField);\r
- }\r
-\r
- /**\r
- * Return type metadata object\r
- */\r
- public static org.apache.axis.description.TypeDesc getTypeDesc()\r
- {\r
- return typeDesc;\r
- }\r
-\r
- /**\r
- * Get Custom Serializer\r
- */\r
- public static org.apache.axis.encoding.Serializer getSerializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanSerializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-\r
- /**\r
- * Get Custom Deserializer\r
- */\r
- public static org.apache.axis.encoding.Deserializer getDeserializer(\r
- java.lang.String mechType, java.lang.Class _javaType,\r
- javax.xml.namespace.QName _xmlType)\r
- {\r
- return new org.apache.axis.encoding.ser.BeanDeserializer(_javaType,\r
- _xmlType, typeDesc);\r
- }\r
-}\r
+/**
+ * WsJobId_Helper.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis 1.2RC2 Nov 16, 2004 (12:19:44 EST) WSDL2Java emitter.
+ */
+
+package vamsas.objects.simple;
+
+public class WsJobId_Helper {
+ // Type metadata
+ private static org.apache.axis.description.TypeDesc typeDesc =
+ new org.apache.axis.description.TypeDesc(WsJobId.class, true);
+
+ static {
+ typeDesc.setXmlType(new javax.xml.namespace.QName("simple.objects.vamsas", "WsJobId"));
+ org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("jobId");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "jobId"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"));
+ typeDesc.addFieldDesc(elemField);
+ elemField = new org.apache.axis.description.ElementDesc();
+ elemField.setFieldName("status");
+ elemField.setXmlName(new javax.xml.namespace.QName("", "status"));
+ elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
+ typeDesc.addFieldDesc(elemField);
+ }
+
+ /**
+ * Return type metadata object
+ */
+ public static org.apache.axis.description.TypeDesc getTypeDesc() {
+ return typeDesc;
+ }
+
+ /**
+ * Get Custom Serializer
+ */
+ public static org.apache.axis.encoding.Serializer getSerializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanSerializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+ /**
+ * Get Custom Deserializer
+ */
+ public static org.apache.axis.encoding.Deserializer getDeserializer(
+ java.lang.String mechType,
+ java.lang.Class _javaType,
+ javax.xml.namespace.QName _xmlType) {
+ return
+ new org.apache.axis.encoding.ser.BeanDeserializer(
+ _javaType, _xmlType, typeDesc);
+ }
+
+}