JAL-3878 Add javadocs to created classes and reformat code.
[jalview.git] / src / jalview / ws2 / operations / AlignmentOperation.java
index 1f0a602..ea8e529 100644 (file)
@@ -59,6 +59,7 @@ import jalview.ws2.gui.AlignmentMenuBuilder;
 import jalview.ws2.utils.WSJobList;
 
 /**
+ * Implementation of the {@link Operation} for multiple sequence alignment jobs.
  *
  * @author mmwarowny
  *
@@ -68,7 +69,6 @@ public class AlignmentOperation implements Operation
   private final WebServiceI service;
 
   private final ResultSupplier<AlignmentI> supplier;
-  
 
   public AlignmentOperation(
       WebServiceI service,
@@ -83,7 +83,7 @@ public class AlignmentOperation implements Operation
   {
     return service.getName();
   }
-  
+
   @Override
   public String getDescription()
   {
@@ -101,13 +101,13 @@ public class AlignmentOperation implements Operation
   {
     return service.getHostName();
   }
-  
+
   @Override
   public boolean hasParameters()
   {
     return service.hasParameters();
   }
-  
+
   @Override
   public ParamDatastoreI getParamStore()
   {
@@ -137,7 +137,7 @@ public class AlignmentOperation implements Operation
   {
     return true;
   }
-  
+
   @Override
   public boolean isAlignmentAnalysis()
   {
@@ -156,13 +156,13 @@ public class AlignmentOperation implements Operation
   {
     return false;
   }
-  
+
   @Override
   public boolean getFilterNonStandardSymbols()
   {
     return true;
   }
-  
+
   @Override
   public boolean getNeedsAlignedSequences()
   {
@@ -175,7 +175,6 @@ public class AlignmentOperation implements Operation
     return new AlignmentMenuBuilder(this);
   }
 
-
   /**
    * Implementation of the web service worker performing multiple sequence
    * alignment.
@@ -211,12 +210,12 @@ public class AlignmentOperation implements Operation
     private Map<Long, JobInput> inputs = new LinkedHashMap<>();
 
     private Map<Long, Integer> exceptionCount = new HashMap<>();
-    
+
     private final int MAX_RETRY = 5;
 
     public AlignmentWorker(AlignmentView msa, List<ArgumentI> args,
-            String alnTitle, boolean submitGaps, boolean preserveOrder,
-            AlignViewport viewport)
+        String alnTitle, boolean submitGaps, boolean preserveOrder,
+        AlignViewport viewport)
     {
       this.msa = msa;
       this.dataset = viewport.getAlignment().getDataset();
@@ -263,7 +262,7 @@ public class AlignmentOperation implements Operation
       {
         JobInput input = JobInput.create(conmsa[i], 2, submitGaps);
         WSJob job = new WSJob(service.getProviderName(), service.getName(),
-                service.getHostName());
+            service.getHostName());
         job.setJobNum(i);
         inputs.put(job.getUid(), input);
         jobs.add(job);
@@ -300,7 +299,7 @@ public class AlignmentOperation implements Operation
         {
           job.setStatus(WSJobStatus.INVALID);
           job.setErrorLog(
-                  MessageManager.getString("label.empty_alignment_job"));
+              MessageManager.getString("label.empty_alignment_job"));
         }
       }
       if (numValid > 0)
@@ -331,29 +330,28 @@ public class AlignmentOperation implements Operation
             Cache.log.error(format("Polling job %s failed.", job), e);
             listeners.firePollException(job, e);
             int count = exceptionCount.getOrDefault(job.getUid(),
-                    MAX_RETRY);
+                MAX_RETRY);
             if (--count <= 0)
             {
               job.setStatus(WSJobStatus.SERVER_ERROR);
               Cache.log.warn(format(
-                      "Attempts limit exceeded. Droping job %s.", job));
+                  "Attempts limit exceeded. Droping job %s.", job));
             }
             exceptionCount.put(job.getUid(), count);
           } catch (OutOfMemoryError e)
           {
             job.setStatus(WSJobStatus.BROKEN);
             Cache.log.error(
-                    format("Out of memory when retrieving job %s", job), e);
+                format("Out of memory when retrieving job %s", job), e);
           }
           Cache.log.debug(
-                  format("Job %s status is %s", job, job.getStatus()));
+              format("Job %s status is %s", job, job.getStatus()));
         }
         done &= job.getStatus().isDone() || job.getStatus().isFailed();
       }
       return done;
     }
 
-
     @Override
     public void done()
     {
@@ -365,7 +363,7 @@ public class AlignmentOperation implements Operation
           continue;
         try
         {
-          AlignmentI alignment = supplier.getResult(job, 
+          AlignmentI alignment = supplier.getResult(job,
               dataset.getSequences(), viewport);
           if (alignment != null)
           {
@@ -418,16 +416,16 @@ public class AlignmentOperation implements Operation
             width = Integer.max(width, emptySeq.getLength());
           // pad shorter sequences with gaps
           String gapSeq = String.join("",
-                  Collections.nCopies(width, Character.toString(gapChar)));
+              Collections.nCopies(width, Character.toString(gapChar)));
           List<SequenceI> seqs = new ArrayList<>(
-                  alnSeqs.size() + emptySeqs.size());
+              alnSeqs.size() + emptySeqs.size());
           seqs.addAll(alnSeqs);
           seqs.addAll(emptySeqs);
           for (var seq : seqs)
           {
             if (seq.getLength() < width)
               seq.setSequence(seq.getSequenceAsString()
-                      + gapSeq.substring(seq.getLength()));
+                  + gapSeq.substring(seq.getLength()));
           }
           SequenceI[] result = seqs.toArray(new SequenceI[0]);
           AlignmentOrder msaOrder = new AlignmentOrder(result);
@@ -488,24 +486,23 @@ public class AlignmentOperation implements Operation
         }
       }
     }
-    
+
     private Consumer<AlignmentResult> resultConsumer;
-    
+
     public void setResultConsumer(Consumer<AlignmentResult> consumer)
     {
       this.resultConsumer = consumer;
     }
 
-    private WebServiceWorkerListenersList listeners = 
-        new WebServiceWorkerListenersList(this);
-    
+    private WebServiceWorkerListenersList listeners = new WebServiceWorkerListenersList(this);
+
     @Override
     public void addListener(WebServiceWorkerListener listener)
     {
       listeners.addListener(listener);
     }
   }
-  
+
   public class AlignmentResult
   {
     AlignmentI aln;
@@ -515,7 +512,7 @@ public class AlignmentOperation implements Operation
     HiddenColumns hidden;
 
     AlignmentResult(AlignmentI aln, List<AlignmentOrder> alorders,
-            HiddenColumns hidden)
+        HiddenColumns hidden)
     {
       this.aln = aln;
       this.alorders = alorders;
@@ -548,8 +545,8 @@ public class AlignmentOperation implements Operation
     final Map<String, ? extends Map> sequenceNames;
 
     private JobInput(int numSequences, List<SequenceI> inputSequences,
-            List<SequenceI> emptySequences,
-            @SuppressWarnings("rawtypes") Map<String, ? extends Map> names)
+        List<SequenceI> emptySequences,
+        @SuppressWarnings("rawtypes") Map<String, ? extends Map> names)
     {
       this.inputSequences = Collections.unmodifiableList(inputSequences);
       this.emptySequences = Collections.unmodifiableList(emptySequences);
@@ -562,10 +559,10 @@ public class AlignmentOperation implements Operation
     }
 
     static JobInput create(SequenceI[] sequences, int minLength,
-            boolean submitGaps)
+        boolean submitGaps)
     {
       assert minLength >= 0 : MessageManager.getString(
-              "error.implementation_error_minlen_must_be_greater_zero");
+          "error.implementation_error_minlen_must_be_greater_zero");
       int numSeq = 0;
       for (SequenceI seq : sequences)
       {
@@ -592,20 +589,20 @@ public class AlignmentOperation implements Operation
           if (!submitGaps)
           {
             seqString = AlignSeq.extractGaps(
-                    jalview.util.Comparison.GapChars, seqString);
+                jalview.util.Comparison.GapChars, seqString);
           }
           inputSequences.add(new Sequence(newName, seqString));
         }
         else
         {
           String seqString = "";
-          if (seq.getEnd() >= seq.getStart())  // true if gaps only
+          if (seq.getEnd() >= seq.getStart()) // true if gaps only
           {
             seqString = seq.getSequenceAsString();
             if (!submitGaps)
             {
               seqString = AlignSeq.extractGaps(
-                      jalview.util.Comparison.GapChars, seqString);
+                  jalview.util.Comparison.GapChars, seqString);
             }
           }
           emptySequences.add(new Sequence(newName, seqString));