/** * 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); } }
/** * 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); } }
/** * {@inheritDoc} */ @Override public void deleteAclForNode(long aclId) { Acl dbAcl = getAcl(aclId); if (dbAcl.getAclType() == ACLType.DEFINING) { // delete acl members & acl aclCrudDAO.deleteAclMembersByAcl(aclId); aclCrudDAO.deleteAcl(aclId); } if (dbAcl.getAclType() == ACLType.SHARED) { // check unused Long defining = dbAcl.getInheritsFrom(); if (aclCrudDAO.getAcl(defining) == null) { // ADM if (getADMNodesByAcl(aclId, 1).size() == 0) { // delete acl members & acl aclCrudDAO.deleteAclMembersByAcl(aclId); aclCrudDAO.deleteAcl(aclId); } } } }
/** * {@inheritDoc} */ @Override public void deleteAclForNode(long aclId) { Acl dbAcl = getAcl(aclId); if (dbAcl.getAclType() == ACLType.DEFINING) { // delete acl members & acl aclCrudDAO.deleteAclMembersByAcl(aclId); aclCrudDAO.deleteAcl(aclId); } if (dbAcl.getAclType() == ACLType.SHARED) { // check unused Long defining = dbAcl.getInheritsFrom(); if (aclCrudDAO.getAcl(defining) == null) { // ADM if (getADMNodesByAcl(aclId, 1).size() == 0) { // delete acl members & acl aclCrudDAO.deleteAclMembersByAcl(aclId); aclCrudDAO.deleteAcl(aclId); } } } }
aclCrudDAO.deleteAclMembersByAcl(newId); aclCrudDAO.deleteAclMembersByAcl(id); aclCrudDAO.deleteAcl(acl.getId());
aclCrudDAO.deleteAclMembersByAcl(newId); aclCrudDAO.deleteAclMembersByAcl(id); aclCrudDAO.deleteAcl(acl.getId());