- return true;
- }
-
- String OutputHeader;
- vamsas.objects.simple.MsaResult result = null;
-
- vamsas.objects.simple.SequenceSet seqs = new vamsas.objects.simple.
- SequenceSet();
-
- Hashtable SeqNames = null;
- boolean submitGaps = false,// default is to strip gaps from sequences
- preserveOrder = true; // and always store and recover sequence order
-
- String jobId;
- String alTitle; // name which will be used to form new alignment window.
- int allowedServerExceptions = 3; // thread dies if too many exceptions.
- MsaWSThread(String title, SequenceI[] msa, boolean subgaps, boolean presorder)
- {
- alTitle = title;
- submitGaps = subgaps;
- preserveOrder = presorder;
-
- OutputHeader = wsInfo.getProgressText();
- SeqNames = new Hashtable();
- vamsas.objects.simple.Sequence[] seqarray = new vamsas.objects.simple.
- Sequence[msa.length];
-
- for (int i = 0; i < msa.length; i++)
- {
- String newname = jalview.analysis.SeqsetUtils.unique_name(i);
- // uniquify as we go
- // TODO: JBPNote: this is a ubiquitous transformation - set of jalview seq objects to vamsas sequences with name preservation
- SeqNames.put(newname, jalview.analysis.SeqsetUtils.SeqCharacterHash(msa[i]));
- seqarray[i] = new vamsas.objects.simple.Sequence();
- seqarray[i].setId(newname);
- seqarray[i].setSeq((submitGaps) ? msa[i].getSequence()
- : AlignSeq.extractGaps(jalview.util.Comparison.GapChars, msa[i].getSequence()));
- }
-
- this.seqs = new vamsas.objects.simple.SequenceSet();
- this.seqs.setSeqs(seqarray);
- }
-
- boolean jobComplete = false;
-
- public void cancelJob() {
- if (!jobComplete) {
- String cancelledMessage="";
- try {
- vamsas.objects.simple.WsJobId cancelledJob = server.cancel(jobId);
- if (cancelledJob.getStatus() == 2)
- {
- // CANCELLED_JOB
- cancelledMessage = "Job cancelled.";
- wsInfo.setStatus(WebserviceInfo.STATE_CANCELLED_OK);
- jobComplete = true;
- jobsRunning--;
- result = null;
- }
- else
- if (cancelledJob.getStatus() == 3)
- {
- // VALID UNSTOPPABLE JOB
- cancelledMessage +=
- "Server cannot cancel this job. just close the window.\n";
- }
- if (cancelledJob.getJobId() != null)
- cancelledMessage += "[" + cancelledJob.getJobId() + "]";
- cancelledMessage +="\n";
- } catch (Exception exc) {
- cancelledMessage +="\nProblems cancelling the job : Exception received...\n"+exc+"\n";
- exc.printStackTrace();
- }
- wsInfo.setProgressText(OutputHeader + cancelledMessage+"\n");
- }