JAL-1620 version bump and release notes
[jalview.git] / src / jalview / io / packed / ParsePackedSet.java
index 787a88f..ef221ba 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
+ * Copyright (C) 2014 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.
+ *  
+ * 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/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.io.packed;
 
 import jalview.datamodel.AlignmentI;
@@ -8,6 +28,7 @@ import jalview.io.IdentifyFile;
 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.List;
@@ -102,8 +123,15 @@ public class ParsePackedSet
           {
             br = new BufferedReader(src.getReader());
           }
-          context.updateSetModified(new jalview.io.AnnotationFile()
-                  .parseAnnotationFrom(context.getLastAlignment(), br));
+          if (new jalview.io.AnnotationFile().parseAnnotationFrom(
+                  context.getLastAlignment(), br))
+          {
+            context.updateSetModified(true);
+          }
+          else
+          {
+            errmsg = "Annotation file contained no data.";
+          }
 
         } catch (Exception e)
         {
@@ -134,7 +162,7 @@ public class ParsePackedSet
         {
           jalview.io.FeaturesFile ff = new jalview.io.FeaturesFile(src);
           context.updateSetModified(ff.parse(context.getLastAlignment(),
-                  context.featureColours, false));
+                  context.featureColours, false, context.relaxedIdMatching));
         } catch (Exception e)
         {
           errmsg = ("Failed to parse the Features file associated with the alignment.");
@@ -166,7 +194,24 @@ public class ParsePackedSet
         }
 
       }
-
+      if (exerror != null)
+      {
+        if (errmsg != null && errmsg.length() > 0)
+        {
+          throw new IOException(errmsg, exerror);
+        }
+        else
+        {
+          throw new IOException(errmsg, exerror);
+        }
+      }
+      else
+      {
+        if (errmsg != null && errmsg.length() > 0)
+        {
+          throw new IOException(errmsg);
+        }
+      }
     }
     if (deuniquify)
     {
@@ -251,10 +296,13 @@ public class ParsePackedSet
       // to buffers.
       // import with deuniquify info, and compare results to input.
 
-    } else {
+    }
+    else
+    {
       if (context.getLastAlignmentSet().isModified())
       {
-        System.err.println("Initial alignment set was modified and any associated views should be updated.");
+        System.err
+                .println("Initial alignment set was modified and any associated views should be updated.");
       }
     }
   }