in src/main/java/org/apache/sling/sitemap/impl/SitemapGeneratorExecutor.java [103:131]
public JobExecutionResult process(Job job, JobExecutionContext context) {
String sitemapRootPath = job.getProperty(JOB_PROPERTY_SITEMAP_ROOT, String.class);
String sitemapName = job.getProperty(JOB_PROPERTY_SITEMAP_NAME, SitemapService.DEFAULT_SITEMAP_NAME);
JobExecutionContext.ResultBuilder result = context.result();
try (ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(AUTH)) {
Resource sitemapRoot = normalizeSitemapRoot(resourceResolver.getResource(sitemapRootPath));
if (sitemapRoot == null) {
return result.message("Cannot find sitemap root at: " + sitemapRootPath).cancelled();
}
SitemapGenerator generator = generatorManager.getGenerator(sitemapRoot, sitemapName);
if (generator == null) {
return result.message("Generator of '" + sitemapName + "' unavailable at: " + sitemapRootPath).failed();
}
generate(sitemapRoot, sitemapName, generator, context);
return result.succeeded();
} catch (LoginException ex) {
LOG.warn("Failed to login service user for sitemap generation", ex);
return result.message(ex.getMessage()).cancelled();
} catch (IOException | SitemapException ex) {
LOG.error("Failed to write sitemap", ex);
return result.message(ex.getMessage()).failed();
}
}