View Javadoc

1   package com.atlassian.user.impl.ldap.search.page;
2   
3   import com.atlassian.user.EntityException;
4   import com.atlassian.user.impl.ldap.repository.LdapContextFactory;
5   import com.atlassian.user.impl.ldap.search.LDAPPagerInfo;
6   import org.apache.log4j.Category;
7   
8   import javax.naming.directory.Attribute;
9   import javax.naming.directory.Attributes;
10  import javax.naming.directory.SearchResult;
11  import java.util.List;
12  
13  public class LDAPSingleStringPager extends AbstractLDAPPager<String>
14  {
15      public static final Category log = Category.getInstance(LDAPSingleStringPager.class);
16  
17      public LDAPSingleStringPager(LdapContextFactory repository, LDAPPagerInfo info)
18      {
19          super(repository, info);
20  
21          preload();
22      }
23  
24      protected List<String> preloadSearchResult(SearchResult result, List<String> prefetched) throws EntityException
25      {
26          try
27          {
28              Attributes entityAttributes = result.getAttributes();
29              String attributeToFind = returningAttributes[0];
30              Attribute attr = entityAttributes.get(attributeToFind);
31              prefetched.add((String) attr.get());
32          }
33          catch (Throwable t)
34          {
35              log.error("Error converting search result: " + result + " into a string value.", t);
36          }
37  
38          return prefetched;
39      }
40  }