@Override public void addACL(int pos, ACL acl) { ACL oldACL = getACL(acl.getName()); if (oldACL != null) { acls.remove(oldACL); } acls.add(pos, acl); cache.clear(); }
@Override public ACL getOrCreateACL(String name) { ACL acl = getACL(name); if (acl == null) { acl = new ACLImpl(name); addACL(acl); } return acl; }
public void addACL(ACL acl) { assert acl != null; ACL oldACL = getACL(acl.getName()); if (!acl.equals(oldACL)) { case ACL.LOCAL_ACL: ACL inherited = getACL(ACL.INHERITED_ACL); if (inherited != null) { int i = acls.indexOf(inherited); ACL local = getACL(ACL.LOCAL_ACL); if (local != null) { int i = acls.indexOf(local); inherited = getACL(ACL.INHERITED_ACL); if (inherited != null) { int i = acls.indexOf(inherited);
public void addAccessRule(String aclName, ACE ace) { ACL acl = getACL(aclName); if (acl == null) { acl = new ACLImpl(aclName); addACL(acl); } acl.add(ace); }
@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(); }