[MSITE-862] log Doxia source when rendering with site:run
diff --git a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
index e59a023..45cf613 100644
--- a/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
+++ b/src/main/java/org/apache/maven/plugins/site/render/ReportDocumentRenderer.java
@@ -374,4 +374,9 @@
{
return report.isExternalReport();
}
+
+ public String getReportMojoInfo()
+ {
+ return reportMojoInfo;
+ }
}
diff --git a/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java b/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
index eab33ce..7c69896 100644
--- a/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
+++ b/src/main/java/org/apache/maven/plugins/site/run/DoxiaFilter.java
@@ -20,11 +20,14 @@
*/
import org.apache.maven.doxia.siterenderer.DocumentRenderer;
+import org.apache.maven.doxia.siterenderer.DoxiaDocumentRenderer;
import org.apache.maven.doxia.siterenderer.Renderer;
import org.apache.maven.doxia.siterenderer.RendererException;
import org.apache.maven.doxia.siterenderer.SiteRenderingContext;
import org.apache.maven.plugins.site.render.ReportDocumentRenderer;
+import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
+
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -53,6 +56,8 @@
public static final String LOCALES_LIST_KEY = "localesList";
+ private ServletContext servletContext;
+
private Renderer siteRenderer;
private Map<String, DoxiaBean> i18nDoxiaContexts;
@@ -65,7 +70,7 @@
public void init( FilterConfig filterConfig )
throws ServletException
{
- ServletContext servletContext = filterConfig.getServletContext();
+ servletContext = filterConfig.getServletContext();
siteRenderer = (Renderer) servletContext.getAttribute( SITE_RENDERER_KEY );
@@ -141,6 +146,7 @@
try
{
DocumentRenderer renderer = documents.get( path );
+ logDocumentRenderer( path, renderer );
renderer.renderDocument( servletResponse.getWriter(), siteRenderer, context );
if ( renderer instanceof ReportDocumentRenderer )
@@ -176,6 +182,7 @@
if ( locateDocuments.containsKey( path ) )
{
DocumentRenderer renderer = locateDocuments.get( path );
+ logDocumentRenderer( path, renderer );
renderer.renderDocument( servletResponse.getWriter(), siteRenderer, generatedSiteContext );
return;
@@ -188,6 +195,28 @@
}
filterChain.doFilter( servletRequest, servletResponse );
+
+ servletContext.log( path );
+ }
+
+ private void logDocumentRenderer( String path, DocumentRenderer renderer )
+ {
+ String source;
+ if ( renderer instanceof DoxiaDocumentRenderer )
+ {
+ DoxiaDocumentRenderer doxiaDocumentRenderer = (DoxiaDocumentRenderer) renderer;
+ source = doxiaDocumentRenderer.getRenderingContext().getInputName();
+ }
+ else if ( renderer instanceof ReportDocumentRenderer )
+ {
+ ReportDocumentRenderer reportDocumentRenderer = (ReportDocumentRenderer) renderer;
+ source = reportDocumentRenderer.getReportMojoInfo();
+ }
+ else
+ {
+ source = renderer.getClass().getName();
+ }
+ servletContext.log( path + " -> " + buffer().strong( source ) );
}
/**