in src/main/java/org/apache/sling/sitemap/impl/SitemapServlet.java [158:182]
protected void doGetSitemap(@NotNull SlingHttpServletResponse response, Resource topLevelSitemapRoot, String sitemapSelector)
throws SitemapException, IOException {
Set<String> onDemandNames = generatorManager.getOnDemandNames(topLevelSitemapRoot);
if (!onDemandNames.isEmpty()) {
// resolve the actual sitemap root from the sitemapSelector
Map<Resource, String> candidates = resolveSitemapRoots(topLevelSitemapRoot, sitemapSelector);
for (Map.Entry<Resource, String> entry : candidates.entrySet()) {
Resource sitemapRoot = entry.getKey();
String name = entry.getValue();
SitemapGenerator generator = generatorManager.getGenerator(sitemapRoot, name);
if (generator != null && onDemandNames.contains(name)) {
SitemapImpl sitemap = new SitemapImpl(response.getWriter(), extensionProviderManager);
generator.generate(sitemapRoot, name, sitemap, NOOP_CONTEXT);
sitemap.close();
return;
}
}
}
if (!storage.copySitemap(topLevelSitemapRoot, sitemapSelector, response.getOutputStream())) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
}