@Override public Iterator<OrganizationalEntity> getMembersForGroup(Group group) { String roleContext = getConfigProperty(ROLE_CTX); String roleFilter = getConfigProperty(ROLE_MEMBERS_FILTER, getConfigProperty(ROLE_FILTER)); String roleAttrId = getConfigProperty(MEMBER_ATTR_ID, DEFAULT_MEMBER_ATTR_ID); String entityId = extractEntityId(group); List<String> memberIds = ldapSearcher.search(roleContext, roleFilter, entityId).getAttributeResults(roleAttrId); return memberIds.stream() .filter(memberId -> memberId != null) .map(memberId -> (OrganizationalEntity) TaskModelProvider.getFactory().newUser(memberId)) .collect(Collectors.toList()) .iterator(); }
private String getAttributeValueForEntity(OrganizationalEntity entity, String attributeName, String defaultValue) { String context = getConfigPropertyByEntity(entity, USER_CTX, ROLE_CTX); String filter = getConfigPropertyByEntity(entity, USER_FILTER, ROLE_FILTER); String attrId = getConfigProperty(attributeName, defaultValue); String entityId = extractEntityId(entity); return ldapSearcher.search(context, filter, entityId).getSingleAttributeResult(attrId); }