You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2015/12/28 16:06:53 UTC
svn commit: r1721932 -
/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
Author: hboutemy
Date: Mon Dec 28 15:06:53 2015
New Revision: 1721932
URL: http://svn.apache.org/viewvc?rev=1721932&view=rev
Log:
[DOXIASITETOOLS-136] improved "Could not parse date: ..., ignoring!" message with document reference
Modified:
maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=1721932&r1=1721931&r2=1721932&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java Mon Dec 28 15:06:53 2015
@@ -338,7 +338,7 @@ public class DefaultSiteRenderer
{
SiteResourceLoader.setResource( resource );
- Context vc = createDocumentVelocityContext( sink, siteContext );
+ Context vc = createDocumentVelocityContext( renderingContext, siteContext );
StringWriter sw = new StringWriter();
@@ -444,7 +444,8 @@ public class DefaultSiteRenderer
* @param siteRenderingContext the site rendering context
* @return
*/
- protected Context createDocumentVelocityContext( SiteRendererSink sink, SiteRenderingContext siteRenderingContext )
+ protected Context createDocumentVelocityContext( RenderingContext renderingContext,
+ SiteRenderingContext siteRenderingContext )
{
ToolManager toolManager = new ToolManager( true );
Context context = toolManager.createContext();
@@ -453,7 +454,6 @@ public class DefaultSiteRenderer
// Data objects
// ----------------------------------------------------------------------
- RenderingContext renderingContext = sink.getRenderingContext();
context.put( "relativePath", renderingContext.getRelativePath() );
String currentFileName = renderingContext.getOutputName().replace( '\\', '/' );
@@ -529,22 +529,22 @@ public class DefaultSiteRenderer
* Create a Velocity Context for the site template decorating the document. In addition to all the informations
* from the document, this context contains data gathered in {@link SiteRendererSink} during document rendering.
*
- * @param sink the site renderer sink for the document
+ * @param siteRendererSink the site renderer sink for the document
* @param siteRenderingContext the site rendering context
* @return
*/
- protected Context createSiteTemplateVelocityContext( SiteRendererSink sink,
+ protected Context createSiteTemplateVelocityContext( SiteRendererSink siteRendererSink,
SiteRenderingContext siteRenderingContext )
{
- // first get the context from Doxia source
- Context context = createDocumentVelocityContext( sink, siteRenderingContext );
+ // first get the context from document
+ Context context = createDocumentVelocityContext( siteRendererSink.getRenderingContext(), siteRenderingContext );
// then add data objects from rendered document
// Add infos from document
- context.put( "authors", sink.getAuthors() );
+ context.put( "authors", siteRendererSink.getAuthors() );
- context.put( "shortTitle", sink.getTitle() );
+ context.put( "shortTitle", siteRendererSink.getTitle() );
// DOXIASITETOOLS-70: Prepend the project name to the title, if any
String title = "";
@@ -560,28 +560,33 @@ public class DefaultSiteRenderer
if ( title.length() > 0 )
{
- title += " – ";
+ title += " – "; // Symbol Name: En Dash, Html Entity: –
}
- title += sink.getTitle();
+ title += siteRendererSink.getTitle();
context.put( "title", title );
- context.put( "headContent", sink.getHead() );
+ context.put( "headContent", siteRendererSink.getHead() );
- context.put( "bodyContent", sink.getBody() );
+ context.put( "bodyContent", siteRendererSink.getBody() );
SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" );
- if ( StringUtils.isNotEmpty( sink.getDate() ) )
+ if ( StringUtils.isNotEmpty( siteRendererSink.getDate() ) )
{
+ String documentDate = siteRendererSink.getDate();
+
try
{
// we support only ISO-8601 date
- context.put( "dateCreation",
- sdf.format( new SimpleDateFormat( "yyyy-MM-dd" ).parse( sink.getDate() ) ) );
+ Date dateCreation = new SimpleDateFormat( "yyyy-MM-dd" ).parse( documentDate );
+
+ context.put( "dateCreation", sdf.format( dateCreation ) );
}
catch ( java.text.ParseException e )
{
- getLogger().debug( "Could not parse date: " + sink.getDate() + ", ignoring!", e );
+ getLogger().warn( "Could not parse date '" + documentDate + "' from "
+ + siteRendererSink.getRenderingContext().getInputName()
+ + " (expected yyyy-MM-dd format), ignoring!" );
}
}