[MCHANGELOG-68] testReadFile unit test timebased comparisons fail
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1449291 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/plugin/changelog/ChangeLogHandler.java b/src/main/java/org/apache/maven/plugin/changelog/ChangeLogHandler.java
index 5106be9..bf542b9 100644
--- a/src/main/java/org/apache/maven/plugin/changelog/ChangeLogHandler.java
+++ b/src/main/java/org/apache/maven/plugin/changelog/ChangeLogHandler.java
@@ -44,6 +44,11 @@
public class ChangeLogHandler
extends DefaultHandler
{
+ // Use the same time zone offset when reading and adding times
+ // It doesn't matter which one we use, as long we always use the same one
+ private static final String TIMEZONE_STRING = "GMT-00:00";
+ private static final TimeZone TIMEZONE = TimeZone.getTimeZone( TIMEZONE_STRING );
+
private Collection<ChangeLogSet> changeSets;
private String bufData = "";
@@ -118,8 +123,12 @@
{
ms = bufEntry.getDate().getTime();
}
- bufEntry.setDate( new Date( ms + new SimpleDateFormat( currentPattern ).parse( bufData ).getTime()
- + TimeZone.getDefault().getRawOffset() ) );
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat( currentPattern );
+ // MCHANGELOG-68 Adjust for time zone when parsing the time
+ simpleDateFormat.setTimeZone( TIMEZONE );
+ // Adjust for time zone when adding up the milliseconds
+ bufEntry.setDate( new Date( ms + simpleDateFormat.parse( bufData ).getTime()
+ + TIMEZONE.getRawOffset() ) );
}
catch ( ParseException e )
{