private static void expandAllowAndDenyPrivWithoutAggregates()

in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/impl/PrivilegesHelper.java [186:209]


    private static void expandAllowAndDenyPrivWithoutAggregates(Map<Privilege, LocalPrivilege> privilegeToLocalPrivilegesMap,
            Privilege p,
            boolean allow, @NotNull Set<LocalRestriction> allowRestrictions,
            boolean deny, @NotNull Set<LocalRestriction> denyRestrictions
            ) throws RepositoryException {
        if (p.isAggregate()) {
            Privilege[] aggregatePrivileges = p.getDeclaredAggregatePrivileges();
            for (Privilege aggregatePrivilege : aggregatePrivileges) {
                if (aggregatePrivilege.isAggregate()) {
                    expandAllowAndDenyPrivWithoutAggregates(privilegeToLocalPrivilegesMap, aggregatePrivilege,
                            allow, allowRestrictions,
                            deny, denyRestrictions);
                } else {
                    localAllowAndDenyPriv(privilegeToLocalPrivilegesMap, aggregatePrivilege,
                            allow, allowRestrictions,
                            deny, denyRestrictions);
                }
            }
        } else {
            localAllowAndDenyPriv(privilegeToLocalPrivilegesMap, p,
                    allow, allowRestrictions,
                    deny, denyRestrictions);
        }
    }