public void visitSetAclPrincipal()

in src/main/java/org/apache/sling/jcr/repoinit/impl/AclVisitor.java [99:117]


    public void visitSetAclPrincipal(SetAclPrincipals s) {
        final List<String> principals = s.getPrincipals();
        for (AclLine line : s.getLines()) {
            List<String> paths = line.getProperty(PROP_PATHS);
            // empty paths indicates a repository ACL ...
            final boolean isRepositoryAcl = paths.isEmpty();
            // ... which needs to be represented with the path ":repository"
            paths = isRepositoryAcl ? Collections.singletonList(AclLine.PATH_REPOSITORY) : paths;
            try {
                handleAclLine(line, Instruction.SET, principals, paths, s.getOptions());
            } catch (Exception e) {
                if (isRepositoryAcl) {
                    report(e, "Failed to set repository level ACL (" + e + ") " + line);
                } else {
                    report(e, "Failed to set ACL (" + e + ") " + line);
                }
            }
        }
    }