X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Frest%2Fparams%2FSeqGroupIndexVector.java;h=9210414bc55099d40b668cc465347f748dc2b13c;hb=0aa7f6fab658c9a203b410d4bead72217da5c9a0;hp=87a1d9a5b63e767dbf7cd691e27069a96414590a;hpb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;p=jalview.git diff --git a/src/jalview/ws/rest/params/SeqGroupIndexVector.java b/src/jalview/ws/rest/params/SeqGroupIndexVector.java index 87a1d9a..9210414 100644 --- a/src/jalview/ws/rest/params/SeqGroupIndexVector.java +++ b/src/jalview/ws/rest/params/SeqGroupIndexVector.java @@ -1,19 +1,21 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) - * Copyright (C) 2014 The Jalview Authors + * 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.ws.rest.params; @@ -21,6 +23,7 @@ package jalview.ws.rest.params; import jalview.datamodel.AlignmentI; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.util.MessageManager; import jalview.ws.params.OptionI; import jalview.ws.params.simple.IntegerParameter; import jalview.ws.params.simple.Option; @@ -45,13 +48,12 @@ import org.apache.http.entity.mime.content.StringBody; * @author JimP * */ -public class SeqGroupIndexVector extends InputType implements - AlignmentProcessor +public class SeqGroupIndexVector extends InputType + implements AlignmentProcessor { public SeqGroupIndexVector() { - super(new Class[] - { AlignmentI.class }); + super(new Class[] { AlignmentI.class }); } /** @@ -73,6 +75,7 @@ public class SeqGroupIndexVector extends InputType implements * - alignment to be processed * @return al or a new alignment with appropriate attributes/order for input */ + @Override public AlignmentI prepareAlignment(AlignmentI al) { jalview.analysis.AlignmentSorter.sortByGroup(al); @@ -88,17 +91,19 @@ public class SeqGroupIndexVector extends InputType implements AlignmentI al = rj.getAlignmentForInput(token, type); // assume that alignment is properly ordered so groups form consecutive // blocks - ArrayList gl = new ArrayList(); - int p = 0,lowest=al.getHeight(), highest=0; - List sgs; - synchronized (sgs = al.getGroups()) + ArrayList gl = new ArrayList<>(); + int p = 0, lowest = al.getHeight(), highest = 0; + List sgs = al.getGroups(); + synchronized (sgs) { for (SequenceGroup sg : sgs) { if (sg.getSize() < minsize) { - throw new NoValidInputDataException("Group contains less than " - + minsize + " sequences."); + throw new NoValidInputDataException(MessageManager.formatMessage( + "exception.notvaliddata_group_contains_less_than_min_seqs", + new String[] + { Integer.valueOf(minsize).toString() })); } // TODO: refactor to sequenceGroup for efficiency - // getAlignmentRowInterval(AlignmentI al) @@ -106,25 +111,28 @@ public class SeqGroupIndexVector extends InputType implements for (SequenceI sq : sg.getSequencesInOrder(al)) { p = al.findIndex(sq); - if (lowest>p) + if (lowest > p) { - lowest=p; + lowest = p; } - if (highest se[1]) + { se[1] = p; + } } } if (se != null) @@ -137,20 +145,18 @@ public class SeqGroupIndexVector extends InputType implements // remaining group ? - these might be at the start or the end if (gl.size() > 0) { - if (lowest-1>minsize) + if (lowest - 1 > minsize) { - gl.add(0, new int[] - { 0, lowest-2}); + gl.add(0, new int[] { 0, lowest - 2 }); } - if ((al.getHeight()-1-highest)>minsize) + if ((al.getHeight() - 1 - highest) > minsize) { - gl.add(new int[] { highest+1, al.getHeight()-1}); + gl.add(new int[] { highest + 1, al.getHeight() - 1 }); } } else { - gl.add(new int[] - { 0, al.getHeight() - 1 }); + gl.add(new int[] { 0, al.getHeight() - 1 }); } if (min >= 0 && gl.size() < min) { @@ -167,7 +173,9 @@ public class SeqGroupIndexVector extends InputType implements int[][] vals = gl.toArray(new int[gl.size()][]); int[] srt = new int[gl.size()]; for (int i = 0; i < vals.length; i++) + { srt[i] = vals[i][0]; + } jalview.util.QuickSort.sort(srt, vals); list = false; int last = vals[0][0] - 1; @@ -209,7 +217,7 @@ public class SeqGroupIndexVector extends InputType implements @Override public List getURLEncodedParameter() { - ArrayList prms = new ArrayList(); + ArrayList prms = new ArrayList<>(); super.addBaseParams(prms); prms.add("minsize='" + minsize + "'"); prms.add("sep='" + sep + "'"); @@ -242,7 +250,9 @@ public class SeqGroupIndexVector extends InputType implements { minsize = Integer.valueOf(val); if (minsize >= 0) + { return true; + } } catch (Exception x) { @@ -258,8 +268,8 @@ public class SeqGroupIndexVector extends InputType implements return true; } catch (Exception x) { - warnings.append("Invalid molecule type '" + val - + "'. Must be one of ("); + warnings.append( + "Invalid molecule type '" + val + "'. Must be one of ("); for (molType v : molType.values()) { warnings.append(" " + v);