public T getUser()

in ldap/src/java/org/apache/fulcrum/security/ldap/LDAPUserManagerImpl.java [411:451]


    public <T extends User> T getUser(String name) throws DataBackendException, UnknownEntityException
    {
        try
        {
            DirContext ctx = bindAsAdmin();

            /*
             * Define the search.
             */
            String filter = "(" + this.ldapUsername + "=" + name + ")";

            /*
             * Create the default search controls.
             */
            SearchControls ctls = new SearchControls();

            NamingEnumeration<SearchResult> answer =
                    ctx.search(this.ldapBasesearch, filter, ctls);

            if (answer.hasMore())
            {
                SearchResult sr = answer.next();
                Attributes attribs = sr.getAttributes();

                T ldapUser = getUserInstance();
                setLDAPAttributes(ldapUser, attribs);

                return ldapUser;
            }
            else
            {
                throw new UnknownEntityException("The given user "
                        + name + " does not exist.");
            }
        }
        catch (NamingException ex)
        {
            throw new DataBackendException(
                    "The LDAP server specified is unavailable", ex);
        }
    }