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