use of org.apereo.portal.groups.EntityImpl in project uPortal by Jasig.
the class LDAPGroupStore method findEntitiesForGroup.
public Iterator findEntitiesForGroup(IEntityGroup group) throws GroupsException {
GroupShadow shadow = getShadow(group);
ArrayList al = new ArrayList();
String[] keys = getPersonKeys(shadow.key);
for (int i = 0; i < keys.length; i++) {
al.add(new EntityImpl(keys[i], iperson));
}
return al.iterator();
}
use of org.apereo.portal.groups.EntityImpl in project uPortal by Jasig.
the class GrouperEntityGroupStore method findEntitiesForGroup.
/* (non-Javadoc)
* @see org.apereo.portal.groups.IEntityGroupStore#findEntitiesForGroup(org.apereo.portal.groups.IEntityGroup)
*/
@SuppressWarnings("unchecked")
public Iterator findEntitiesForGroup(IEntityGroup group) throws GroupsException {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Searching Grouper for members of the group with key: " + group.getKey());
}
try {
// execute a search for members of the specified group
GcGetMembers getGroupsMembers = new GcGetMembers();
getGroupsMembers.addGroupName(group.getLocalKey());
getGroupsMembers.assignIncludeSubjectDetail(true);
WsGetMembersResults results = getGroupsMembers.execute();
if (results == null || results.getResults() == null || results.getResults().length == 0 || results.getResults()[0].getWsSubjects() == null) {
LOGGER.debug("No members found for Grouper group with key " + group.getLocalKey());
return Collections.<IGroupMember>emptyList().iterator();
}
WsSubject[] gInfos = results.getResults()[0].getWsSubjects();
final List<IGroupMember> members = new ArrayList<IGroupMember>(gInfos.length);
// add each result to the member list
for (WsSubject gInfo : gInfos) {
// if the member is not a group (aka person)
if (!StringUtils.equals(gInfo.getSourceId(), "g:gsa")) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("creating leaf member:" + gInfo.getId() + " and name: " + gInfo.getName() + " from group: " + group.getLocalKey());
}
//use the name instead of id as it shows better in the display
IGroupMember member = new EntityImpl(gInfo.getName(), IPerson.class);
members.add(member);
}
}
// return an iterator for the assembled group
return members.iterator();
} catch (Exception e) {
LOGGER.warn("Exception while attempting to retrieve " + "member entities of group with key " + group.getKey() + " from Grouper web services: " + e.getMessage());
return Collections.<IGroupMember>emptyList().iterator();
}
}
Aggregations