X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fstructure%2FStructureSelectionManager.java;h=bf140001c3a5913992dc673db9fa4fe8bbbad5fe;hb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;hp=a76a27ef3eb4efb36f7465eacab1da3f0ac2fa53;hpb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;p=jalview.git
diff --git a/src/jalview/structure/StructureSelectionManager.java b/src/jalview/structure/StructureSelectionManager.java
index a76a27e..bf14000 100644
--- a/src/jalview/structure/StructureSelectionManager.java
+++ b/src/jalview/structure/StructureSelectionManager.java
@@ -1,19 +1,20 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 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.structure;
@@ -53,10 +54,26 @@ public class StructureSelectionManager
}
Hashtable mappingData = new Hashtable();
-
+ private static StructureSelectionManager nullProvider = null;
public static StructureSelectionManager getStructureSelectionManager(
StructureSelectionManagerProvider context)
{
+ if (context==null) {
+ if (nullProvider == null)
+ {
+ if (instances != null)
+ {
+ throw new Error(
+ "Implementation error. Structure selection manager's context is 'null'",
+ new NullPointerException("SSM context is null"));
+ }
+ else
+ {
+ nullProvider = new StructureSelectionManager();
+ }
+ return nullProvider;
+ }
+ }
if (instances == null)
{
instances = new java.util.IdentityHashMap();
@@ -64,7 +81,13 @@ public class StructureSelectionManager
StructureSelectionManager instance = instances.get(context);
if (instance == null)
{
- instances.put(context, instance = new StructureSelectionManager());
+ if (nullProvider!=null)
+ {
+ instance = nullProvider;
+ } else {
+ instance = new StructureSelectionManager();
+ }
+ instances.put(context, instance);
}
return instance;
}