From: Brett Porter Date: Tue, 19 Jan 2010 08:31:11 +0000 (+0000) Subject: [MRM-1282] switch all timestamps to UTC X-Git-Tag: archiva-1.4-M1~1017^2~38 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9c28117ca334e17256a93138631cc84dddd56e12;p=archiva.git [MRM-1282] switch all timestamps to UTC git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/MRM-1025@900698 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java index ec3556562..12189f31b 100644 --- a/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java +++ b/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java @@ -25,6 +25,7 @@ import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.TimeZone; import org.apache.archiva.metadata.model.MetadataFacet; @@ -114,6 +115,8 @@ public class AuditEvent public static final String FACET_ID = "org.apache.archiva.audit"; + private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" ); + public AuditEvent() { /* do nothing */ @@ -123,7 +126,7 @@ public class AuditEvent { try { - timestamp = new SimpleDateFormat( TIMESTAMP_FORMAT ).parse( name ); + timestamp = createNameFormat().parse( name ); } catch ( ParseException e ) { @@ -208,7 +211,14 @@ public class AuditEvent public String getName() { - return new SimpleDateFormat( TIMESTAMP_FORMAT ).format( timestamp ); + return createNameFormat().format( timestamp ); + } + + private static SimpleDateFormat createNameFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( TIMESTAMP_FORMAT ); + fmt.setTimeZone( UTC_TIME_ZONE ); + return fmt; } public Map toProperties() diff --git a/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java b/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java index ffa34dd02..2ddd3a3ee 100644 --- a/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java +++ b/archiva-modules/plugins/audit/src/main/java/org/apache/archiva/audit/DefaultAuditManager.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.TimeZone; import org.apache.archiva.metadata.repository.MetadataRepository; import org.apache.maven.archiva.repository.audit.AuditEvent; @@ -48,6 +49,8 @@ public class DefaultAuditManager private static final Logger log = LoggerFactory.getLogger( DefaultAuditManager.class ); + private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" ); + public List getMostRecentAuditEvents( List repositoryIds ) { // TODO: consider a more efficient implementation that directly gets the last ten from the content repository @@ -98,7 +101,7 @@ public class DefaultAuditManager { try { - Date date = new SimpleDateFormat( AuditEvent.TIMESTAMP_FORMAT ).parse( name ); + Date date = createNameFormat().parse( name ); if ( ( startTime == null || !date.before( startTime ) ) && ( endTime == null || !date.after( endTime ) ) ) { @@ -124,6 +127,13 @@ public class DefaultAuditManager return results; } + private static SimpleDateFormat createNameFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( AuditEvent.TIMESTAMP_FORMAT ); + fmt.setTimeZone( UTC_TIME_ZONE ); + return fmt; + } + public void setMetadataRepository( MetadataRepository metadataRepository ) { this.metadataRepository = metadataRepository; diff --git a/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java b/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java index 2666a852b..152b86887 100644 --- a/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java +++ b/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java @@ -29,6 +29,7 @@ import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; import junit.framework.TestCase; import org.apache.archiva.metadata.repository.MetadataRepository; @@ -60,10 +61,17 @@ public class AuditManagerTest private static final String TEST_IP_ADDRESS = "127.0.0.1"; - private static final SimpleDateFormat TIMESTAMP_FORMAT = new SimpleDateFormat( AuditEvent.TIMESTAMP_FORMAT ); + private static final SimpleDateFormat TIMESTAMP_FORMAT = createTimestampFormat(); private static final DecimalFormat MILLIS_FORMAT = new DecimalFormat( "000" ); + private static SimpleDateFormat createTimestampFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( AuditEvent.TIMESTAMP_FORMAT ); + fmt.setTimeZone( TimeZone.getTimeZone( "UTC" )); + return fmt; + } + @Override protected void setUp() throws Exception diff --git a/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java b/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java index 60ce58a15..9233b07b5 100644 --- a/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java +++ b/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/DefaultRepositoryStatisticsManager.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.TimeZone; import org.apache.archiva.metadata.model.ArtifactMetadata; import org.apache.archiva.metadata.repository.MetadataRepository; @@ -54,6 +55,8 @@ public class DefaultRepositoryStatisticsManager */ private RepositoryContentFactory repositoryContentFactory; + private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" ); + public RepositoryStatistics getLastStatistics( String repositoryId ) { // TODO: consider a more efficient implementation that directly gets the last one from the content repository @@ -165,7 +168,7 @@ public class DefaultRepositoryStatisticsManager { try { - Date date = new SimpleDateFormat( RepositoryStatistics.SCAN_TIMESTAMP_FORMAT ).parse( name ); + Date date = createNameFormat().parse( name ); if ( ( startTime == null || !date.before( startTime ) ) && ( endTime == null || !date.after( endTime ) ) ) { @@ -185,6 +188,13 @@ public class DefaultRepositoryStatisticsManager return results; } + private static SimpleDateFormat createNameFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( RepositoryStatistics.SCAN_TIMESTAMP_FORMAT ); + fmt.setTimeZone( UTC_TIME_ZONE ); + return fmt; + } + public void setMetadataRepository( MetadataRepository metadataRepository ) { this.metadataRepository = metadataRepository; diff --git a/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatistics.java b/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatistics.java index 68407cb54..234357d37 100644 --- a/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatistics.java +++ b/archiva-modules/plugins/repository-statistics/src/main/java/org/apache/archiva/metadata/repository/stats/RepositoryStatistics.java @@ -23,6 +23,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.TimeZone; import org.apache.archiva.metadata.model.MetadataFacet; @@ -51,6 +52,8 @@ public class RepositoryStatistics private Map totalCountForType = new HashMap(); + private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" ); + public Date getScanEndTime() { return scanEndTime; @@ -143,7 +146,14 @@ public class RepositoryStatistics public String getName() { - return new SimpleDateFormat( SCAN_TIMESTAMP_FORMAT ).format( scanStartTime ); + return createNameFormat().format( scanStartTime ); + } + + private static SimpleDateFormat createNameFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( SCAN_TIMESTAMP_FORMAT ); + fmt.setTimeZone( UTC_TIME_ZONE ); + return fmt; } public Map toProperties() diff --git a/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java b/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java index 453e3a4d8..292472f94 100644 --- a/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java +++ b/archiva-modules/plugins/repository-statistics/src/test/java/org/apache/archiva/metadata/repository/stats/RepositoryStatisticsManagerTest.java @@ -28,6 +28,7 @@ import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.TimeZone; import junit.framework.TestCase; import org.apache.archiva.metadata.model.ArtifactMetadata; @@ -55,6 +56,15 @@ public class RepositoryStatisticsManagerTest private Map statsCreated = new LinkedHashMap(); + private static final SimpleDateFormat TIMESTAMP_FORMAT = createTimestampFormat(); + + private static SimpleDateFormat createTimestampFormat() + { + SimpleDateFormat fmt = new SimpleDateFormat( RepositoryStatistics.SCAN_TIMESTAMP_FORMAT ); + fmt.setTimeZone( TimeZone.getTimeZone( "UTC" ) ); + return fmt; + } + @Override protected void setUp() throws Exception @@ -83,7 +93,7 @@ public class RepositoryStatisticsManagerTest public void testGetLatestStats() throws ParseException { - Date startTime = parseTimestamp( SECOND_TEST_SCAN ); + Date startTime = TIMESTAMP_FORMAT.parse( SECOND_TEST_SCAN ); Date endTime = new Date( startTime.getTime() + 60000 ); RepositoryStatistics stats = new RepositoryStatistics(); @@ -112,24 +122,13 @@ public class RepositoryStatisticsManagerTest assertEquals( 2031, stats.getTotalProjectCount() ); assertEquals( 529, stats.getTotalGroupCount() ); assertEquals( 56229, stats.getTotalFileCount() ); - assertEquals( SECOND_TEST_SCAN, formatTimestamp( stats.getScanStartTime() ) ); + assertEquals( SECOND_TEST_SCAN, TIMESTAMP_FORMAT.format( stats.getScanStartTime() ) ); assertEquals( SECOND_TEST_SCAN, stats.getName() ); assertEquals( endTime, stats.getScanEndTime() ); metadataRepositoryControl.verify(); } - private static String formatTimestamp( Date value ) - { - return new SimpleDateFormat( RepositoryStatistics.SCAN_TIMESTAMP_FORMAT ).format( value ); - } - - private static Date parseTimestamp( String value ) - throws ParseException - { - return new SimpleDateFormat( RepositoryStatistics.SCAN_TIMESTAMP_FORMAT ).parse( value ); - } - public void testGetLatestStatsWhenEmpty() { metadataRepositoryControl.expectAndReturn(