private void printRootsJson()

in src/main/java/org/apache/sling/sitemap/impl/console/SitemapInventoryPlugin.java [115:161]


    private void printRootsJson(PrintWriter pw) {
        pw.print("\"roots\":{");
        try (ResourceResolver resolver = resourceResolverFactory.getServiceResourceResolver(AUTH)) {
            Iterator<Resource> roots = SitemapUtil.findSitemapRoots(resolver, "/");
            while (roots.hasNext()) {
                Resource root = roots.next();
                pw.print('"');
                pw.print(escapeDoubleQuotes(root.getPath()));
                pw.print("\":[");
                Iterator<SitemapInfo> infoIt = sitemapService.getSitemapInfo(root).iterator();
                while (infoIt.hasNext()) {
                    SitemapInfo info = infoIt.next();
                    pw.print('{');
                    pw.print("\"name\":\"");
                    pw.print(escapeDoubleQuotes(info.getName()));
                    pw.print('"');
                    pw.print(",\"url\":\"");
                    pw.print(escapeDoubleQuotes(info.getUrl()));
                    pw.print("\",\"status\":\"");
                    pw.print(info.getStatus());
                    pw.print('"');
                    if (info.getStoragePath() != null) {
                        pw.print(",\"path\":\"");
                        pw.print(escapeDoubleQuotes(info.getStoragePath()));
                        pw.print("\",\"size\":");
                        pw.print(info.getSize());
                        pw.print(",\"urls\":");
                        pw.print(info.getEntries());
                        pw.print(",\"inLimits\":");
                        pw.print(isWithinLimits(info));
                    }
                    pw.print('}');
                    if (infoIt.hasNext()) {
                        pw.print(',');
                    }
                }
                pw.print(']');
                if (roots.hasNext()) {
                    pw.print(',');
                }
            }
        } catch (LoginException ex) {
            pw.println("Failed to list sitemaps: " + ex.getMessage());
            LOG.warn("Failed to get inventory of sitemaps: {}", ex.getMessage(), ex);
        }
        pw.print('}');
    }