Author: brett Date: Wed Dec 21 18:57:41 2005 New Revision: 358450 URL: http://svn.apache.org/viewcvs?rev=358450&view=rev Log: - move doxia's site renderer to a model for the decoration, while retaining the <custom> element to allow arbitrary extension that can be used from the velocity template. - simplify various parts of the API - add inheritance of the site descriptor from a file based source
Modified: maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/sink/SinkFactory.java Modified: maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java?rev=358450&r1=358449&r2=358450&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java (original) +++ maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/AbstractMavenReport.java Wed Dec 21 18:57:41 2005 @@ -23,16 +23,10 @@ import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.util.IOUtil; -import org.codehaus.plexus.util.StringInputStream; -import org.codehaus.plexus.util.StringUtils; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; import java.util.Locale; -import java.util.Map; /** * The basis for a Maven report. @@ -66,10 +60,10 @@ { String outputDirectory = getOutputDirectory(); - SiteRendererSink sink = getSiteRenderer().createSink( new File( outputDirectory ), - getOutputName() + ".html", getSiteDescriptor() ); + SiteRendererSink sink = + getSiteRenderer().createSink( new File( outputDirectory ), getOutputName() + ".html" ); - generate( sink, Locale.ENGLISH ); + generate( sink, Locale.getDefault() ); // TODO: add back when skinning support is in the site renderer // getSiteRenderer().copyResources( outputDirectory, "maven" ); @@ -119,61 +113,6 @@ public String getCategoryName() { return CATEGORY_PROJECT_REPORTS; - } - - private String getReportsMenu() - { - StringBuffer buffer = new StringBuffer(); - buffer.append( "<menu name=\"Project Documentation\">\n" ); - - buffer.append( " <item name=\"" + getName( locale ) + "\" href=\"/" + getOutputName() + ".html\"/>\n" ); - - buffer.append( "</menu>\n" ); - - return buffer.toString(); - } - - private InputStream getSiteDescriptor() - throws MojoExecutionException - { - String siteDescriptorContent = ""; - - try - { - siteDescriptorContent = IOUtil.toString( getClass().getResourceAsStream( "/default-report.xml" ) ); - } - catch ( IOException e ) - { - throw new MojoExecutionException( "The site descriptor cannot be read!", e ); - } - - Map props = new HashMap(); - - props.put( "reports", getReportsMenu() ); - - // TODO: interpolate ${project.*} in general - - if ( getProject().getName() != null ) - { - props.put( "project.name", getProject().getName() ); - } - else - { - props.put( "project.name", "NO_PROJECT_NAME_SET" ); - } - - if ( getProject().getUrl() != null ) - { - props.put( "project.url", getProject().getUrl() ); - } - else - { - props.put( "project.url", "NO_PROJECT_URL_SET" ); - } - - siteDescriptorContent = StringUtils.interpolate( siteDescriptorContent, props ); - - return new StringInputStream( siteDescriptorContent ); } public File getReportOutputDirectory() Modified: maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/sink/SinkFactory.java URL: http://svn.apache.org/viewcvs/maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/sink/SinkFactory.java?rev=358450&r1=358449&r2=358450&view=diff ============================================================================== --- maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/sink/SinkFactory.java (original) +++ maven/components/branches/maven-2.0.x/maven-reporting/maven-reporting-impl/src/main/java/org/apache/maven/reporting/sink/SinkFactory.java Wed Dec 21 18:57:41 2005 @@ -19,11 +19,9 @@ import org.apache.maven.doxia.sink.Sink; import org.apache.maven.doxia.siterenderer.Renderer; import org.apache.maven.doxia.siterenderer.RendererException; -import org.codehaus.plexus.util.StringInputStream; import java.io.File; import java.io.IOException; -import java.io.InputStream; /** * @author <a href="[EMAIL PROTECTED]">Emmanuel Venisse</a> @@ -35,8 +33,6 @@ private Renderer siteRenderer; - private InputStream siteDescriptor; - public void setSiteRenderer( Renderer siteRenderer ) { this.siteRenderer = siteRenderer; @@ -47,20 +43,9 @@ this.siteDirectory = siteDirectory; } - public void setSiteDescriptor( InputStream siteDescriptor ) - { - this.siteDescriptor = siteDescriptor; - } - public Sink getSink( String outputFileName ) throws RendererException, IOException { - InputStream descriptor = siteDescriptor; - if ( descriptor == null ) - { - descriptor = new StringInputStream( "" ); - } - - return siteRenderer.createSink( new File( siteDirectory ), outputFileName, descriptor ); + return siteRenderer.createSink( new File( siteDirectory ), outputFileName ); } }