View Javadoc

1   package com.atlassian.user.impl.ldap.properties.factory;
2   
3   import com.atlassian.user.configuration.Configuration;
4   import com.atlassian.user.impl.ldap.properties.DefaultLdapSearchProperties;
5   import com.atlassian.user.impl.ldap.properties.LdapSearchProperties;
6   import org.apache.log4j.Logger;
7   
8   import java.util.Properties;
9   
10  public class LdapSearchPropertiesFactory
11  {
12      protected final Logger log = Logger.getLogger(this.getClass());
13  
14      public LdapSearchProperties createInstance(Properties properties)
15      {
16          DefaultLdapSearchProperties result = new DefaultLdapSearchProperties();
17          result.setBaseGroupNamespace(properties.getProperty(Configuration.BASE_GROUP_NAMESPACE));
18          result.setBaseUserNamespace(properties.getProperty(Configuration.BASE_USER_NAMESPACE));
19          result.setEmailAttribute(properties.getProperty(Configuration.EMAIL_ATTRIBUTE));
20          result.setFirstnameAttribute(properties.getProperty(Configuration.FIRSTNAME_ATTRIBUTE));
21          result.setGroupFilter(properties.getProperty(Configuration.GROUP_SEARCH_FILTER));
22          result.setGroupnameAttribute(properties.getProperty(Configuration.GROUPNAME_ATTRIBUTE));
23          String groupSearchScopeAllDepths = properties.getProperty(Configuration.GROUP_SEARCH_ALL_DEPTHS);
24          result.setGroupSearchScopeAllDepths(Boolean.valueOf(groupSearchScopeAllDepths).booleanValue());
25          result.setSurnameAttribute(properties.getProperty(Configuration.SURNAME_ATTRIBUTE));
26          String timeLimitMillis = properties.getProperty(Configuration.TIME_TO_LIVE);
27          try
28          {
29              result.setTimeLimitMillis(Integer.parseInt(timeLimitMillis));
30          }
31          catch (NumberFormatException e)
32          {
33              log.warn("Error parsing LDAP time limit (in millis) in configuration file, using default value", e);
34          }
35          result.setUserFilter(properties.getProperty(Configuration.USER_SEARCH_FILTER));
36          result.setUsernameAttribute(properties.getProperty(Configuration.USERNAME_ATTRIBUTE));
37          String userSearchScopeAllDepths = properties.getProperty(Configuration.USER_SEARCH_ALL_DEPTHS);
38          result.setUserSearchScopeAllDepths(Boolean.valueOf(userSearchScopeAllDepths).booleanValue());
39  
40          return result;
41      }
42  }