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);
}
}