static ResourceResolverFactory buildFactoryFromRepository()

in core/src/main/java/org/apache/sling/testing/mock/sling/MockSling.java [105:124]


    static ResourceResolverFactory buildFactoryFromRepository(
            @NotNull NodeTypeMode mode, @NotNull BundleContext bundleContext, ResourceResolverTypeAdapter adapter) {
        ResourceResolverFactory factory;
        Object existingSnapshot = SNAPSHOTS.get(adapter.getClass());
        SlingRepository repository;
        if (existingSnapshot == null) {
            repository = adapter.newSlingRepository();
        } else {
            repository = adapter.newSlingRepositoryFromSnapshot(existingSnapshot);
        }
        factory = ResourceResolverFactoryInitializer.setUp(
                repository, bundleContext, existingSnapshot == null ? mode : NodeTypeMode.NOT_SUPPORTED);
        if (existingSnapshot == null) {
            Object newSnapshot = adapter.snapshot(repository);
            if (newSnapshot != null) {
                SNAPSHOTS.putIfAbsent(adapter.getClass(), newSnapshot);
            }
        }
        return factory;
    }