in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/post/ModifyPrincipalAceServlet.java [162:185]
protected JackrabbitAccessControlList getAcl(@NotNull AccessControlManager acm, String resourcePath, Principal principal)
throws RepositoryException {
JackrabbitAccessControlList acl = null;
if (acm instanceof JackrabbitAccessControlManager) {
JackrabbitAccessControlManager jacm = (JackrabbitAccessControlManager)acm;
AccessControlPolicy[] policies = jacm.getPolicies(principal);
for (AccessControlPolicy policy : policies) {
if (policy instanceof PrincipalAccessControlList) {
acl = (PrincipalAccessControlList) policy;
break;
}
}
if (acl == null) {
AccessControlPolicy[] applicablePolicies = jacm.getApplicablePolicies(principal);
for (AccessControlPolicy policy : applicablePolicies) {
if (policy instanceof PrincipalAccessControlList) {
acl = (PrincipalAccessControlList) policy;
break;
}
}
}
}
return acl;
}