JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / src / jalview / schemes / ColourSchemes.java
index e11540c..d31fbba 100644 (file)
 package jalview.schemes;
 
 import jalview.api.AlignViewportI;
-import jalview.bin.ApplicationSingletonProvider;
-import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI;
 import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.SequenceCollectionI;
 import jalview.datamodel.SequenceI;
-import jalview.util.ColorUtils;
 
-import java.awt.Color;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-public class ColourSchemes implements ApplicationSingletonI
+public class ColourSchemes
 {
+  /*
+   * singleton instance of this class
+   */
+  private static ColourSchemes instance = new ColourSchemes();
+
+  /*
+   * a map from scheme name (lower-cased) to an instance of it
+   */
+  private Map<String, ColourSchemeI> schemes;
 
   /**
    * Returns the singleton instance of this class
@@ -42,8 +47,7 @@ public class ColourSchemes implements ApplicationSingletonI
    */
   public static ColourSchemes getInstance()
   {
-    return (ColourSchemes) ApplicationSingletonProvider
-            .getInstance(ColourSchemes.class);
+    return instance;
   }
 
   private ColourSchemes()
@@ -52,51 +56,6 @@ public class ColourSchemes implements ApplicationSingletonI
   }
 
   /**
-   * ColourSchemeProperty "static"
-   */
-  public Color[] rnaHelices = null;
-
-  /**
-   * delete the existing cached RNA helices colours
-   */
-  public static void resetRnaHelicesShading()
-  {
-    getInstance().rnaHelices = null;
-  }
-
-  public static void initRnaHelicesShading(int n)
-  {
-    int i = 0;
-    ColourSchemes j = getInstance();
-
-    if (j.rnaHelices == null)
-    {
-      j.rnaHelices = new Color[n + 1];
-    }
-    else if (j.rnaHelices != null && j.rnaHelices.length <= n)
-    {
-      Color[] t = new Color[n + 1];
-      System.arraycopy(j.rnaHelices, 0, t, 0, j.rnaHelices.length);
-      i = j.rnaHelices.length;
-      j.rnaHelices = t;
-    }
-    else
-    {
-      return;
-    }
-    // Generate random colors and store
-    for (; i <= n; i++)
-    {
-      j.rnaHelices[i] = ColorUtils.generateRandomColor(Color.white);
-    }
-  }
-
-  /**
-   * a map from scheme name (lower-cased) to an instance of it
-   */
-  private Map<String, ColourSchemeI> schemes;
-
-  /**
    * Loads an instance of each standard or user-defined colour scheme
    * 
    * @return
@@ -113,12 +72,16 @@ public class ColourSchemes implements ApplicationSingletonI
     {
       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();
       }
     }
   }