import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+import java.util.TimeZone;
import org.apache.archiva.metadata.model.MetadataFacet;
public static final String FACET_ID = "org.apache.archiva.audit";
+ private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
+
public AuditEvent()
{
/* do nothing */
{
try
{
- timestamp = new SimpleDateFormat( TIMESTAMP_FORMAT ).parse( name );
+ timestamp = createNameFormat().parse( name );
}
catch ( ParseException e )
{
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<String, String> toProperties()
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;
private static final Logger log = LoggerFactory.getLogger( DefaultAuditManager.class );
+ private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
+
public List<AuditEvent> getMostRecentAuditEvents( List<String> repositoryIds )
{
// TODO: consider a more efficient implementation that directly gets the last ten from the content repository
{
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 ) ) )
{
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;
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;
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
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;
*/
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
{
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 ) ) )
{
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;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+import java.util.TimeZone;
import org.apache.archiva.metadata.model.MetadataFacet;
private Map<String, Long> totalCountForType = new HashMap<String, Long>();
+ private static final TimeZone UTC_TIME_ZONE = TimeZone.getTimeZone( "UTC" );
+
public Date getScanEndTime()
{
return scanEndTime;
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<String, String> toProperties()
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;
private Map<String, RepositoryStatistics> statsCreated = new LinkedHashMap<String, RepositoryStatistics>();
+ 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
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();
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(