Author: brett
Date: Tue Feb 16 05:34:01 2010
New Revision: 910400
URL: http://svn.apache.org/viewvc?rev=910400&view=rev
Log:
avoid timing issues with audit logs
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java
archiva/branches/MRM-1025/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
Modified:
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java?rev=910400&r1=910399&r2=910400&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/audit/AuditEvent.java
Tue Feb 16 05:34:01 2010
@@ -126,7 +126,9 @@
{
try
{
- timestamp = createNameFormat().parse( name );
+ int index = name.lastIndexOf( '/' );
+ String ts = index > 0 ? name.substring( 0, index ) : name;
+ timestamp = createNameFormat().parse( ts );
}
catch ( ParseException e )
{
@@ -211,7 +213,9 @@
public String getName()
{
- return createNameFormat().format( timestamp );
+ // we add the resource name to the end to avoid clashes at that
timestamp
+ // TODO: this is still not robust enough and the content model should
be revised
+ return createNameFormat().format( timestamp ) + "/" +
resource.substring( resource.lastIndexOf( '/' ) + 1 );
}
private static SimpleDateFormat createNameFormat()
Modified:
archiva/branches/MRM-1025/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java?rev=910400&r1=910399&r2=910400&view=diff
==============================================================================
---
archiva/branches/MRM-1025/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
(original)
+++
archiva/branches/MRM-1025/archiva-modules/plugins/audit/src/test/java/org/apache/archiva/audit/AuditManagerTest.java
Tue Feb 16 05:34:01 2010
@@ -138,16 +138,16 @@
return createTestEvent( TEST_REPO_ID, name );
}
- private static AuditEvent createTestEvent( String repositoryId, String
name )
+ private static AuditEvent createTestEvent( String repositoryId, String t )
throws ParseException
{
AuditEvent event = new AuditEvent();
- event.setTimestamp( TIMESTAMP_FORMAT.parse( name ) );
+ event.setTimestamp( TIMESTAMP_FORMAT.parse( AUDIT_EVENT_BASE + t ) );
event.setAction( AuditEvent.UPLOAD_FILE );
event.setRemoteIP( TEST_IP_ADDRESS );
event.setRepositoryId( repositoryId );
event.setUserId( TEST_USER );
- event.setResource( TEST_RESOURCE_BASE + "/" + name.substring(
AUDIT_EVENT_BASE.length() ) );
+ event.setResource( TEST_RESOURCE_BASE + "/" + t );
return event;
}
@@ -197,10 +197,11 @@
eventNames.put( TEST_REPO_ID_2, new ArrayList<String>() );
for ( int i = 0; i < numEvents; i++ )
{
- String name = AUDIT_EVENT_BASE + MILLIS_FORMAT.format( i );
+ String t = MILLIS_FORMAT.format( i );
+ String name = AUDIT_EVENT_BASE + t + "/" + t;
String repositoryId = i % 2 == 0 ? TEST_REPO_ID : TEST_REPO_ID_2;
eventNames.get( repositoryId ).add( name );
- events.add( createTestEvent( repositoryId, name ) );
+ events.add( createTestEvent( repositoryId, t ) );
}
metadataRepositoryControl.expectAndReturn(