+ List<Role> directMembers = new ArrayList<Role>();
+ for (LdapName ldapName : getMemberNames()) {
+ Role role = getUserAdmin().getRole(ldapName.toString());
+ if (role == null) {
+ if (getUserAdmin().getExternalRoles() != null)
+ role = getUserAdmin().getExternalRoles().getRole(
+ ldapName.toString());
+ }
+ if (role == null)
+ throw new UserDirectoryException("No role found for "
+ + ldapName);
+ directMembers.add(role);
+ }
+ return directMembers.toArray(new Role[directMembers.size()]);
+ }
+
+ @Override
+ public List<LdapName> getMemberNames() {
+ Attribute memberAttribute = getAttributes().get(memberAttributeId);