[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#4034) LdapResultSet fails with multi-value attributes

Full_Name: Teddy Wang
Version: JDBC-LDAP 2.0
OS: Windows 2000 Professional
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (

I've been testing the JDBC-LDAP bridge and found a pretty big omission in
functionality.  It appears that any multi-value attributes are hidden behind a
"name_n", where n is a numeric value starting at 0 incrementing with the number
of attribute values - 1 using the "name", convention.  This is easily remedied
through the implementation of a getList() method:

public List getList(java.lang.String str) throws java.sql.SQLException
        final String columnName = str;
        List list = new ArrayList();
        Predicate startsWithPredicate = new Predicate() 
            public boolean evaluate(Object o) 
                return (o instanceof String) && (((String)
        Collection keys = row.keySet();
        Collection names = CollectionUtils.select(keys, startsWithPredicate);
        Iterator iter = names.iterator();
        return list;

As this code is contributed by octetstring, I'm not quite sure what is the best
way to contribute this code.