in src/main/java/org/apache/maven/plugins/site/render/SiteMojo.java [169:254]
private List<DocumentRenderer> renderDoxiaDocuments(
Collection<DocumentRenderer> documents, SiteRenderingContext context, File outputDirectory)
throws RendererException, IOException {
List<DocumentRenderer> doxiaDocuments = new ArrayList<>();
List<DocumentRenderer> generatedDoxiaDocuments = new ArrayList<>();
List<DocumentRenderer> nonDoxiaDocuments = new ArrayList<>();
Map<String, Integer> counts = new TreeMap<>();
Map<String, Integer> generatedCounts = new TreeMap<>();
for (DocumentRenderer doc : documents) {
if (doc instanceof DoxiaDocumentRenderer) {
DoxiaDocumentRenderer doxia = (DoxiaDocumentRenderer) doc;
boolean editable = doxia.getRenderingContext().isEditable();
if (editable) {
doxiaDocuments.add(doc);
} else {
generatedDoxiaDocuments.add(doc);
}
// count documents per parserId
String parserId = doxia.getRenderingContext().getParserId();
Map<String, Integer> actualCounts;
if (editable) {
actualCounts = counts;
} else {
actualCounts = generatedCounts;
}
Integer count = actualCounts.get(parserId);
if (count == null) {
count = 1;
} else {
count++;
}
actualCounts.put(parserId, count);
} else {
nonDoxiaDocuments.add(doc);
}
}
if (doxiaDocuments.size() > 0) {
MessageBuilder mb = buffer();
mb.a("Rendering ");
mb.strong(doxiaDocuments.size() + " 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.build());
siteRenderer.render(doxiaDocuments, context, outputDirectory);
}
if (generatedDoxiaDocuments.size() > 0) {
MessageBuilder mb = buffer();
mb.a("Rendering ");
mb.strong(generatedDoxiaDocuments.size() + " generated Doxia document"
+ (generatedDoxiaDocuments.size() > 1 ? "s" : ""));
mb.a(": ");
boolean first = true;
for (Map.Entry<String, Integer> entry : generatedCounts.entrySet()) {
if (first) {
first = false;
} else {
mb.a(", ");
}
mb.strong(entry.getValue() + " " + entry.getKey());
}
getLog().info(mb.build());
siteRenderer.render(generatedDoxiaDocuments, context, outputDirectory);
}
return nonDoxiaDocuments;
}