JAL-4090 JAL-1551 spotlessApply
[jalview.git] / src / jalview / io / packed / ParsePackedSet.java
index ac7c6df..ef231e5 100644 (file)
@@ -1,24 +1,31 @@
-/*******************************************************************************
- * 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-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
  * 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.
- *
+ * 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/>.
- *******************************************************************************/
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.io.packed;
 
+import java.util.Locale;
+
+import jalview.api.FeatureColourI;
 import jalview.datamodel.AlignmentI;
 import jalview.io.AppletFormatAdapter;
+import jalview.io.FileFormatI;
 import jalview.io.FileParse;
 import jalview.io.FormatAdapter;
 import jalview.io.IdentifyFile;
@@ -27,7 +34,7 @@ import jalview.io.packed.DataProvider.JvDataType;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Hashtable;
+import java.util.HashMap;
 import java.util.List;
 
 public class ParsePackedSet
@@ -47,7 +54,7 @@ public class ParsePackedSet
   public Object[] getAlignment(JalviewDataset context,
           Iterable<DataProvider> files) throws Exception
   {
-    List<Object> rslt = new ArrayList<Object>();
+    List<Object> rslt = new ArrayList<>();
     if (context == null)
     {
       context = new JalviewDataset();
@@ -60,10 +67,10 @@ public class ParsePackedSet
       FileParse src = dta.getDataSource();
       if (dta.getType().equals(DataProvider.JvDataType.ALIGNMENT))
       {
-        String fmt = null;
+        FileFormatI fmt = null;
         try
         {
-          fmt = new IdentifyFile().Identify(src, false);
+          fmt = new IdentifyFile().identify(src, false);
         } catch (Exception ex)
         {
           exerror = ex;
@@ -72,32 +79,24 @@ public class ParsePackedSet
 
         if (fmt != null)
         {
-          if (!FormatAdapter.isValidIOFormat(fmt, false))
+          // parse the alignment
+          AlignmentI al = null;
+          try
+          {
+            al = new FormatAdapter().readFromFile(src, fmt);
+          } catch (Exception e)
           {
-            errmsg = fmt;
-            exerror = null;
+            errmsg = "Failed to parse alignment from result set";
+            exerror = e;
           }
-          else
+          if (al != null)
           {
-            // parse the alignment
-            AlignmentI al = null;
-            try
-            {
-              al = new FormatAdapter().readFromFile(src, fmt);
-            } catch (Exception e)
-            {
-              errmsg = "Failed to parse alignment from result set";
-              exerror = e;
-            }
-            if (al != null)
-            {
-              // deuniquify and construct/merge additional dataset entries if
-              // necessary.
-              context.addAlignment(al);
-              context.updateSetModified(true);
-              rslt.add(al);
-              deuniquify = true;
-            }
+            // deuniquify and construct/merge additional dataset entries if
+            // necessary.
+            context.addAlignment(al);
+            context.updateSetModified(true);
+            rslt.add(al);
+            deuniquify = true;
           }
         }
       }
@@ -120,8 +119,9 @@ public class ParsePackedSet
           {
             br = new BufferedReader(src.getReader());
           }
+          // TODO: add columnSelection to context
           if (new jalview.io.AnnotationFile().parseAnnotationFrom(
-                  context.getLastAlignment(), br))
+                  context.getLastAlignment(), null, br))
           {
             context.updateSetModified(true);
           }
@@ -153,13 +153,14 @@ public class ParsePackedSet
         // if not, create one.
         if (context.featureColours == null)
         {
-          context.featureColours = new Hashtable();
+          context.featureColours = new HashMap<>();
         }
         try
         {
           jalview.io.FeaturesFile ff = new jalview.io.FeaturesFile(src);
           context.updateSetModified(ff.parse(context.getLastAlignment(),
-                  context.featureColours, false, context.relaxedIdMatching));
+                  context.featureColours, false,
+                  context.relaxedIdMatching));
         } catch (Exception e)
         {
           errmsg = ("Failed to parse the Features file associated with the alignment.");
@@ -224,18 +225,19 @@ public class ParsePackedSet
    * would be created.
    * 
    * @param args
+   * @j2sIgnore
    */
   public static void main(String args[])
   {
     // make data providers from the set of keys/files
     int i = 0;
-    List<DataProvider> dp = new ArrayList<DataProvider>();
+    List<DataProvider> dp = new ArrayList<>();
     while ((i + 1) < args.length)
     {
       String type = args[i++];
       final String file = args[i++];
-      final JvDataType jtype = DataProvider.JvDataType.valueOf(type
-              .toUpperCase());
+      final JvDataType jtype = DataProvider.JvDataType
+              .valueOf(type.toUpperCase(Locale.ROOT));
       if (jtype != null)
       {
         final FileParse fp;
@@ -244,8 +246,9 @@ public class ParsePackedSet
           fp = new FileParse(file, AppletFormatAdapter.checkProtocol(file));
         } catch (Exception e)
         {
-          System.err.println("Couldn't handle datasource of type " + jtype
-                  + " using URI " + file);
+          jalview.bin.Console
+                  .errPrintln("Couldn't handle datasource of type " + jtype
+                          + " using URI " + file);
           e.printStackTrace();
           return;
         }
@@ -253,8 +256,8 @@ public class ParsePackedSet
       }
       else
       {
-        System.out.println("Couldn't parse source type token '"
-                + type.toUpperCase() + "'");
+        jalview.bin.Console.outPrintln("Couldn't parse source type token '"
+                + type.toUpperCase(Locale.ROOT) + "'");
       }
     }
     if (i < args.length)
@@ -267,17 +270,17 @@ public class ParsePackedSet
       System.out.print("\n");
 
     }
-    System.out.println("Now trying to parse set:");
+    jalview.bin.Console.outPrintln("Now trying to parse set:");
     JalviewDataset context;
     Object[] newdm;
     ParsePackedSet pps;
     try
     {
-      newdm = (pps = new ParsePackedSet()).getAlignment(
-              context = new JalviewDataset(), dp);
+      newdm = (pps = new ParsePackedSet())
+              .getAlignment(context = new JalviewDataset(), dp);
     } catch (Exception e)
     {
-      System.out.println("Test failed for these arguments.\n");
+      jalview.bin.Console.outPrintln("Test failed for these arguments.\n");
       e.printStackTrace(System.out);
       return;
     }
@@ -285,7 +288,8 @@ public class ParsePackedSet
     {
       for (Object o : newdm)
       {
-        System.out.println("Will need to create an " + o.getClass());
+        jalview.bin.Console
+                .outPrintln("Will need to create an " + o.getClass());
       }
 
       // now test uniquify/deuniquify stuff
@@ -298,8 +302,8 @@ public class ParsePackedSet
     {
       if (context.getLastAlignmentSet().isModified())
       {
-        System.err
-                .println("Initial alignment set was modified and any associated views should be updated.");
+        jalview.bin.Console.errPrintln(
+                "Initial alignment set was modified and any associated views should be updated.");
       }
     }
   }