X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fio%2Fpacked%2FParsePackedSet.java;h=71999f0639459e665854c9e77cf887e79935ffae;hb=eaa9f25b15830a61539bc1a188fee0076b1f8ce8;hp=97802f3ae311bc1ed0b81cbfe35fbf901d8aa9cb;hpb=20c600dc8c628f5a82cc32b1fe026291756f1d8e;p=jalview.git
diff --git a/src/jalview/io/packed/ParsePackedSet.java b/src/jalview/io/packed/ParsePackedSet.java
index 97802f3..71999f0 100644
--- a/src/jalview/io/packed/ParsePackedSet.java
+++ b/src/jalview/io/packed/ParsePackedSet.java
@@ -1,5 +1,26 @@
+/*
+ * 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.
+ *
+ * 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io.packed;
+import jalview.api.FeatureColourI;
import jalview.datamodel.AlignmentI;
import jalview.io.AppletFormatAdapter;
import jalview.io.FileParse;
@@ -8,8 +29,9 @@ 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.HashMap;
import java.util.List;
public class ParsePackedSet
@@ -45,7 +67,7 @@ public class ParsePackedSet
String fmt = null;
try
{
- fmt = new IdentifyFile().Identify(src, false);
+ fmt = new IdentifyFile().identify(src, false);
} catch (Exception ex)
{
exerror = ex;
@@ -102,8 +124,16 @@ public class ParsePackedSet
{
br = new BufferedReader(src.getReader());
}
- context.updateSetModified(new jalview.io.AnnotationFile()
- .parseAnnotationFrom(context.getLastAlignment(), br));
+ // TODO: add columnSelection to context
+ if (new jalview.io.AnnotationFile().parseAnnotationFrom(
+ context.getLastAlignment(), null, br))
+ {
+ context.updateSetModified(true);
+ }
+ else
+ {
+ errmsg = "Annotation file contained no data.";
+ }
} catch (Exception e)
{
@@ -128,12 +158,12 @@ 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.updateSetModified(ff.parse(context.getLastAlignment(),
context.featureColours, false, context.relaxedIdMatching));
} catch (Exception e)
{
@@ -166,7 +196,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 +298,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.");
}
}
}