- Annotation[] annotations = new Annotation[al.getWidth()];\r
- for (int j = 0; j < values.size(); j++)\r
- {\r
- float value = Float.parseFloat(values.get(j).toString());\r
- annotations[gapmap[j]] = new Annotation("", value+"",' ',value);\r
- }\r
- al.addAnnotation(new AlignmentAnnotation(Symname, Visname, annotations, min, max, winLength));\r
- }\r
- private jalview.datamodel.Sequence[] getVamsasAlignment(vamsas.objects.simple.Alignment valign) {\r
- vamsas.objects.simple.Sequence[] seqs = valign.getSeqs().getSeqs();\r
- jalview.datamodel.Sequence[] msa = new jalview.datamodel.Sequence[seqs.length];\r
- for (int i=0, j=seqs.length; i<j;i++)\r
- msa[i] = new jalview.datamodel.Sequence(seqs[i].getId(), seqs[i].getSeq());\r
- return msa;\r
- }\r
- void parseResult()\r
- {\r
- SequenceI[] seqs=null;\r
- try {\r
- // OutputHeader = output.getText();\r
- if (result.isFailed()) {\r
- OutputHeader +="Job failed.\n";\r
+ while (!jobComplete && (allowedServerExceptions > 0)) {\r
+ try {\r
+ if ((result = server.getResult(jobId)) == null) {\r
+ throw (new Exception(\r
+ "Timed out when communicating with server\nTry again later.\n"));\r
+ }\r
+\r
+ if (result.isRunning()) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);\r
+ } else if (result.isQueued()) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);\r
+ }\r
+\r
+ if (result.isFinished()) {\r
+ parseResult();\r
+ jobComplete = true;\r
+ jobsRunning--;\r
+ } else {\r
+ if (result.getStatus() != null) {\r
+ wsInfo.setProgressText(OutputHeader + "\n" +\r
+ result.getStatus());\r
+ }\r
+\r
+ if (!(result.isJobFailed() || result.isServerError())) {\r
+ Thread.sleep(5000);\r
+\r
+ // System.out.println("I'm alive "+seqid+" "+jobid);\r
+ } else {\r
+ break;\r
+ }\r
+ }\r
+ } catch (Exception ex) {\r
+ allowedServerExceptions--;\r
+ wsInfo.appendProgressText("\n" + ServiceName +\r
+ " Server exception!\n" + ex.getMessage());\r
+ System.err.println(ServiceName + " Server exception: " +\r
+ ex.getMessage());\r
+\r
+ // ex.printStackTrace(); JBPNote Debug\r
+ try {\r
+ if (allowedServerExceptions > 0) {\r
+ Thread.sleep(5000);\r
+ }\r
+ } catch (InterruptedException ex1) {\r
+ }\r
+ }\r
+ }\r
+\r
+ if (allowedServerExceptions == 0) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);\r
+ } else {\r
+ if (!((result != null) &&\r
+ (result.isJobFailed() || result.isServerError()))) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);\r
+ } else {\r
+ if (result.isFailed()) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);\r
+ }\r
+\r
+ if (result.isServerError()) {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);\r
+ }\r
+ }\r
+ }\r