directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Valery Maslau (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (DIRAPI-53) Method getAttributeTypes() from the org.apache.directory.shared.ldap.model.entry.DefaultEntry does not return values
Date Wed, 28 Sep 2011 10:45:45 GMT
Method getAttributeTypes() from the org.apache.directory.shared.ldap.model.entry.DefaultEntry
does not return values
--------------------------------------------------------------------------------------------------------------------

                 Key: DIRAPI-53
                 URL: https://issues.apache.org/jira/browse/DIRAPI-53
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 1.0.0-M8
         Environment: Win7 64bit, RAM 8Gb, ApacheDS 1.5, LDAP API 1.0.0-M8, JBoss Developer
Studio 4, JDK 1.6.0_u27 64bit
            Reporter: Valery Maslau


There is the code:

public class LDAP_01 {

      public static void main(String[] args) {
        System.out.println("Started.");
        LdapConnection connection = new LdapNetworkConnection("localhost", 10389);
        connection.setTimeOut(30000);
        Dn dn;
        try {
            dn = new Dn("uid=admin,ou=system");
            BindRequest brq = new BindRequestImpl();
            brq.setName(dn);
            brq.setCredentials("somepassword");
            BindResponse br = connection.bind(brq);
            if (connection.isConnected()) {
                System.out.println("Connected.");
                if (connection.isAuthenticated()) {
                    if (ResultCodeEnum.SUCCESS == br.getLdapResult().getResultCode()) {
                        System.out.println("Yeah! Binded...");
                        dn = new Dn("uid=mvn,o=ipgo");
                        SearchRequest sr = new SearchRequestImpl();
                        sr.setBase(dn);
                        sr.setFilter("(cn=mvnval)");
                        sr.setScope(SearchScope.SUBTREE);
                        SearchCursor scr = connection.search(sr);
                        scr.next();
                        Response rsp = scr.get();
                        if (rsp != null) {
                            if (rsp instanceof SearchResultEntry) {
                                SearchResultEntry sre = (SearchResultEntry) rsp;
                                Entry entr = sre.getEntry();
                                System.out.println("#### " + entr.toString());
                                Set<AttributeType> attrs = entr.getAttributeTypes();
                                if (attrs.isEmpty()) {
                                    System.out.println("#### Empty Attributes!");
                                }
                                for (AttributeType item : attrs) {
                                    System.out.println("#### " + item.toString());
                                }
                            }
                        }
                    }

                }
            }
        } catch (LdapException e1) {
            e1.printStackTrace();
            System.exit(0);
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

        try {
            connection.close();
            System.out.println("#### Connection closed");
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("Yeah! Finished.");
    }
}

There is the console output:
Connected.
Yeah! Binded...
#### Entry
    dn: uid=mvn,o=ipgo
    objectClass: organizationalPerson
    objectClass: person
    objectClass: inetOrgPerson
    objectClass: top
    uid: mvn
    userPassword: ****************************
    sn: m
    title: cn=SEM,ou=Roles,o=ipgo
    title: cn=Software Engineering Manager,ou=Roles,o=ipgo
    cn: mvnval

#### Empty Attributes!
#### Connection closed
Yeah! Finished.

So, the method getAttributeTypes returns the empty Set ever; however it can be noticed that
the data is present into the Entry object, but can be retrieved only using toString() method.


The method from the DefaultEntry.class ever returns empty attributeTypes: 
public final class DefaultEntry implements Entry
......
public Set<AttributeType> getAttributeTypes()
    {
        Set<AttributeType> attributeTypes = new HashSet<AttributeType>();

        for ( Attribute attribute : attributes.values() )
        {
            if ( attribute.getAttributeType() != null )
            {
                attributeTypes.add( attribute.getAttributeType() );
            }
        }

        return attributeTypes;
    }


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message