/** * Compiles the ACL for a relation.<p> * * @param cms the CMS context * @param resource the resource for which to collect the ACLs * @param onlyBasic flag to only include basic ACEs * * @return the ACL for the resource */ protected Acl collectAcl(CmsObject cms, CmsResource resource, boolean onlyBasic) { AccessControlListImpl cmisAcl = new AccessControlListImpl(); List<Ace> cmisAces = new ArrayList<Ace>(); cmisAcl.setAces(cmisAces); cmisAcl.setExact(Boolean.FALSE); return cmisAcl; }
result.setExact(getBoolean(json, JSON_ACL_IS_EXACT));
result.setExact(!onlyBasicPermissions);
result.setExact(getBoolean(json, JSON_ACL_IS_EXACT));
result.setExact(!onlyBasicPermissions);
/** * Compiles the ACL for a file or folder. * @param cms the CMS context * @param resource the resource for which to collect the ACLs * @param onlyBasic flag to only include basic ACEs * * @return the ACL for the resource * @throws CmsException if something goes wrong */ protected Acl collectAcl(CmsObject cms, CmsResource resource, boolean onlyBasic) throws CmsException { AccessControlListImpl cmisAcl = new AccessControlListImpl(); List<Ace> cmisAces = new ArrayList<Ace>(); List<CmsAccessControlEntry> aces = cms.getAccessControlEntries(resource.getRootPath(), true); for (CmsAccessControlEntry ace : aces) { boolean isDirect = ace.getResource().equals(resource.getResourceId()); CmsUUID principalId = ace.getPrincipal(); String principalName = getAcePrincipalName(cms, principalId); AccessControlEntryImpl cmisAce = new AccessControlEntryImpl(); AccessControlPrincipalDataImpl cmisPrincipal = new AccessControlPrincipalDataImpl(); cmisPrincipal.setId(principalName); cmisAce.setPrincipal(cmisPrincipal); cmisAce.setPermissions(onlyBasic ? getCmisPermissions(ace) : getNativePermissions(ace)); cmisAce.setDirect(isDirect); cmisAces.add(cmisAce); } cmisAcl.setAces(cmisAces); cmisAcl.setExact(Boolean.FALSE); return cmisAcl; }
/** * Converts an ACL object with its ACEs. */ public static Acl convert(CmisAccessControlListType acl, Boolean isExact) { if (acl == null) { return null; } AccessControlListImpl result = new AccessControlListImpl(); List<Ace> aces = new ArrayList<Ace>(); for (CmisAccessControlEntryType entry : acl.getPermission()) { if (entry == null) { continue; } AccessControlEntryImpl ace = new AccessControlEntryImpl(); ace.setDirect(entry.isDirect()); ace.setPermissions(entry.getPermission()); AccessControlPrincipalDataImpl principal = new AccessControlPrincipalDataImpl( entry.getPrincipal() == null ? null : entry.getPrincipal().getPrincipalId()); convertExtension(entry.getPrincipal(), principal); ace.setPrincipal(principal); // handle extensions convertExtension(entry, ace); aces.add(ace); } result.setAces(aces); result.setExact(isExact); // handle extensions convertExtension(acl, result); return result; }
if (object.getAcl() != null) { originalAces = new AccessControlListImpl(object.getAcl().getAces()); originalAces.setExact(object.isExactAcl());
if (object.getAcl() != null) { originalAces = new AccessControlListImpl(object.getAcl().getAces()); originalAces.setExact(object.isExactAcl());