Hi, I looked at Ted Husted's example (Ted's catalogue) for using
BeanUtils.populate() to populate beans from a database query, and put them
into an ArrayList.
I am working on some code which queries an LDAP Directory and requires the
same kind of functionality. I reworked Ted's example to fit my needs, but
the beans never seem to get populated, so I end up with a ArrayList of empty
beans! I am using the package org.apache.commons.beanutils to do this and I
have tried version 1.0 and 1.1.
The relevant part of the code is shown below. I may have missed something
obvious, but I cannot see it! I have already verified that I am getting data
from the LDAP query, and I am believe the problem lies in popuating the
bean.
Thanks in advance
Neil
*****************************************************************
// start looping over the LDAP entries...
while ( searchResults.hasMoreElements())
{
LDAPEntry nextEntry = null;
try
{
nextEntry = searchResults.next();
}
catch(LDAPException e)
{
System.out.println("Error: " + e.toString());
// Exception is thrown, go for next entry
continue;
}
// create a HashMap to hold att/val pairs...
HashMap properties = new HashMap();
LDAPAttributeSet attributeSet = nextEntry.getAttributeSet();
Enumeration allAttributes = attributeSet.getAttributes();
// loop over each attribute..
while(allAttributes.hasMoreElements())
{
LDAPAttribute attrib = (LDAPAttribute)allAttributes.nextElement();
// get the current attribute name...
String attributeName = attrib.getName();
// get the value(s) for this attribute...
String[] Values = attrib.getStringValueArray();
// if we have at least 1 value for this attribute...
if( allValues.length != 0)
{
properties.put(attributeName, Values);
}
}
// now populate bean for this entry...
try
{
//instantiate new bean to hold results...
UserResult userresult = new UserResult();
BeanUtils.populate(userresult,properties);
list.add(userresult);
}
catch (Exception e)
{
throw new IllegalAccessException("RequestUtils.getCollection: " +
e.toString());
}
}
*******rest of code follows.......
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>