X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2Fpacked%2FParsePackedSet.java;h=ef231e5a4c0584e9b5bddd7b251a58c599ad30c8;hb=e57f77dc13f5a295cf49a403da05770a68a6e22b;hp=9a4af6294bbcb0f2360eebb23f15d152ec1993cd;hpb=c666f8aee30822a9d8e8932041707587b5cffb70;p=jalview.git diff --git a/src/jalview/io/packed/ParsePackedSet.java b/src/jalview/io/packed/ParsePackedSet.java index 9a4af62..ef231e5 100644 --- a/src/jalview/io/packed/ParsePackedSet.java +++ b/src/jalview/io/packed/ParsePackedSet.java @@ -1,7 +1,31 @@ +/* + * 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 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; @@ -10,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 @@ -30,7 +54,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(); @@ -43,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; @@ -55,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; } } } @@ -103,11 +119,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."; } @@ -134,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.updateSetModified(ff.parse(context.getLastAlignment(), + context.featureColours, false, + context.relaxedIdMatching)); } catch (Exception e) { errmsg = ("Failed to parse the Features file associated with the alignment."); @@ -172,19 +192,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) @@ -201,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 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(Locale.ROOT)); if (jtype != null) { final FileParse fp; @@ -221,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; } @@ -230,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) @@ -244,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; } @@ -262,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 @@ -270,10 +297,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."); + jalview.bin.Console.errPrintln( + "Initial alignment set was modified and any associated views should be updated."); } } }