public ServletMounter()

in src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletMounter.java [104:135]


    public ServletMounter(
            final BundleContext context,
            @Reference final ResourceResolverFactory resourceResolverFactory,
            @Reference(target = "(name=org.apache.sling)") ServletContext servletContext,
            final ResolverConfig config) {
        this.servletContext = servletContext;
        this.context = context;
        servletResourceProviderFactory = new ServletResourceProviderFactory(
                config.servletresolver_servletRoot(), resourceResolverFactory.getSearchPath());

        if (config.servletresolver_mountPathProviders()) {
            provider = new MergingServletResourceProvider();
            providerRegs = new HashSet<>();
            pathProviders = true;
            for (String path : resourceResolverFactory.getSearchPath()) {
                final Dictionary<String, Object> params = new Hashtable<>();
                params.put(ResourceProvider.PROPERTY_ROOT, path);
                params.put(Constants.SERVICE_DESCRIPTION, "ServletResourceProvider for Servlets");
                params.put(ResourceProvider.PROPERTY_MODE, ResourceProvider.MODE_PASSTHROUGH);
                providerRegs.add(context.registerService(ResourceProvider.class, provider, params));
            }
        } else if (!config.servletresolver_mountProviders()) {
            provider = new MergingServletResourceProvider();
            providerRegs = new HashSet<>();
            pathProviders = false;
            providerRegs.add(context.registerService(MergingServletResourceProvider.class, provider, null));
        } else {
            provider = null;
            providerRegs = null;
            pathProviders = false;
        }
    }