public void apply()

in src/main/java/org/apache/sling/jcr/repoinit/impl/JcrRepoInitOpsProcessorImpl.java [54:78]


    public void apply(Session session, List<Operation> ops) {
        AtomicReference<Operation> lastAttemptedOperation = new AtomicReference<>();
        try {
            Stream.of(
                            // register namespaces first
                            singleton(new NamespacesVisitor(session)),
                            // then create node types and privileges, both use namespaces
                            asList(new NodetypesVisitor(session), new PrivilegeVisitor(session)),
                            // finally apply everything else
                            asList(
                                    new UserVisitor(session),
                                    new NodeVisitor(session),
                                    new AclVisitor(session),
                                    new GroupMembershipVisitor(session),
                                    new NodePropertiesVisitor(session)))
                    .forEach(visitorGroup -> {
                        ops.forEach(op -> {
                            lastAttemptedOperation.set(op);
                            visitorGroup.forEach(op::accept);
                        });
                    });
        } catch (RepoInitException originalFailure) {
            handleLegacyOrderingSupport(session, ops, originalFailure, lastAttemptedOperation);
        }
    }