X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fschemes%2FColourSchemes.java;h=14daed6953f7d95f9258462f7d7a8d066b1cdd2a;hb=f721bbb9c300f6a1c845659b3947ebeca2795523;hp=b28139fd430454fe2bbf957e62b5f32def957fa1;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/schemes/ColourSchemes.java b/src/jalview/schemes/ColourSchemes.java index b28139f..14daed6 100644 --- a/src/jalview/schemes/ColourSchemes.java +++ b/src/jalview/schemes/ColourSchemes.java @@ -1,5 +1,28 @@ +/* + * 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.schemes; +import java.util.Locale; + +import jalview.api.AlignViewportI; import jalview.datamodel.AnnotatedCollectionI; import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceI; @@ -45,17 +68,22 @@ public class ColourSchemes * store in an order-preserving map, so items can be added to menus * in the order in which they are 'discovered' */ - schemes = new LinkedHashMap(); + schemes = new LinkedHashMap<>(); for (JalviewColourScheme cs : JalviewColourScheme.values()) { try { - registerColourScheme(cs.getSchemeClass().newInstance()); + registerColourScheme( + cs.getSchemeClass().getDeclaredConstructor().newInstance()); } catch (InstantiationException | IllegalAccessException e) { System.err.println("Error instantiating colour scheme for " + cs.toString() + " " + e.getMessage()); + e.printStackTrace(); + } catch (ReflectiveOperationException roe) + { + roe.printStackTrace(); } } } @@ -78,7 +106,7 @@ public class ColourSchemes * name is lower-case for non-case-sensitive lookup * (name in the colour keeps its true case) */ - String lower = name.toLowerCase(); + String lower = name.toLowerCase(Locale.ROOT); if (schemes.containsKey(lower)) { System.err @@ -96,7 +124,7 @@ public class ColourSchemes { if (name != null) { - schemes.remove(name.toLowerCase()); + schemes.remove(name.toLowerCase(Locale.ROOT)); } } @@ -106,6 +134,7 @@ public class ColourSchemes * * @param name * name of the colour scheme + * @param viewport * @param forData * the data to be coloured * @param optional @@ -113,7 +142,7 @@ public class ColourSchemes * represent * @return */ - public ColourSchemeI getColourScheme(String name, + public ColourSchemeI getColourScheme(String name, AlignViewportI viewport, AnnotatedCollectionI forData, Map hiddenRepSequences) { @@ -121,8 +150,8 @@ public class ColourSchemes { return null; } - ColourSchemeI cs = schemes.get(name.toLowerCase()); - return cs == null ? null : cs.getInstance(forData, hiddenRepSequences); + ColourSchemeI cs = schemes.get(name.toLowerCase(Locale.ROOT)); + return cs == null ? null : cs.getInstance(viewport, forData); } /** @@ -138,7 +167,7 @@ public class ColourSchemes public ColourSchemeI getColourScheme(String name, AnnotatedCollectionI forData) { - return getColourScheme(name, forData, null); + return getColourScheme(name, null, forData, null); } /** @@ -165,6 +194,6 @@ public class ColourSchemes { return false; } - return schemes.containsKey(name.toLowerCase()); + return schemes.containsKey(name.toLowerCase(Locale.ROOT)); } }