public void processRepository()

in src/main/java/org/apache/sling/jcr/repoinit/impl/RepositoryInitializer.java [89:110]


    public void processRepository(SlingRepository repo) throws Exception {
        if ( config.references() != null && config.references().length > 0 ) {
            // loginAdministrative is ok here, definitely an admin operation
            @SuppressWarnings("deprecation")
            final Session s = repo.loginAdministrative(null);
            try {
                final RepoinitTextProvider p = new RepoinitTextProvider();
                for(String reference : config.references()) {
                    final String repoinitText = p.getRepoinitText(reference);
                    final List<Operation> ops;
                    try (StringReader sr = new StringReader(repoinitText)) {
                        ops = parser.parse(sr);
                    }
                    log.info("Executing {} repoinit operations", ops.size());
                    processor.apply(s, ops);
                    s.save();
                }
            } finally {
                s.logout();
            }
        }
    }