Merge branch 'bug/JAL-4214_system_freeze_when_opening_file_using_gui_in_linux' into...
[jalview.git] / src / jalview / ws / jws1 / JPredThread.java
index 078f189..a042dee 100644 (file)
@@ -22,12 +22,11 @@ package jalview.ws.jws1;
 
 import jalview.analysis.AlignSeq;
 import jalview.analysis.SeqsetUtils;
-import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.AlignmentView;
-import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
@@ -115,26 +114,26 @@ class JPredThread extends JWS1Thread implements WSClientI
         return null;
       }
       AlignmentI al = null;
-      ColumnSelection alcsel = null;
+      HiddenColumns alhidden = null;
       int FirstSeq = -1; // the position of the query sequence in Alignment al
 
       JpredResult result = (JpredResult) this.result;
 
-      Cache.log.debug("Parsing output from JNet job.");
+      Console.debug("Parsing output from JNet job.");
       // JPredFile prediction = new JPredFile("C:/JalviewX/files/jpred.txt",
       // "File");
-      JPredFile prediction = new JPredFile(
-              result.getPredfile(), DataSourceType.PASTE);
+      JPredFile prediction = new JPredFile(result.getPredfile(),
+              DataSourceType.PASTE);
       SequenceI[] preds = prediction.getSeqsAsArray();
-      Cache.log.debug("Got prediction profile.");
+      Console.debug("Got prediction profile.");
 
       if ((this.msa != null) && (result.getAligfile() != null))
       {
-        Cache.log.debug("Getting associated alignment.");
+        Console.debug("Getting associated alignment.");
         // we ignore the returned alignment if we only predicted on a single
         // sequence
-        FileFormatI format = new IdentifyFile().identify(
-                result.getAligfile(), DataSourceType.PASTE);
+        FileFormatI format = new IdentifyFile()
+                .identify(result.getAligfile(), DataSourceType.PASTE);
 
         if (format != null)
         {
@@ -145,7 +144,7 @@ class JPredThread extends JWS1Thread implements WSClientI
                     .getAlignmentAndHiddenColumns(getGapChar());
             sqs = (SequenceI[]) alandcolsel[0];
             al = new Alignment(sqs);
-            alcsel = (ColumnSelection) alandcolsel[1];
+            alhidden = (HiddenColumns) alandcolsel[1];
           }
           else
           {
@@ -159,9 +158,8 @@ class JPredThread extends JWS1Thread implements WSClientI
             }
             if (!SeqsetUtils.deuniquify(SequenceInfo, sqs))
             {
-              throw (new Exception(
-                      MessageManager
-                              .getString("exception.couldnt_recover_sequence_properties_for_alignment")));
+              throw (new Exception(MessageManager.getString(
+                      "exception.couldnt_recover_sequence_properties_for_alignment")));
             }
           }
           FirstSeq = 0;
@@ -174,15 +172,15 @@ class JPredThread extends JWS1Thread implements WSClientI
           {
             al.setDataset(null);
           }
-          JnetAnnotationMaker.add_annotation(prediction, al,
-                  FirstSeq, false, predMap);
+          JnetAnnotationMaker.add_annotation(prediction, al, FirstSeq,
+                  false, predMap);
 
         }
         else
         {
           throw (new Exception(MessageManager.formatMessage(
-                  "exception.unknown_format_for_file", new String[] { "",
-                      result.getAligfile() })));
+                  "exception.unknown_format_for_file", new String[]
+                  { "", result.getAligfile() })));
         }
       }
       else
@@ -196,9 +194,8 @@ class JPredThread extends JWS1Thread implements WSClientI
                   .getAlignmentAndHiddenColumns(gc)[0];
           if (this.msaIndex >= sqs.length)
           {
-            throw new Error(
-                    MessageManager
-                            .getString("error.implementation_error_invalid_msa_index_for_job"));
+            throw new Error(MessageManager.getString(
+                    "error.implementation_error_invalid_msa_index_for_job"));
           }
 
           // ///
@@ -206,7 +203,8 @@ class JPredThread extends JWS1Thread implements WSClientI
           // ///
           new jalview.commands.RemoveGapsCommand(
                   MessageManager.getString("label.remove_gaps"),
-                  new SequenceI[] { sqs[msaIndex] }, currentView);
+                  new SequenceI[]
+                  { sqs[msaIndex] }, currentView);
 
           SequenceI profileseq = al.getSequenceAt(FirstSeq);
           profileseq.setSequence(sqs[msaIndex].getSequenceAsString());
