+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io.packed;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
import jalview.datamodel.AlignmentI;
import jalview.io.AppletFormatAdapter;
+import jalview.io.FileFormatI;
import jalview.io.FileParse;
import jalview.io.FormatAdapter;
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;
-
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();
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;
if (fmt != null)
{
- if (!FormatAdapter.isValidIOFormat(fmt, false))
+ // parse the alignment
+ AlignmentI al = null;
+ try
{
- errmsg = fmt;
- exerror = null;
+ al = new FormatAdapter().readFromFile(src, fmt);
+ } catch (Exception e)
+ {
+ 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;
}
}
}
{
br = new BufferedReader(src.getReader());
}
- if (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 {
+ }
+ else
+ {
errmsg = "Annotation file contained no data.";
}
// 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.updateSetModified(ff.parse(context.getLastAlignment(),
+ context.featureColours, false,
+ context.relaxedIdMatching));
} catch (Exception e)
{
errmsg = ("Failed to parse the Features file associated with the alignment.");
}
}
- if (exerror!=null)
+ if (exerror != null)
{
- if (errmsg!=null && errmsg.length()>0)
+ if (errmsg != null && errmsg.length() > 0)
{
- throw new IOException(errmsg,exerror);
- } else {
- throw new IOException(errmsg,exerror);
+ throw new IOException(errmsg, exerror);
+ }
+ else
+ {
+ throw new IOException(errmsg, exerror);
}
- } else {
- if (errmsg!=null && errmsg.length()>0)
- {
- throw new IOException(errmsg);
}
+ else
+ {
+ if (errmsg != null && errmsg.length() > 0)
+ {
+ throw new IOException(errmsg);
+ }
}
}
if (deuniquify)
* 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());
if (jtype != null)
{
final FileParse fp;
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");
// 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.");
}
}
}