/** * Helper to remove ACEs from an ACL */ private void removeAcesFromAcl(final Long id, final List<? extends AccessControlEntry> exclude, final int depth) { if (exclude == null) { // cascade delete all acl members - no exclusion aclCrudDAO.deleteAclMembersByAcl(id); } else { AcePatternMatcher excluder = new AcePatternMatcher(exclude); List<Map<String, Object>> results = aclCrudDAO.getAcesAndAuthoritiesByAcl(id); List<Long> memberIds = new ArrayList<Long>(results.size()); for (Map<String, Object> result : results) { Long result_aclmemId = (Long) result.get("aclmemId"); if ((exclude != null) && excluder.matches(aclCrudDAO, result, depth)) { memberIds.add(result_aclmemId); } } // delete list of acl members aclCrudDAO.deleteAclMembers(memberIds); } }
private void truncateInherited(final Long id, int depth) { List<AclMember> members = aclCrudDAO.getAclMembersByAcl(id); List<Long> membersToDelete = new ArrayList<Long>(members.size()); for (AclMember member : members) { if (member.getPos() > depth) { membersToDelete.add(member.getId()); } } if (membersToDelete.size() > 0) { // delete list of acl members aclCrudDAO.deleteAclMembers(membersToDelete); } }
/** * Helper to remove ACEs from an ACL */ private void removeAcesFromAcl(final Long id, final List<? extends AccessControlEntry> exclude, final int depth) { if (exclude == null) { // cascade delete all acl members - no exclusion aclCrudDAO.deleteAclMembersByAcl(id); } else { AcePatternMatcher excluder = new AcePatternMatcher(exclude); List<Map<String, Object>> results = aclCrudDAO.getAcesAndAuthoritiesByAcl(id); List<Long> memberIds = new ArrayList<Long>(results.size()); for (Map<String, Object> result : results) { Long result_aclmemId = (Long) result.get("aclmemId"); if ((exclude != null) && excluder.matches(aclCrudDAO, result, depth)) { memberIds.add(result_aclmemId); } } // delete list of acl members aclCrudDAO.deleteAclMembers(memberIds); } }
private void truncateInherited(final Long id, int depth) { List<AclMember> members = aclCrudDAO.getAclMembersByAcl(id); List<Long> membersToDelete = new ArrayList<Long>(members.size()); for (AclMember member : members) { if (member.getPos() > depth) { membersToDelete.add(member.getId()); } } if (membersToDelete.size() > 0) { // delete list of acl members aclCrudDAO.deleteAclMembers(membersToDelete); } }
private void removeInherited(final Long id, int depth) { List<AclMemberEntity> members = aclCrudDAO.getAclMembersByAclForUpdate(id); List<Long> membersToDelete = new ArrayList<Long>(members.size()); for (AclMemberEntity member : members) { if (member.getPos() == depth + 1) { membersToDelete.add(member.getId()); } else if (member.getPos() > (depth + 1)) { member.setPos(member.getPos() - 1); aclCrudDAO.updateAclMember(member); } } if (membersToDelete.size() > 0) { // delete list of acl members aclCrudDAO.deleteAclMembers(membersToDelete); } }
private void removeInherited(final Long id, int depth) { List<AclMemberEntity> members = aclCrudDAO.getAclMembersByAclForUpdate(id); List<Long> membersToDelete = new ArrayList<Long>(members.size()); for (AclMemberEntity member : members) { if (member.getPos() == depth + 1) { membersToDelete.add(member.getId()); } else if (member.getPos() > (depth + 1)) { member.setPos(member.getPos() - 1); aclCrudDAO.updateAclMember(member); } } if (membersToDelete.size() > 0) { // delete list of acl members aclCrudDAO.deleteAclMembers(membersToDelete); } }
aclCrudDAO.deleteAclMembers(membersToDelete);
aclCrudDAO.deleteAclMembers(membersToDelete);