@@ -215,9 +213,8 @@ class JPredThread extends JWS1Thread implements WSClientI
         if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(
                 al.getSequenceAt(FirstSeq), SequenceInfo))
         {
-          throw (new Exception(
-                  MessageManager
-                          .getString("exception.couldnt_recover_sequence_props_for_jnet_query")));
+          throw (new Exception(MessageManager.getString(
+                  "exception.couldnt_recover_sequence_props_for_jnet_query")));
         }
         else
         {
@@ -238,8 +235,7 @@ class JPredThread extends JWS1Thread implements WSClientI
           {
             // Adjust input view for gaps
             // propagate insertions into profile
-            alcsel = ColumnSelection.propagateInsertions(profileseq, al,
-                    input);
+            alhidden = al.propagateInsertions(profileseq, input);
           }
         }
       }
@@ -253,7 +249,7 @@ class JPredThread extends JWS1Thread implements WSClientI
                   alant.sequenceRef);
         }
       }
-      return new Object[] { al, alcsel }; // , FirstSeq, noMsa};
+      return new Object[] { al, alhidden }; // , FirstSeq, noMsa};
     }
 
     /**
@@ -274,8 +270,8 @@ class JPredThread extends JWS1Thread implements WSClientI
         dsseq = dsseq.getDatasetSequence();
       }
       // look for same annotation on dataset and lift this one over
-      List<AlignmentAnnotation> dsan = dsseq.getAlignmentAnnotations(
-              calcId, typeName);
+      List<AlignmentAnnotation> dsan = dsseq.getAlignmentAnnotations(calcId,
+              typeName);
       if (dsan != null && dsan.size() > 0)
       {
         for (AlignmentAnnotation dssan : dsan)
@@ -320,17 +316,15 @@ class JPredThread extends JWS1Thread implements WSClientI
               sq = sq + sb;
               while ((diff = gapMap[r] - sq.length()) > 0)
               {
-                sq = sq
-                        + ((diff >= sb.length()) ? sb.toString() : sb
-                                .substring(0, diff));
+                sq = sq + ((diff >= sb.length()) ? sb.toString()
+                        : sb.substring(0, diff));
               }
               al.getSequenceAt(s).setSequence(sq);
             }
             else
             {
-              al.getSequenceAt(s).setSequence(
-                      sq.substring(0, gapMap[r]) + sb.toString()
-                              + sq.substring(gapMap[r]));
+              al.getSequenceAt(s).setSequence(sq.substring(0, gapMap[r])
+                      + sb.toString() + sq.substring(gapMap[r]));
             }
           }
         }
@@ -436,8 +430,8 @@ class JPredThread extends JWS1Thread implements WSClientI
     if (!(j instanceof JPredJob))
     {
       throw new Error(MessageManager.formatMessage(
-              "error.implementation_error_startjob_called",
-              new String[] { j.getClass().toString() }));
+              "error.implementation_error_startjob_called", new String[]
+              { j.getClass().toString() }));
     }
     try
     {
@@ -458,23 +452,22 @@ class JPredThread extends JWS1Thread implements WSClientI
         {
           job.result = new JpredResult();
           job.result.setInvalid(true);
-          job.result.setStatus(MessageManager.formatMessage(
-                  "label.submission_params", new String[] { job.getJobId()
-                          .toString() }));
+          job.result.setStatus(MessageManager
+                  .formatMessage("label.submission_params", new String[]
+                  { job.getJobId().toString() }));
           throw new Exception(job.getJobId());
         }
         else
         {
           job.setSubmitted(true);
           job.setSubjobComplete(false);
-          Cache.log.info(WsUrl + " Job Id '" + job.getJobId() + "'");
+          Console.info(WsUrl + " Job Id '" + job.getJobId() + "'");
         }
       }
       else
       {
-        throw new Exception(
-                MessageManager
-                        .getString("exception.server_timeout_try_later"));
+        throw new Exception(MessageManager
+                .getString("exception.server_timeout_try_later"));
       }
     } catch (Exception e)
     {
@@ -484,28 +477,25 @@ class JPredThread extends JWS1Thread implements WSClientI
       {
         wsInfo.setStatus(j.getJobnum(),
                 WebserviceInfo.STATE_STOPPED_SERVERERROR);
-        wsInfo.setProgressText(
-                j.getJobnum(),
+        wsInfo.setProgressText(j.getJobnum(),
                 "Failed to submit the prediction. (Just close the window)\n"
                         + "It is most likely that there is a problem with the server.\n");
-        System.err
-                .println("JPredWS Client: Failed to submit the prediction. Quite possibly because of a server error - see below)\n"
+        jalview.bin.Console.errPrintln(
+                "JPredWS Client: Failed to submit the prediction. Quite possibly because of a server error - see below)\n"
                         + e.getMessage() + "\n");
 
-        jalview.bin.Cache.log.warn("Server Exception", e);
+        Console.warn("Server Exception", e);
       }
       else
       {
         wsInfo.setStatus(j.getJobnum(), WebserviceInfo.STATE_STOPPED_ERROR);
         // JBPNote - this could be a popup informing the user of the problem.
-        wsInfo.appendProgressText(j.getJobnum(), MessageManager
-                .formatMessage(
-                        "info.failed_to_submit_prediction",
-                        new String[] { e.getMessage(),
-                            wsInfo.getProgressText() }));
+        wsInfo.appendProgressText(j.getJobnum(),
+                MessageManager.formatMessage(
+                        "info.failed_to_submit_prediction", new String[]
+                        { e.getMessage(), wsInfo.getProgressText() }));
 
-        jalview.bin.Cache.log.debug(
-                "Failed Submission of job " + j.getJobnum(), e);
+        Console.debug("Failed Submission of job " + j.getJobnum(), e);
 
       }
       j.setAllowedServerExceptions(-1);
@@ -532,8 +522,9 @@ class JPredThread extends JWS1Thread implements WSClientI
     } catch (Exception ex)
     {
 
-      Cache.log.error("Unexpected exception when processing results for "
-              + altitle, ex);
+      Console.error(
+              "Unexpected exception when processing results for " + altitle,
+              ex);
       wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
     }
     if (results > 0)
@@ -585,9 +576,9 @@ class JPredThread extends JWS1Thread implements WSClientI
           msa = (j.msa != null) ? true : msa;
           try
           {
-            jalview.bin.Cache.log.debug("Parsing output of job " + jn);
+            Console.debug("Parsing output of job " + jn);
             jobres = j.getResultSet();
-            jalview.bin.Cache.log.debug("Finished parsing output.");
+            Console.debug("Finished parsing output.");
             if (jobs.length == 1)
             {
               res = jobres;
@@ -595,20 +586,20 @@ class JPredThread extends JWS1Thread implements WSClientI
             else
             {
               // do merge with other job results
-              throw new Error(
-                      MessageManager
-                              .getString("error.multiple_jnet_subjob_merge_not_implemented"));
+              throw new Error(MessageManager.getString(
+                      "error.multiple_jnet_subjob_merge_not_implemented"));
             }
           } catch (Exception e)
           {
-            jalview.bin.Cache.log.error(
-                    "JNet Client: JPred Annotation Parse Error", e);
+            Console.error("JNet Client: JPred Annotation Parse Error", e);
             wsInfo.setStatus(j.getJobnum(),
                     WebserviceInfo.STATE_STOPPED_ERROR);
-            wsInfo.appendProgressText(j.getJobnum(), MessageManager
-                    .formatMessage("info.invalid_jnet_job_result_data",
-                            new String[] { OutputHeader.toString(),
-                                j.result.getStatus(), e.getMessage() }));
+            wsInfo.appendProgressText(j.getJobnum(),
+                    MessageManager.formatMessage(
+                            "info.invalid_jnet_job_result_data",
+                            new String[]
+                            { OutputHeader.toString(), j.result.getStatus(),
+                                e.getMessage() }));
             j.result.setBroken(true);
           }
         }
@@ -619,8 +610,8 @@ class JPredThread extends JWS1Thread implements WSClientI
         if (newWindow)
         {
           AlignFrame af;
-          ((AlignmentI) res[0]).setSeqrep(((AlignmentI) res[0])
-                  .getSequenceAt(0));
+          ((AlignmentI) res[0])
+                  .setSeqrep(((AlignmentI) res[0]).getSequenceAt(0));
           if (input == null)
           {
             if (res[1] != null)
@@ -651,17 +642,15 @@ class JPredThread extends JWS1Thread implements WSClientI
              * alandcolsel[0])[0].gapMap())); }
              */
 
-            af = new AlignFrame((Alignment) res[0],
- (HiddenColumns) res[1],
-                    AlignFrame.DEFAULT_WIDTH,
-                    AlignFrame.DEFAULT_HEIGHT);
+            af = new AlignFrame((Alignment) res[0], (HiddenColumns) res[1],
+                    AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
           }
           Desktop.addInternalFrame(af, altitle, AlignFrame.DEFAULT_WIDTH,
                   AlignFrame.DEFAULT_HEIGHT);
         }
         else
         {
-          Cache.log.info("Append results onto existing alignment.");
+          Console.info("Append results onto existing alignment.");
         }
       }
     }