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

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 GCoreISConfigurationProxyFactory {
private static final Map<String, GCoreISConfigurationProxy> isConfigurationProxies;
static {
isConfigurationProxies = new HashMap<>();
}
private static GCoreISConfigurationProxy find(String context) {
GCoreISConfigurationProxy isConfigurationProxy = new GCoreISConfigurationProxy(context);
return isConfigurationProxy;
}
public synchronized static GCoreISConfigurationProxy getInstance(String context) {
GCoreISConfigurationProxy isConfigurationProxy = isConfigurationProxies.get(context);
if(isConfigurationProxy == null) {
isConfigurationProxy = find(context);
isConfigurationProxies.put(context, isConfigurationProxy);
}
return isConfigurationProxy;
}
public static GCoreISConfigurationProxy getInstance() {
String context = SecretManagerProvider.instance.get().getContext();
return getInstance(context);
}
}