X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FChangeCaseCommand.java;h=2d617052c83a99c2f56ddd0226007d6147cdb8c1;hb=9d2408483e451285fd555c3cd6e0273977acbaa7;hp=29cc8d03132fa45d29ad4e750aa1fbd3e262c6ec;hpb=d423f22792e47dbc800ae220a58677f988971d06;p=jalview.git diff --git a/src/jalview/commands/ChangeCaseCommand.java b/src/jalview/commands/ChangeCaseCommand.java index 29cc8d0..2d61705 100644 --- a/src/jalview/commands/ChangeCaseCommand.java +++ b/src/jalview/commands/ChangeCaseCommand.java @@ -1,23 +1,31 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5) - * Copyright (C) 2010 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.commands; -import jalview.datamodel.*; +import java.util.Locale; + +import jalview.datamodel.AlignmentI; +import jalview.datamodel.SequenceI; + +import java.util.List; public class ChangeCaseCommand implements CommandI { @@ -33,10 +41,10 @@ public class ChangeCaseCommand implements CommandI SequenceI[] seqs; - int[][] regions; + List regions; public ChangeCaseCommand(String description, SequenceI[] seqs, - int[][] regions, int caseChange) + List regions, int caseChange) { this.description = description; this.seqs = seqs; @@ -70,21 +78,21 @@ public class ChangeCaseCommand implements CommandI String sequence; int start, end; char nextChar; - for (int r = 0; r < regions.length; r++) + for (int[] r : regions) { - start = regions[r][0]; + start = r[0]; for (int s = 0; s < seqs.length; s++) { sequence = seqs[s].getSequenceAsString(); StringBuffer newSeq = new StringBuffer(); - if (regions[r][1] > sequence.length()) + if (r[1] > sequence.length()) { end = sequence.length(); } else { - end = regions[r][1]; + end = r[1]; } if (start > 0) @@ -95,13 +103,13 @@ public class ChangeCaseCommand implements CommandI if ((caseChange == TO_UPPER && doCommand) || (caseChange == TO_LOWER && !doCommand)) { - newSeq.append(sequence.substring(start, end).toUpperCase()); + newSeq.append(sequence.substring(start, end).toUpperCase(Locale.ROOT)); } else if ((caseChange == TO_LOWER && doCommand) || (caseChange == TO_UPPER && !doCommand)) { - newSeq.append(sequence.substring(start, end).toLowerCase()); + newSeq.append(sequence.substring(start, end).toLowerCase(Locale.ROOT)); } else