in src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletMounter.java [101:130]
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;
}
}