tidy imports
[jalview.git] / src / jalview / ws / rest / params / SeqGroupIndexVector.java
index 1af0440..766720b 100644 (file)
@@ -1,20 +1,20 @@
-/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, 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 
  * PURPOSE.  See the GNU General Public License for more details.
- *
+ * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
- *******************************************************************************/
+ */
 package jalview.ws.rest.params;
 
 import jalview.datamodel.AlignmentI;
@@ -27,14 +27,11 @@ import jalview.ws.rest.AlignmentProcessor;
 import jalview.ws.rest.InputType;
 import jalview.ws.rest.NoValidInputDataException;
 import jalview.ws.rest.RestJob;
-import jalview.ws.rest.RestServiceDescription;
-import jalview.ws.rest.InputType.molType;
 
 import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Vector;
 
 import org.apache.http.entity.mime.content.ContentBody;
 import org.apache.http.entity.mime.content.StringBody;
@@ -92,36 +89,40 @@ public class SeqGroupIndexVector extends InputType implements
     // blocks
     ArrayList<int[]> gl = new ArrayList<int[]>();
     int p = 0;
-    for (SequenceGroup sg : (Vector<SequenceGroup>) al.getGroups())
+    List<SequenceGroup> sgs;
+    synchronized (sgs = al.getGroups())
     {
-      if (sg.getSize() < minsize)
+      for (SequenceGroup sg : sgs)
       {
-        throw new NoValidInputDataException("Group contains less than "
-                + minsize + " sequences.");
-      }
-      // TODO: refactor to sequenceGroup for efficiency -
-      // getAlignmentRowInterval(AlignmentI al)
-      int[] se = null;
-      for (SequenceI sq : sg.getSequencesInOrder(al))
-      {
-        p = al.findIndex(sq);
-        if (se == null)
+        if (sg.getSize() < minsize)
         {
-          se = new int[]
-          { p, p };
+          throw new NoValidInputDataException("Group contains less than "
+                  + minsize + " sequences.");
         }
-        else
+        // TODO: refactor to sequenceGroup for efficiency -
+        // getAlignmentRowInterval(AlignmentI al)
+        int[] se = null;
+        for (SequenceI sq : sg.getSequencesInOrder(al))
+        {
+          p = al.findIndex(sq);
+          if (se == null)
+          {
+            se = new int[]
+            { p, p };
+          }
+          else
+          {
+            if (p < se[0])
+              se[0] = p;
+            if (p > se[1])
+              se[1] = p;
+          }
+        }
+        if (se != null)
         {
-          if (p < se[0])
-            se[0] = p;
-          if (p > se[1])
-            se[1] = p;
+          gl.add(se);
         }
       }
-      if (se != null)
-      {
-        gl.add(se);
-      }
     }
     // are there any more sequences ungrouped that should be added as a single
     // remaining group ? - these might be at the start or the end
@@ -294,8 +295,11 @@ public class SeqGroupIndexVector extends InputType implements
             "Separator character between elements of vector", true, ",",
             sep, Arrays.asList(new String[]
             { " ", ",", ";", "\t", "|" }), null));
-    lst.add(new IntegerParameter("minsize", "Minimum size of partition allowed by service", true, 1, minsize, 1,0));
-    lst.add(createMolTypeOption("type", "Sequence type", false, type, molType.MIX));
+    lst.add(new IntegerParameter("minsize",
+            "Minimum size of partition allowed by service", true, 1,
+            minsize, 1, 0));
+    lst.add(createMolTypeOption("type", "Sequence type", false, type,
+            molType.MIX));
     return lst;
   }