+ }\r
+\r
+ /*\r
+ public void run()\r
+ {\r
+ StartJob();\r
+\r
+ while (!jobComplete && (allowedServerExceptions > 0))\r
+ {\r
+ try\r
+ {\r
+ if ( (result = server.getresult(jobId)) == null)\r
+ {\r
+ throw (new Exception(\r
+ "Timed out when communicating with server\nTry again later.\n"));\r
+ }\r
+ if (result.getState()==0)\r
+ jalview.bin.Cache.log.debug("Finished "+jobId);\r
+ if (result.isRunning())\r
+ {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);\r
+ }\r
+ if (result.isQueued())\r
+ {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);\r
+ }\r
+\r
+ wsInfo.setProgressText(OutputHeader + "\n" +\r
+ result.getStatus());\r
+\r
+ if (result.isFinished())\r
+ {\r
+\r
+ parseResult();\r
+ jobComplete = true;\r
+ jobsRunning--;\r
+ } else {\r
+ // catch exceptions\r
+ if (! (result.isJobFailed() || result.isServerError()))\r
+ {\r
+ try\r
+ {\r
+ Thread.sleep(5000);\r
+ }\r
+ catch (InterruptedException ex1)\r
+ {\r
+ }\r
+\r
+ // System.out.println("I'm alive "+seqid+" "+jobid);\r
+ }\r
+ else\r
+ {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);\r
+ jobsRunning--;\r
+ jobComplete = true;\r
+ }\r
+ }\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ allowedServerExceptions--;\r
+\r
+ wsInfo.appendProgressText("\nJPredWS Server exception!\n" +\r
+ ex.getMessage());\r
+\r
+ try\r
+ {\r
+ if (allowedServerExceptions > 0)\r
+ {\r
+ Thread.sleep(5000);\r
+ }\r
+ }\r
+ catch (InterruptedException ex1)\r
+ {\r
+ }\r
+ }\r
+ catch (OutOfMemoryError er)\r
+ {\r
+ jobComplete = true;\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);\r
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
+ "Out of memory handling result!!"\r
+ +\r
+ "\nSee help files for increasing Java Virtual Machine memory."\r
+ , "Out of memory",\r
+ JOptionPane.WARNING_MESSAGE);\r
+ System.out.println("JPredClient: "+er);\r
+ System.gc();\r
+ }\r
+ }\r
+ if (result!=null)\r
+ if (! (result.isJobFailed() || result.isServerError()))\r
+ {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);\r
+ }\r
+ else\r
+ {\r
+ wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);\r
+ }\r
+ }\r
+ */\r
+ void StartJob(WSJob j)\r
+ {\r
+ if (! (j instanceof JPredJob))\r
+ {\r
+ throw new Error("Implementation error - StartJob(JpredJob) called on " +\r
+ j.getClass());\r