X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fpacked%2FParsePackedSet.java;h=2b95081b4af6fcc3af13340d554ab30a7427f0d0;hb=48e68905336d8ee17ee6b3903d80b36bac8c56cf;hp=1b760dfa765e3f69f7bb5eb348ad19114e53108e;hpb=a45774ee31d9f35d4eff46d54d7deab719afb092;p=jalview.git diff --git a/src/jalview/io/packed/ParsePackedSet.java b/src/jalview/io/packed/ParsePackedSet.java index 1b760df..2b95081 100644 --- a/src/jalview/io/packed/ParsePackedSet.java +++ b/src/jalview/io/packed/ParsePackedSet.java @@ -1,35 +1,39 @@ -/******************************************************************************* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, 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 . - *******************************************************************************/ + * + * 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 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 { @@ -47,7 +51,7 @@ public class ParsePackedSet public Object[] getAlignment(JalviewDataset context, Iterable files) throws Exception { - List rslt = new ArrayList(); + List rslt = new ArrayList<>(); if (context == null) { context = new JalviewDataset(); @@ -60,10 +64,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 +76,24 @@ public class ParsePackedSet 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; } } } @@ -120,11 +116,14 @@ public class ParsePackedSet { 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."; } @@ -151,13 +150,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.updateSetModified(ff.parse(context.getLastAlignment(), + context.featureColours, false, + context.relaxedIdMatching)); } catch (Exception e) { errmsg = ("Failed to parse the Features file associated with the alignment."); @@ -189,19 +189,23 @@ public class ParsePackedSet } } - 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) @@ -218,18 +222,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 dp = new ArrayList(); + List 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; @@ -267,8 +272,8 @@ public class ParsePackedSet 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"); @@ -287,10 +292,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."); } } }