package org.argeo.security.core; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.InitializingBean; /** * Maintains a list of authentication providers injected in to a provider * manager, in order to avoid issues with OSGi services and use packages. */ public class AuthenticationProvidersRegister implements InitializingBean { private Log log = LogFactory.getLog(AuthenticationProvidersRegister.class); private List providers = new ArrayList(); private List defaultProviders = new ArrayList(); public void register(Object authenticationProvider, Map parameters) { providers.add(authenticationProvider); if (log.isTraceEnabled()) log.trace("Registered authentication provider " + parameters); } public void unregister(Object authenticationProvider, Map parameters) { providers.remove(authenticationProvider); if (log.isTraceEnabled()) log.trace("Unregistered authentication provider " + parameters); } public List getProviders() { return providers; } public void setDefaultProviders( List defaultProviders) { this.defaultProviders = defaultProviders; } public void afterPropertiesSet() throws Exception { providers.addAll(defaultProviders); } }