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();


Reply via email to