/** * Since member of groups can't be null, "cn=none" if the group has no real members. * * @param group * @return */ public static boolean hasMembers(final LdapGroup group) { if (group.getMembers() == null || group.getMembers().size() == 0) { return false; } if (group.getMembers().size() > 1) { return true; } return group.getMembers().iterator().next().startsWith(NONE_UNIQUE_MEMBER_ID) == false; }
private boolean isMembersEmpty(final LdapGroup ldapGroup) { final Set<String> members = ldapGroup.getMembers(); if (CollectionUtils.isEmpty(members) == true) { return true; } if (members.size() > 1) { return false; } final String member = members.iterator().next(); return member == null || member.startsWith("cn=none") == true; }
private void assertMembers(final LdapGroup ldapGroup, final String... usernames) { final Set<String> members = ldapGroup.getMembers(); Assert.assertFalse(CollectionUtils.isEmpty(members)); Assert.assertEquals(usernames.length, members.size()); final LdapConfig ldapConfig = ldapRealTestHelper.ldapConfig; for (final String username : usernames) { final String user = "uid=" + username + "," + ldapConfig.getUserBase() + "," + ldapConfig.getBaseDN(); assertTrue(members.contains(user)); } }
/** * Copies the fields. * * @param src * @param dest * @return true if any modification is detected, otherwise false. */ public boolean copyGroupFields(final LdapGroup src, final LdapGroup dest) { boolean modified; final List<String> properties = new LinkedList<String>(); ListHelper.addAll(properties, "description", "organization"); if (ldapUserDao.isPosixAccountsConfigured() == true && isPosixAccountValuesEmpty(src) == false) { ListHelper.addAll(properties, "gidNumber"); } modified = BeanHelper.copyProperties(src, dest, true, properties.toArray(new String[0])); // Checks if the sets aren't equal: if (SetUtils.isEqualSet(src.getMembers(), dest.getMembers()) == false) { if (LdapGroupDao.hasMembers(src) == true || LdapGroupDao.hasMembers(dest) == true) { // If both, src and dest have no members, then do nothing, otherwise: modified = true; dest.clearMembers(); dest.addAllMembers(src.getMembers()); } } return modified; } }
createAndAddModificationItems(list, "o", group.getOrganization()); createAndAddModificationItems(list, "description", group.getDescription()); if (CollectionUtils.isNotEmpty(group.getMembers()) == true) { createAndAddModificationItems(list, "uniqueMember", group.getMembers()); } else { createAndAddModificationItems(list, "uniqueMember", NONE_UNIQUE_MEMBER_ID);