[ https://issues.apache.org/jira/browse/DOXIASITETOOLS-214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16871723#comment-16871723 ]
Michael Osipov commented on DOXIASITETOOLS-214: ----------------------------------------------- Do you think you can come up with an IT for that? > $currentFileName and $alignedFileName are incorrect for Maven Report plugins > that use several Sink instances > ------------------------------------------------------------------------------------------------------------ > > Key: DOXIASITETOOLS-214 > URL: https://issues.apache.org/jira/browse/DOXIASITETOOLS-214 > Project: Maven Doxia Sitetools > Issue Type: Bug > Components: Site renderer > Reporter: Bertrand Martin > Priority: Major > > h1. Problem > The _$currentFileName_ and _$alignedFileName_ macros work just fine for > regular documents (from Markdown source, for example). But for multi-pages > documents, like a Maven Report plugin would generate, these macros keep > returning the name of main page of the report, rather than the page being > rendered. > h2. KmReference.java > Maven Report plugin that use several instances of _Sink_ > > {code:java} > public class KmReference extends AbstractMavenReport { > public String getOutputName() { > return "km-reference"; > } > ... > @Override > protected void executeReport(Locale locale) throws MavenReportException { > ... > // Create a new sink! > Sink kmSink; > try { > kmSink = getSinkFactory().createSink(outputDirectory, > pageFilename); > } catch (IOException e) { > throw new MavenReportException("Could not create sink for " + > pageFilename + " in " + outputDirectory.getAbsolutePath(), e); > } > {code} > h2. site.vm > {code} > alignedFileName = $alignedFileName > currentFileName = $currentFileName > getDoxiaSourcePath() = $docRenderingContext.getDoxiaSourcePath() > getGenerator() = $docRenderingContext.getGenerator() > getInputName() = $docRenderingContext.getInputName() > getOutputName() = $docRenderingContext.getOutputName() > getParserId() = $docRenderingContext.getParserId() > getRelativePath() = $docRenderingContext.getRelativePath() > {code} > h2. Resulting another-page.html > This file is *not* km_reference.html, and stil: > {code} > alignedFileName = km-reference.html > currentFileName = km-reference.html > getDoxiaSourcePath() = $docRenderingContext.getDoxiaSourcePath() > getGenerator() = > com.sentrysoftware.maven:patrolreport-maven-plugin:2.0:km-reference > getInputName() = km-reference.html > getOutputName() = km-reference.html > getParserId() = $docRenderingContext.getParserId() > getRelativePath() = . > {code} > h1. Specification > Modify the _DefaultSiteRenderer.createDocumentVelocityContext()_ method to > expose the actual name of the file being rendered. > Suggestion: > Property name: *renderedFileName* > Property value: {{File( siteContext.getProcessedContentOutput(), > docRenderingContext.getInputName().substring( 0, input.length() - 3 ) )}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)