}
Hashtable mappingData = new Hashtable();
-
+ private static StructureSelectionManager nullProvider = null;
public static StructureSelectionManager getStructureSelectionManager(
StructureSelectionManagerProvider context)
{
- if (context==null)
- {
- throw new Error("Implementation error. Structure selection manager's context is 'null'", new NullPointerException("SSM context is null"));
+ 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)
{
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;
}