Dashboard > Penrose 1.0 > ... > Embedding Penrose > LDAP Operations
LDAP Operations
Added by Endi S. Dewata, last edited by Endi S. Dewata on Feb 28, 2006
Labels: 
(None)


Bind Operation

String bindDn = "uid=admin,ou=system";
String bindPassword = "secret";

session.bind(bindDn, bindPassword);

Unbind Operation

session.unbind();

Search Operation

String baseDn = "dc=Example,dc=com";
String filter = "(objectClass=*)";

PenroseSearchControls sc = new PenroseSearchControls();
sc.setScope(PenroseSearchControls.SCOPE_SUB);
sc.setAttributes(new String[] { "cn", "description" });

PenroseSearchResults results = session.search(baseDn, filter, sc);

for (Iterator i=results.iterator(); i.hasNext(); ) {
    LDAPEntry entry = (LDAPEntry)i.next();

    System.out.println("dn: "+entry.getDN());

    LDAPAttributeSet attributeSet = entry.getAttributeSet();

    for (Iterator j=attributeSet.iterator(); j.hasNext(); ) {
        LDAPAttribute attribute = (LDAPAttribute)j.next();

        String name = attribute.getName();
        String values[] = attribute.getStringValueArray();

        for (int k=0; k<values.length; k++) {
            System.out.println(name+": "+values[k]);
        }
    }
}

Add Operation

LDAPAttributeSet attributeSet = new LDAPAttributeSet();
attributeSet.add(new LDAPAttribute("cn", "Seafood"));
attributeSet.add(new LDAPAttribute("description", "Fish, Shellfish"));
attributeSet.add(new LDAPAttribute("categoryId", "7"));
attributeSet.add(new LDAPAttribute("objectClass", "category"));

LDAPEntry entry = new LDAPEntry("cn=Seafood,ou=Categories,dc=Example,dc=com", attributeSet);

session.add(entry);

Modify Operation

String dn = "cn=Produce,ou=Categories,dc=Example,dc=com";
Collection modifications = new ArrayList();

LDAPModification modification = new LDAPModification(
    LDAPModification.REPLACE,
    new LDAPAttribute("description", "Fruit, Vegetables")
);

modifications.add(modification);

session.modify(dn, modifications);

ModRDN Operation

String dn = "cn=Produce,ou=Categories,dc=Example,dc=com";
String newRdn = "cn=Fruits";

session.modrdn(dn, newRdn);

Compare Operation

String dn = "cn=Seafood,ou=Categories,dc=Example,dc=com";
String attributeType = "description";
String attributeValue = "Fish";

session.compare(dn, attributeType, attributeValue);

Delete Operation

String dn = "cn=Seafood,ou=Categories,dc=Example,dc=com";

session.delete(dn);

References

Site running on a free Atlassian Confluence Open Source Project License granted to Safehaus. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.4 Build:#809 Jun 12, 2007) - Bug/feature request - Contact Administrators