You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2023/02/04 23:53:46 UTC
[maven-doxia-sitetools] 01/01: [DOXIASITETOOLS-291] Add timezone field to site descriptor PublishDate object and pass onto Velocity tools context
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch DOXIASITETOOLS-291
in repository https://gitbox.apache.org/repos/asf/maven-doxia-sitetools.git
commit 6b208d33fe76551ad9a356b486d7d99dd725ae4c
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun Feb 5 00:52:03 2023 +0100
[DOXIASITETOOLS-291] Add timezone field to site descriptor PublishDate object and pass onto Velocity tools context
---
doxia-decoration-model/src/main/mdo/decoration.mdo | 13 +++++++++++++
.../maven/doxia/siterenderer/DefaultSiteRenderer.java | 6 ++++++
2 files changed, 19 insertions(+)
diff --git a/doxia-decoration-model/src/main/mdo/decoration.mdo b/doxia-decoration-model/src/main/mdo/decoration.mdo
index 76e8c76..9afb364 100644
--- a/doxia-decoration-model/src/main/mdo/decoration.mdo
+++ b/doxia-decoration-model/src/main/mdo/decoration.mdo
@@ -394,6 +394,19 @@ under the License.
<identifier>true</identifier>
<defaultValue>yyyy-MM-dd</defaultValue>
</field>
+ <field xml.attribute="true">
+ <name>timezone</name>
+ <description>
+ <![CDATA[
+ The timezone to use. Use <code>system</code> the default locale for this instance
+ of the Java Virtual Machine. Refer to <code>java.util.TimeZone</code> for details.
+ ]]>
+ </description>
+ <version>2.0.0+</version>
+ <type>String</type>
+ <identifier>true</identifier>
+ <defaultValue>Etc/UTC</defaultValue>
+ </field>
</fields>
</class>
diff --git a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
index f41d085..68684e2 100644
--- a/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
+++ b/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
@@ -46,6 +46,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
+import java.util.TimeZone;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
@@ -434,6 +435,10 @@ public class DefaultSiteRenderer implements Renderer {
Locale locale = siteRenderingContext.getLocale();
String dateFormat =
siteRenderingContext.getDecoration().getPublishDate().getFormat();
+ String timezoneId =
+ siteRenderingContext.getDecoration().getPublishDate().getTimezone();
+ TimeZone timezone =
+ "system".equalsIgnoreCase(timezoneId) ? TimeZone.getDefault() : TimeZone.getTimeZone(timezoneId);
EasyFactoryConfiguration config = new EasyFactoryConfiguration(false);
config.property("safeMode", Boolean.FALSE);
@@ -448,6 +453,7 @@ public class DefaultSiteRenderer implements Renderer {
.tool(ClassTool.class)
.tool(ComparisonDateTool.class)
.property("format", dateFormat)
+ .property("timezone", timezone)
.tool(ConversionTool.class)
.property("dateFormat", dateFormat)
.tool(DisplayTool.class)