package edu.isi.karma.config;
import java.util.concurrent.ConcurrentHashMap;
public class ModelingConfigurationRegistry {
private static ModelingConfigurationRegistry singleton = new ModelingConfigurationRegistry();
private final ConcurrentHashMap<String, ModelingConfiguration> contextIdToModelingConfiguration = new ConcurrentHashMap<>();
public static ModelingConfigurationRegistry getInstance() {
return singleton;
}
public ModelingConfiguration register(String contextId) {
if(!contextIdToModelingConfiguration.containsKey(contextId))
{
ModelingConfiguration modelingConfiguration = new ModelingConfiguration(contextId);
modelingConfiguration.load();
contextIdToModelingConfiguration.putIfAbsent(contextId, modelingConfiguration);
}
return contextIdToModelingConfiguration.get(contextId);
}
public ModelingConfiguration getModelingConfiguration(String contextId) {
return register(contextId);
}
public void deregister(String contextId) {
contextIdToModelingConfiguration.remove(contextId);
}
}