View Javadoc

1   package com.atlassian.user.configuration;
2   
3   import com.atlassian.user.impl.ldap.repository.LdapContextFactory;
4   
5   /**
6    * Top level interface representing the Configuration between a client and Atlassian User.
7    *
8    * The delegation can be accessed via {@link Configuration#getDelegationAccessor()}, once {@link Configuration#init()}
9    * has been called.
10   */
11  
12  public interface Configuration
13  {
14      final String DELEGATION = "delegation";
15  
16      final String PROCESSOR = "processor";
17      final String CLASSES = "classes";
18  
19      final String HIBERNATE = "hibernate";
20      final String LDAP = "ldap";
21      final String OSUSER = "osuser";
22      final String MEMORY = "memory";
23  
24      final String DEFAULT = "default";
25      final String PARAM = "param";
26  
27      final String REPOSITORIES = "repositories";
28      final String REPOSITORY = "repository";
29      final String CLASS = "class";
30      final String AUTHENTICATOR = "authenticator";
31      final String USERMANAGER = "userManager";
32      final String GROUPMANAGER = "groupManager";
33      final String PASSWORD_ENCRYPTOR = "passwordEncryptor";
34      final String PROPERTYSET_FACTORY = "propertySetFactory";
35      final String CACHEFACTORY = "cacheFactory";
36  
37      final String USERFACTORY = "userFactory";
38      final String USERADAPTOR = "userAdaptor";
39      final String GROUPFACTORY = "groupFactory";
40      final String GROUPADAPTOR = "groupAdaptor";
41  
42      final String ENTITY_QUERY_PARSER = "entityQueryParser";
43  
44      final String EXTERNAL_ENTITY_DAO = "externalEntityDAO";
45  
46      //Hibernate elements
47      final String HIBERNATE_CONFIGURATION_PROVIDER = "configurationProvider";
48      final String HIBERNATE_SESSION_FACTORY = "sessionFactory";
49      final String ACCESSOR = "accessor";
50  
51      //OSUser elements
52      final String OSU_CREDENTIALS_PROVIDER = "credentialsProvider";
53      final String OSU_AUTHENTICATOR = AUTHENTICATOR;
54      final String OSU_PROFILE_PROVIDER = "profileProvider";
55      final String OSU_ACCESS_PROVIDER = "accessProvider";
56      final String OSU_CREDENTIALS_PROVIDER_LIST = "credentialsProviderList";
57  
58      //External entity elements
59      final String EXTERNAL_REPOSITORY = "externalRepository";
60  
61      //LDAP connection pool
62      final String MAXSIZE = "maxSize";
63      final String INITSIZE = "initSize";
64      final String PREFSIZE = "prefSize";
65      final String DEBUG = "debugLevel";
66      final String SECURITY_PROTOCOL = "securityProtocol";
67      final String AUTHENTICATION = "authentication";
68      final String TIMEOUT = "timeout";
69      final String TRUSTSTORE = "trustStore";
70  
71      // LDAP connection properties
72      final String SERVER = "server";
73      final String HOST = LdapContextFactory.HOST;
74      final String PORT = LdapContextFactory.PORT;
75      final String SECURITY_PRINCIPAL = LdapContextFactory.SECURITY_PRINCIPAL;
76      final String SECURITY_CREDENTIAL = LdapContextFactory.SECURITY_CREDENTIAL;
77      final String BASE_CONTEXT = "baseContext";
78      final String TIME_TO_LIVE = LdapContextFactory.TIME_TO_LIVE;
79      final String BATCH_SIZE = "batchSize";
80      final String POOLING_ON = "poolingOn";
81      final String INITIAL_CONTEXT_FACTORY_JNDI = "initialContextFactory";
82      final String CONNECT_TIMEOUT = "connectTimeout";
83      final String READ_TIMEOUT = "readTimeout";
84  
85      final String LDAP_SCHEMA_MAPPINGS_PROPERTIES = "schemaMappings";
86      final String LDAP_CONNECTION_POOL_PROPERTIES = "connectionPool";
87  
88      //LDAP entity mappings
89      final String MAPPINGS = "mappings";
90      final String BASE_USER_NAMESPACE = LdapContextFactory.BASE_USER_NAMESPACE;
91      final String BASE_GROUP_NAMESPACE = LdapContextFactory.BASE_GROUP_NAMESPACE;
92      final String USERNAME_ATTRIBUTE = LdapContextFactory.USERNAME_ATTRIBUTE;
93      final String USER_SEARCH_FILTER = LdapContextFactory.USER_SEARCH_FILTER;
94      final String GROUP_SEARCH_FILTER = LdapContextFactory.GROUP_SEARCH_FILTER;
95      final String FIRSTNAME_ATTRIBUTE = LdapContextFactory.FIRSTNAME_ATTRIBUTE;
96      final String SURNAME_ATTRIBUTE = LdapContextFactory.SURNAME_ATTRIBUTE;
97      final String EMAIL_ATTRIBUTE = LdapContextFactory.EMAIL_ATTRIBUTE;
98      final String GROUPNAME_ATTRIBUTE = LdapContextFactory.GROUPNAME_ATTRIBUTE;
99      final String MEMBERSHIP_ATTRIBUTE = LdapContextFactory.MEMBERSHIP_ATTRIBUTE;
100     final String USER_SEARCH_ALL_DEPTHS = LdapContextFactory.USER_SEARCH_ALL_DEPTHS;
101     final String GROUP_SEARCH_ALL_DEPTHS = LdapContextFactory.GROUP_SEARCH_ALL_DEPTHS;
102     final String USE_UNQUALIFIED_USER_NAME_FOR_MEMBERSHIP_COMPARISON = LdapContextFactory.USE_UNQUALIFIED_USER_NAME_FOR_MEMBERSHIP_COMPARISON;
103 
104     final String ORDER = "order";
105     final String KEY = "key";
106     final String NAME = "name";
107     final String DESCRIPTION = "description";
108     final String CACHE = "cache";
109     public final String POOL_AUTHENTICATION = "poolAuthentication";
110     final String PROVIDER_URL = "providerUrl";
111 
112     /**
113      * @return a {@link RepositoryAccessor} holding all configured components.
114      */
115     DelegationAccessor getDelegationAccessor();
116 
117     void init() throws ConfigurationException;
118 
119     boolean isInitialized();
120 }
121