Author: olamy
Date: Mon Aug 29 21:42:38 2011
New Revision: 1163027
URL: http://svn.apache.org/viewvc?rev=1163027&view=rev
Log:
introduce an AuditInformation bean to have more easily extensible audit
mechanism
Added:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/AuditInformation.java
- copied, changed from r1163025,
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
Copied:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/AuditInformation.java
(from r1163025,
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java)
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/AuditInformation.java?p2=archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/AuditInformation.java&p1=archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java&r1=1163025&r2=1163027&rev=1163027&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/AuditInformation.java
Mon Aug 29 21:42:38 2011
@@ -1,4 +1,4 @@
-package org.apache.archiva.admin.repository.managed;
+package org.apache.archiva.admin;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -18,33 +18,41 @@ package org.apache.archiva.admin.reposit
* under the License.
*/
-
-import org.apache.archiva.admin.repository.RepositoryAdminException;
import org.codehaus.plexus.redback.users.User;
-import java.util.List;
-
/**
* @author Olivier Lamy
* @since 1.4
*/
-public interface ManagedRepositoryAdmin
+public class AuditInformation
{
- List<ManagedRepository> getManagedRepositories()
- throws RepositoryAdminException;
-
- ManagedRepository getManagedRepository( String repositoryId )
- throws RepositoryAdminException;
-
- Boolean deleteManagedRepository( String repositoryId, User user )
- throws RepositoryAdminException;
-
- Boolean addManagedRepository( ManagedRepository managedRepository, boolean
needStageRepo, User user )
- throws RepositoryAdminException;
-
-
- Boolean updateManagedRepository( ManagedRepository managedRepository,
boolean needStageRepo, User user )
- throws RepositoryAdminException;
+ private User user;
+ private String remoteAddr;
+ public AuditInformation( User user, String remoteAddr )
+ {
+ this.user = user;
+ this.remoteAddr = remoteAddr;
+ }
+
+ public User getUser()
+ {
+ return user;
+ }
+
+ public void setUser( User user )
+ {
+ this.user = user;
+ }
+
+ public String getRemoteAddr()
+ {
+ return remoteAddr;
+ }
+
+ public void setRemoteAddr( String remoteAddr )
+ {
+ this.remoteAddr = remoteAddr;
+ }
}
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java?rev=1163027&r1=1163026&r2=1163027&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
Mon Aug 29 21:42:38 2011
@@ -18,6 +18,7 @@ package org.apache.archiva.admin.reposit
* under the License.
*/
+import org.apache.archiva.admin.AuditInformation;
import org.apache.archiva.admin.repository.RepositoryAdminException;
import org.apache.archiva.audit.AuditEvent;
import org.apache.archiva.audit.AuditListener;
@@ -133,7 +134,8 @@ public class DefaultManagedRepositoryAdm
return null;
}
- public Boolean addManagedRepository( ManagedRepository managedRepository,
boolean needStageRepo, User user )
+ public Boolean addManagedRepository( ManagedRepository managedRepository,
boolean needStageRepo,
+ AuditInformation auditInformation )
throws RepositoryAdminException
{
return
@@ -252,7 +254,7 @@ public class DefaultManagedRepositoryAdm
}
- public Boolean deleteManagedRepository( String repositoryId, User user )
+ public Boolean deleteManagedRepository( String repositoryId,
AuditInformation auditInformation )
throws RepositoryAdminException
{
Configuration config = archivaConfiguration.getConfiguration();
@@ -325,7 +327,8 @@ public class DefaultManagedRepositoryAdm
}
- public Boolean updateManagedRepository( ManagedRepository
managedRepository, boolean needStageRepo, User user )
+ public Boolean updateManagedRepository( ManagedRepository
managedRepository, boolean needStageRepo,
+ AuditInformation auditInformation )
throws RepositoryAdminException
{
// Ensure that the fields are valid.
@@ -358,7 +361,7 @@ public class DefaultManagedRepositoryAdm
try
{
- triggerAuditEvent( managedRepository.getId(), null,
AuditEvent.MODIFY_MANAGED_REPO, user );
+ triggerAuditEvent( managedRepository.getId(), null,
AuditEvent.MODIFY_MANAGED_REPO, auditInformation );
addRepositoryRoles( managedRepositoryConfiguration );
// FIXME this staging part !!
@@ -423,12 +426,12 @@ public class DefaultManagedRepositoryAdm
// utils methods
//--------------------------
- protected void triggerAuditEvent( String repositoryId, String resource,
String action, User user )
+ protected void triggerAuditEvent( String repositoryId, String resource,
String action,
+ AuditInformation auditInformation )
{
- log.warn( "no user found in triggerAuditEvent" );
+ User user = auditInformation == null ? null :
auditInformation.getUser();
AuditEvent event = new AuditEvent( repositoryId, user == null ? "null"
: user.getUsername(), resource, action );
- // FIXME use a thread local through cxf interceptors to store this
- //event.setRemoteIP( getRemoteAddr() );
+ event.setRemoteIP( auditInformation == null ? "null" :
auditInformation.getRemoteAddr() );
for ( AuditListener listener : auditListeners )
{
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java?rev=1163027&r1=1163026&r2=1163027&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdmin.java
Mon Aug 29 21:42:38 2011
@@ -19,8 +19,8 @@ package org.apache.archiva.admin.reposit
*/
+import org.apache.archiva.admin.AuditInformation;
import org.apache.archiva.admin.repository.RepositoryAdminException;
-import org.codehaus.plexus.redback.users.User;
import java.util.List;
@@ -36,14 +36,16 @@ public interface ManagedRepositoryAdmin
ManagedRepository getManagedRepository( String repositoryId )
throws RepositoryAdminException;
- Boolean deleteManagedRepository( String repositoryId, User user )
+ Boolean deleteManagedRepository( String repositoryId, AuditInformation
auditInformation )
throws RepositoryAdminException;
- Boolean addManagedRepository( ManagedRepository managedRepository, boolean
needStageRepo, User user )
+ Boolean addManagedRepository( ManagedRepository managedRepository, boolean
needStageRepo,
+ AuditInformation auditInformation )
throws RepositoryAdminException;
- Boolean updateManagedRepository( ManagedRepository managedRepository,
boolean needStageRepo, User user )
+ Boolean updateManagedRepository( ManagedRepository managedRepository,
boolean needStageRepo,
+ AuditInformation auditInformation )
throws RepositoryAdminException;
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java?rev=1163027&r1=1163026&r2=1163027&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
Mon Aug 29 21:42:38 2011
@@ -18,6 +18,7 @@ package org.apache.archiva.admin.reposit
* under the License.
*/
+import org.apache.archiva.admin.AuditInformation;
import org.apache.commons.lang.StringUtils;
import org.codehaus.plexus.redback.users.User;
import org.codehaus.plexus.redback.users.memory.SimpleUser;
@@ -74,14 +75,14 @@ public class ManagedRepositoryAdminTest
repo.setId( "test-new-one" );
repo.setName( "test repo" );
repo.setLocation( APPSERVER_BASE_PATH + repo.getId() );
- managedRepositoryAdmin.addManagedRepository( repo, false,
getFakeUser() );
+ managedRepositoryAdmin.addManagedRepository( repo, false,
getFakeAuditInformation() );
repos = managedRepositoryAdmin.getManagedRepositories();
assertNotNull( repos );
assertEquals( initialSize + 1, repos.size() );
assertNotNull( managedRepositoryAdmin.getManagedRepository(
"test-new-one" ) );
- managedRepositoryAdmin.deleteManagedRepository( "test-new-one",
getFakeUser() );
+ managedRepositoryAdmin.deleteManagedRepository( "test-new-one",
getFakeAuditInformation() );
repos = managedRepositoryAdmin.getManagedRepositories();
assertNotNull( repos );
@@ -101,7 +102,7 @@ public class ManagedRepositoryAdminTest
repo.setId( "test-new-one" );
repo.setName( "test repo" );
repo.setLocation( APPSERVER_BASE_PATH + repo.getId() );
- managedRepositoryAdmin.addManagedRepository( repo, false,
getFakeUser() );
+ managedRepositoryAdmin.addManagedRepository( repo, false,
getFakeAuditInformation() );
repos = managedRepositoryAdmin.getManagedRepositories();
assertNotNull( repos );
assertEquals( initialSize + 1, repos.size() );
@@ -112,7 +113,7 @@ public class ManagedRepositoryAdminTest
repo.setLocation( APPSERVER_BASE_PATH + "new-path" );
- managedRepositoryAdmin.updateManagedRepository( repo, false,
getFakeUser() );
+ managedRepositoryAdmin.updateManagedRepository( repo, false,
getFakeAuditInformation() );
repo = managedRepositoryAdmin.getManagedRepository( "test-new-one" );
assertNotNull( repo );
@@ -134,6 +135,12 @@ public class ManagedRepositoryAdminTest
return null;
}
+ AuditInformation getFakeAuditInformation()
+ {
+ AuditInformation auditInformation = new AuditInformation(
getFakeUser(), "archiva-localhost" );
+ return auditInformation;
+ }
+
User getFakeUser()
{
SimpleUser user = new SimpleUser();