{
List<MembershipCriteriaDTO> membershipCriteria = membershipCriteriaDAO.execute(null);
HashSet<Person> results = new HashSet<Person>();
PersonLookupStrategy lookupStrategy = null;
for (MembershipCriteriaDTO criterion : membershipCriteria)
{
String ldapQuery = criterion.getCriteria();
log.info("Processing criteria: " + ldapQuery);
if (ldapQuery.contains("="))
{
lookupStrategy = attributeLookupStrategy;
}
else
{
lookupStrategy = groupLookupStrategy;
}
List<Person> people = lookupStrategy.findPeople(ldapQuery, new Integer(Integer.MAX_VALUE));
log.info(people.size() + " people found for criteria.");
results.addAll(people);
}
return results;
}