public JobExecutionResult process()

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