JAL-1320 preserve option/parameter order with LinkedHashMap
[jalview.git] / src / jalview / ws / jws1 / JPredThread.java
index 796c2af..52c2145 100644 (file)
@@ -1,13 +1,13 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
  * Jalview 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 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview 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 
@@ -197,7 +197,8 @@ class JPredThread extends JWS1Thread implements WSClientI
           {
             // Adjust input view for gaps
             // propagate insertions into profile
-            alcsel = ColumnSelection.propagateInsertions(profileseq, al, input);
+            alcsel = ColumnSelection.propagateInsertions(profileseq, al,
+                    input);
           }
         }
       }
@@ -255,7 +256,6 @@ class JPredThread extends JWS1Thread implements WSClientI
       }
     }
 
-
     public JPredJob(Hashtable SequenceInfo, SequenceI seq, int[] delMap)
     {
       super();
@@ -269,6 +269,10 @@ class JPredThread extends JWS1Thread implements WSClientI
         sequence.setId(seq.getName());
         sequence.setSeq(sq);
       }
+      else
+      {
+        errorMessage = "Sequence is too short to predict with JPred - need at least 20 amino acids.";
+      }
     }
 
     public JPredJob(Hashtable SequenceInfo, SequenceI[] msf, int[] delMap)
@@ -284,6 +288,13 @@ class JPredThread extends JWS1Thread implements WSClientI
         }
       }
     }
+
+    String errorMessage = "";
+
+    public String getValidationMessages()
+    {
+      return errorMessage + "\n";
+    }
   }
 
   ext.vamsas.Jpred server;
@@ -313,6 +324,10 @@ class JPredThread extends JWS1Thread implements WSClientI
       { job };
       job.setJobnum(0);
     }
+    else
+    {
+      wsInfo.appendProgressText(job.getValidationMessages());
+    }
   }
 
   JPredThread(WebserviceInfo wsinfo, String altitle,
@@ -329,6 +344,10 @@ class JPredThread extends JWS1Thread implements WSClientI
       OutputHeader = wsInfo.getProgressText();
       job.setJobnum(0);
     }
+    else
+    {
+      wsInfo.appendProgressText(job.getValidationMessages());
+    }
   }
 
   public void StartJob(AWsJob j)
@@ -451,6 +470,8 @@ class JPredThread extends JWS1Thread implements WSClientI
     }
     else
     {
+      wsInfo.setStatus(wsInfo.STATE_STOPPED_ERROR);
+      wsInfo.appendInfoText("No jobs ran.");
       wsInfo.setFinishedNoResults();
     }
   }