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 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); } }