You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2011/12/24 15:30:00 UTC

svn commit: r1222981 - in /maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main: java/org/apache/maven/doxia/siterenderer/ resources/org/apache/maven/doxia/siterenderer/resources/

Author: rfscholte
Date: Sat Dec 24 14:30:00 2011
New Revision: 1222981

URL: http://svn.apache.org/viewvc?rev=1222981&view=rev
Log:
DOXIA-458: Make publish date configurable

Modified:
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
    maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm

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=1222981&r1=1222980&r2=1222981&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 Sat Dec 24 14:30:00 2011
@@ -465,6 +465,9 @@ public class DefaultSiteRenderer
         context.put( "dateRevision", sdf.format( new Date() ) );
 
         context.put( "currentDate", new Date() );
+        
+        context.put( "publishDate", siteRenderingContext.getPublishDate() );
+        
 
         Locale locale = siteRenderingContext.getLocale();
         context.put( "dateFormat", DateFormat.getDateInstance( DateFormat.DEFAULT, locale ) );

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java?rev=1222981&r1=1222980&r2=1222981&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/SiteRenderingContext.java Sat Dec 24 14:30:00 2011
@@ -22,6 +22,7 @@ package org.apache.maven.doxia.siterende
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -68,6 +69,8 @@ public class SiteRenderingContext
 
     private boolean validate;
 
+    private Date publishDate;
+
     /**
      * If input documents should be validated before parsing.
      * By default no validation is performed.
@@ -372,4 +375,25 @@ public class SiteRenderingContext
     {
         this.outputEncoding = outputEncoding;
     }
+
+    /**
+     * <p>If you want to specify a specific publish date instead of the current date.</p>
+     * 
+     * @return the publish date, can be {@code null}
+     */
+    public Date getPublishDate()
+    {
+        return publishDate;
+    }
+
+    /**
+     * <p>Specify a specific publish date instead of the current date.</p>
+     * 
+     * @param publishDate the publish date
+     */
+    public void setPublishDate( Date publishDate )
+    {
+        this.publishDate = publishDate;
+    }
+    
 }

Modified: maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm?rev=1222981&r1=1222980&r2=1222981&view=diff
==============================================================================
--- maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm (original)
+++ maven/doxia/doxia-sitetools/trunk/doxia-site-renderer/src/main/resources/org/apache/maven/doxia/siterenderer/resources/default-site.vm Sat Dec 24 14:30:00 2011
@@ -289,19 +289,25 @@
   #end
 #end
 ##
-#macro ( publishDate $position $publishDate $version )
-  #if ( $publishDate && $publishDate.format )
-    #set ( $format = $publishDate.format )
+#macro ( publishDate $position $decorationPublishDate $version )
+  #if ( $decorationPublishDate && $decorationPublishDate.format )
+    #set ( $format = $decorationPublishDate.format )
   #else
     #set ( $format = "yyyy-MM-dd" )
   #end
 ##
   $dateFormat.applyPattern( $format )
 ##
-  #set ( $dateToday = $dateFormat.format( $currentDate ) )
+  #if ( $publishDate )
+    #set ( $dateValue = $dateFormat.format( $publishDate ) )
+  #elseif ( $decoration.custom.getChild( 'publishDate' ) )
+    #set ( $dateValue = $decoration.custom.getChild( 'publishDate' ).getValue() )
+  #else  
+    #set ( $dateValue = $dateFormat.format( $currentDate ) )
+  #end
 ##
-  #if ( $publishDate && $publishDate.position )
-    #set ( $datePosition = $publishDate.position )
+  #if ( $decorationPublishDate && $decorationPublishDate.position )
+    #set ( $datePosition = $decorationPublishDate.position )
   #else
     #set ( $datePosition = "left" )
   #end
@@ -328,20 +334,20 @@
 ##
   #if ( $datePosition.equalsIgnoreCase( $position ) )
     #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
-      $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+      $prefix <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
       #if ( $versionPosition.equalsIgnoreCase( $position ) )
         &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
       #end
     #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
       <div id="lastPublished">
-        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
         #if ( $versionPosition.equalsIgnoreCase( $position ) )
           &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
         #end
       </div>
     #elseif ( $datePosition.equalsIgnoreCase("left") )
       <div class="xleft">
-        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday</span>
+        <span id="publishDate">$i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateValue</span>
         #if ( $versionPosition.equalsIgnoreCase( $position ) )
           &nbsp;| <span id="projectVersion">$i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}</span>
         #end