private List renderDoxiaDocuments()

in src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java [187:240]


    private List<DocumentRenderer> renderDoxiaDocuments(
            Map<String, DocumentRenderer> documents, SiteRenderingContext context, File outputDir, boolean generated)
            throws RendererException, IOException {
        Map<String, DocumentRenderer> doxiaDocuments = new TreeMap<>();
        List<DocumentRenderer> nonDoxiaDocuments = new ArrayList<>();

        Map<String, Integer> counts = new TreeMap<>();

        for (Map.Entry<String, DocumentRenderer> entry : documents.entrySet()) {
            DocumentRenderer doc = entry.getValue();

            if (doc instanceof DoxiaDocumentRenderer) {
                doxiaDocuments.put(entry.getKey(), doc);

                DoxiaDocumentRenderer doxia = (DoxiaDocumentRenderer) doc;

                // count documents per parserId
                String parserId = doxia.getRenderingContext().getParserId();
                Integer count = counts.get(parserId);
                if (count == null) {
                    count = 1;
                } else {
                    count++;
                }
                counts.put(parserId, count);
            } else {
                nonDoxiaDocuments.add(doc);
            }
        }

        if (doxiaDocuments.size() > 0) {
            MessageBuilder mb = buffer();
            mb.a("Rendering ");
            mb.strong(doxiaDocuments.size() + (generated ? " generated" : "") + " Doxia document"
                    + (doxiaDocuments.size() > 1 ? "s" : ""));
            mb.a(": ");

            boolean first = true;
            for (Map.Entry<String, Integer> entry : counts.entrySet()) {
                if (first) {
                    first = false;
                } else {
                    mb.a(", ");
                }
                mb.strong(entry.getValue() + " " + entry.getKey());
            }

            getLog().info(mb.toString());

            siteRenderer.render(doxiaDocuments.values(), context, outputDir);
        }

        return nonDoxiaDocuments;
    }