@Override public void setRules(String aclName, UserEntry[] userEntries, boolean overwrite) { ACL acl = getACL(aclName); if (acl == null) { // create the loca ACL acl = new ACLImpl(aclName); addACL(acl); } else if (overwrite) { // :XXX: Should not overwrite entries not given as parameters here. acl.clear(); } for (UserEntry entry : userEntries) { String username = entry.getUserName(); for (String permission : entry.getGrantedPermissions()) { acl.add(new ACE(username, permission, true)); } for (String permission : entry.getDeniedPermissions()) { acl.add(new ACE(username, permission, false)); } } cache.clear(); }
UserEntry entry = new UserEntryImpl(e.getKey()); for (String permission : e.getValue()) { entry.addPrivilege(permission, true, false); UserEntry entry = new UserEntryImpl(e.getKey()); for (String permission : e.getValue()) { entry.addPrivilege(permission, false, false);
private static void copyTo(ACE[] aces, int s0, UserEntry[] entries, int s1, int len) { for (int i = s0, k = s1; i < len; i++, k++) { ACE ace = aces[i]; UserEntry entry = new UserEntryImpl(ace.getUsername()); entry.addPrivilege(ace.getPermission(), ace.isGranted(), false); entries[k] = entry; } }
@Override public void applyDefaultPermissions(String userOrGroupName) { if (userOrGroupName == null) { throw new NullPointerException("null userOrGroupName"); } if (!isAdministrator()) { throw new DocumentSecurityException("You need to be an Administrator to do this."); } DocumentModel rootDocument = getRootDocument(); ACP acp = new ACPImpl(); UserEntry userEntry = new UserEntryImpl(userOrGroupName); userEntry.addPrivilege(READ); acp.setRules(new UserEntry[] { userEntry }); setACP(rootDocument.getRef(), acp, false); }