/** * @param docCtx * @param sourceDocument */ public void removePublicAce(CoreSession session, DocumentModel sourceDocument) { // Get proxy DocumentModel proxy = ToutaticeDocumentHelper.getProxy(session, sourceDocument, SecurityConstants.READ); // Get local ACL ACP acp = session.getACP(sourceDocument.getRef()); ACL acl = acp.getOrCreateACL(ACL.LOCAL_ACL); // Remove public ACE (iteraot for dirty doublon case) ACE publicAce = new ACE(SecurityConstants.EVERYONE, SecurityConstants.READ); Iterator<ACE> iterator = acl.iterator(); while (iterator.hasNext()) { ACE ace = iterator.next(); if (publicAce.equals(ace)) { iterator.remove(); } } UnrestrictedAcpSetter setter = new UnrestrictedAcpSetter(session, proxy, acp); setter.runUnrestricted(); }
if(ACE.BLOCK.equals(ace)){ acesList.add(currentUserAce); acesList.add(ACE.BLOCK);