]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/core/AuthenticationProvidersRegister.java
Improve system execution
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.core / src / main / java / org / argeo / security / core / AuthenticationProvidersRegister.java
1 package org.argeo.security.core;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.Map;
6
7 import org.apache.commons.logging.Log;
8 import org.apache.commons.logging.LogFactory;
9 import org.springframework.beans.factory.InitializingBean;
10
11 /**
12 * Maintains a list of authentication providers injected in to a provider
13 * manager, in order to avoid issues with OSGi services and use packages.
14 */
15 public class AuthenticationProvidersRegister implements InitializingBean {
16 private Log log = LogFactory.getLog(AuthenticationProvidersRegister.class);
17
18 private List<Object> providers = new ArrayList<Object>();
19 private List<Object> defaultProviders = new ArrayList<Object>();
20
21 public void register(Object authenticationProvider,
22 Map<String, String> parameters) {
23 providers.add(authenticationProvider);
24 if (log.isTraceEnabled())
25 log.trace("Registered authentication provider " + parameters);
26 }
27
28 public void unregister(Object authenticationProvider,
29 Map<String, String> parameters) {
30 providers.remove(authenticationProvider);
31 if (log.isTraceEnabled())
32 log.trace("Unregistered authentication provider " + parameters);
33 }
34
35 public List<Object> getProviders() {
36 return providers;
37 }
38
39 public void setDefaultProviders(
40 List<Object> defaultProviders) {
41 this.defaultProviders = defaultProviders;
42 }
43
44 public void afterPropertiesSet() throws Exception {
45 providers.addAll(defaultProviders);
46 }
47
48 }