gcat/src/main/java/org/gcube/gcat/configuration/isproxies/FacetBasedISConfigurationPr...

36 lines
1.1 KiB
Java

package org.gcube.gcat.configuration.isproxies;
import java.util.HashMap;
import java.util.Map;
import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
public class FacetBasedISConfigurationProxyFactory {
private static final Map<String, FacetBasedISConfigurationProxy> isConfigurationProxies;
static {
isConfigurationProxies = new HashMap<>();
}
private static FacetBasedISConfigurationProxy find(String context) {
FacetBasedISConfigurationProxy isConfigurationProxy = new FacetBasedISConfigurationProxy(context);
return isConfigurationProxy;
}
public synchronized static FacetBasedISConfigurationProxy getInstance(String context) {
FacetBasedISConfigurationProxy isConfigurationProxy = isConfigurationProxies.get(context);
if(isConfigurationProxy == null) {
isConfigurationProxy = find(context);
isConfigurationProxies.put(context, isConfigurationProxy);
}
return isConfigurationProxy;
}
public static FacetBasedISConfigurationProxy getInstance() {
String context = SecretManagerProvider.instance.get().getContext();
return getInstance(context);
}
}