public class MsaWSClient
+ extends WSClient
{
- int jobsRunning = 0;
- ext.vamsas.MuscleWS server;
- WebserviceInfo wsInfo;
- /**
- * MsaWSClient
- *
- * @param msa SequenceI[]
- */
-
- String WebServiceName;
- String WebServiceJobTitle;
- String WebServiceReference;
- String WsURL;
+ /**
+ * server is a WSDL2Java generated stub for an archetypal MsaWSI service.
+ */
+ ext.vamsas.MuscleWS server;
+
private boolean setWebService(String MsaWSName) {
if (MsaWServices.info.containsKey(MsaWSName)) {
WebServiceName = MsaWSName;
}
}
-// public MsaWSClient(String MsaWSName, SequenceI[] msa) {
-// MsaWSClient(MsaWSName, msa, true);
-// }
public MsaWSClient(String MsaWSName, String altitle, SequenceI[] msa, boolean submitGaps, boolean preserveOrder)
{
// TODO: MuscleWS transmuted to generic MsaWS client
MuscleWSServiceLocator loc = new MuscleWSServiceLocator(); // Default
try {
- this.server = (MuscleWS) loc.getMuscleWS(// JBPNote will be set from properties
- new java.net.URL(WsURL));
+ this.server = (MuscleWS) loc.getMuscleWS(new java.net.URL(WsURL));
}
catch (Exception ex) {
wsInfo.setProgressText("Serious! "+WebServiceName+" Service location failed\nfor URL :"
seqarray[i] = new vamsas.objects.simple.Sequence();
seqarray[i].setId(newname);
seqarray[i].setSeq((submitGaps) ? msa[i].getSequence()
- : AlignSeq.extractGaps("-. ", msa[i].getSequence()));
+ : AlignSeq.extractGaps(jalview.util.Comparison.GapChars, msa[i].getSequence()));
}
this.seqs = new vamsas.objects.simple.SequenceSet();
{
result = server.getResult(jobId);
- if( result.isRunning() )
- wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);
- else if( result.isQueued() )
- wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);
+ if (result.isRunning())
+ wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);
+ else if (result.isQueued())
+ wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);
if (result.isFinished())
{
}
else
{
- wsInfo.setProgressText(OutputHeader + "\n" + result.getStatus());
+ if (result.getStatus() != null)
+ wsInfo.setProgressText(OutputHeader + "\n" + result.getStatus());
if (! (result.isJobFailed() || result.isServerError()))
{
Thread.sleep(5000);
// System.out.println("I'm alive "+seqid+" "+jobid);
}
+ else
+ {
+ break;
+ }
}
}
catch (Exception ex)
{
allowedServerExceptions--;
- wsInfo.appendProgressText("\n"+ServiceName+" Server exception!\n" + ex.getMessage());
+ wsInfo.appendProgressText("\n" + ServiceName + " Server exception!\n" +
+ ex.getMessage());
ex.printStackTrace();
}
}
-
- if (! (result!=null && (result.isJobFailed() || result.isServerError())))
- wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);
+ if (allowedServerExceptions == 0)
+ {
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
+ }
else
- wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
+ {
+ if (! (result != null && (result.isJobFailed() || result.isServerError())))
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);
+ else
+ {
+ if (result.isFailed())
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
+ if (result.isServerError())
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
+ }
+ }
}
-
void StartJob()
{
try
{
vamsas.objects.simple.WsJobId jobsubmit = server.align(seqs);
if (jobsubmit.getStatus()==1) {
- System.out.println(jobId=jobsubmit.getJobId());
+ jobId=jobsubmit.getJobId();
+ System.out.println(WsURL+" Job Id '"+jobId+"'");
} else {
throw new Exception(jobsubmit.getJobId());
}
}
catch (Exception e)
{
- System.out.println(ServiceName + " Client: Failed to submit the prediction\n" +
+ System.err.println(ServiceName + " Client: Failed to submit the prediction\n" +
e.toString() + "\n");
e.printStackTrace();
}