Author: olamy
Date: Sun Sep  4 14:54:52 2011
New Revision: 1165044

URL: http://svn.apache.org/viewvc?rev=1165044&view=rev
Log:
[MRM-1506] api to configure RemoteRepository : add auditListener call

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdmin.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdminTest.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java?rev=1165044&r1=1165043&r2=1165044&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/DefaultRemoteRepositoryAdmin.java
 Sun Sep  4 14:54:52 2011
@@ -18,8 +18,10 @@ package org.apache.archiva.admin.reposit
  * under the License.
  */
 
+import org.apache.archiva.admin.AuditInformation;
 import org.apache.archiva.admin.repository.AbstractRepositoryAdmin;
 import org.apache.archiva.admin.repository.RepositoryAdminException;
+import org.apache.archiva.audit.AuditEvent;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
@@ -68,9 +70,10 @@ public class DefaultRemoteRepositoryAdmi
         return null;
     }
 
-    public Boolean addRemoteRepository( RemoteRepository remoteRepository )
+    public Boolean addRemoteRepository( RemoteRepository remoteRepository, 
AuditInformation auditInformation )
         throws RepositoryAdminException
     {
+        triggerAuditEvent( remoteRepository.getId(), null, 
AuditEvent.ADD_REMOTE_REPO, auditInformation );
         getRepositoryCommonValidator().basicValidation( remoteRepository, 
false );
 
         //TODO we can validate it's a good uri/url
@@ -94,12 +97,17 @@ public class DefaultRemoteRepositoryAdmi
         Configuration configuration = 
getArchivaConfiguration().getConfiguration();
         configuration.addRemoteRepository( remoteRepositoryConfiguration );
         saveConfiguration( configuration );
+
+
         return Boolean.TRUE;
     }
 
-    public Boolean deleteRemoteRepository( String repositoryId )
+    public Boolean deleteRemoteRepository( String repositoryId, 
AuditInformation auditInformation )
         throws RepositoryAdminException
     {
+
+        triggerAuditEvent( repositoryId, null, AuditEvent.DELETE_REMOTE_REPO, 
auditInformation );
+
         Configuration configuration = 
getArchivaConfiguration().getConfiguration();
 
         RemoteRepositoryConfiguration remoteRepositoryConfiguration =
@@ -127,7 +135,7 @@ public class DefaultRemoteRepositoryAdmi
         return Boolean.TRUE;
     }
 
-    public Boolean updateRemoteRepository( RemoteRepository remoteRepository )
+    public Boolean updateRemoteRepository( RemoteRepository remoteRepository, 
AuditInformation auditInformation )
         throws RepositoryAdminException
     {
         return null;  //To change body of implemented methods use File | 
Settings | File Templates.

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdmin.java?rev=1165044&r1=1165043&r2=1165044&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/main/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdmin.java
 Sun Sep  4 14:54:52 2011
@@ -19,6 +19,7 @@ package org.apache.archiva.admin.reposit
  */
 
 
+import org.apache.archiva.admin.AuditInformation;
 import org.apache.archiva.admin.repository.RepositoryAdminException;
 
 import java.util.List;
@@ -35,12 +36,12 @@ public interface RemoteRepositoryAdmin
     RemoteRepository getRemoteRepository( String repositoryId )
         throws RepositoryAdminException;
 
-    Boolean deleteRemoteRepository( String repositoryId )
+    Boolean deleteRemoteRepository( String repositoryId, AuditInformation 
auditInformation )
         throws RepositoryAdminException;
 
-    Boolean addRemoteRepository( RemoteRepository remoteRepository )
+    Boolean addRemoteRepository( RemoteRepository remoteRepository, 
AuditInformation auditInformation )
         throws RepositoryAdminException;
 
-    Boolean updateRemoteRepository( RemoteRepository remoteRepository )
+    Boolean updateRemoteRepository( RemoteRepository remoteRepository, 
AuditInformation auditInformation )
         throws RepositoryAdminException;
 }

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java?rev=1165044&r1=1165043&r2=1165044&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
 Sun Sep  4 14:54:52 2011
@@ -19,12 +19,18 @@ package org.apache.archiva.admin.reposit
  */
 
 import junit.framework.TestCase;
+import org.apache.archiva.admin.AuditInformation;
+import org.apache.archiva.admin.mock.MockAuditListener;
+import org.codehaus.plexus.redback.users.User;
+import org.codehaus.plexus.redback.users.memory.SimpleUser;
 import org.junit.runner.RunWith;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
+import javax.inject.Inject;
+
 /**
  * @author Olivier Lamy
  */
@@ -36,5 +42,30 @@ public abstract class AbstractRepository
     protected Logger log = LoggerFactory.getLogger( getClass() );
 
     public static final String APPSERVER_BASE_PATH = System.getProperty( 
"appserver.base" );
-    // no op
+
+    @Inject
+    protected MockAuditListener mockAuditListener;
+
+    protected AuditInformation getFakeAuditInformation()
+    {
+        AuditInformation auditInformation = new AuditInformation( 
getFakeUser(), "archiva-localhost" );
+        return auditInformation;
+    }
+
+    protected User getFakeUser()
+    {
+        SimpleUser user = new SimpleUser()
+        {
+            @Override
+            public Object getPrincipal()
+            {
+                return "root";
+            }
+
+        };
+
+        user.setUsername( "root" );
+        user.setFullName( "The top user" );
+        return user;
+    }
 }

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=1165044&r1=1165043&r2=1165044&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
 Sun Sep  4 14:54:52 2011
@@ -44,8 +44,7 @@ public class ManagedRepositoryAdminTest
     @Inject
     private ManagedRepositoryAdmin managedRepositoryAdmin;
 
-    @Inject
-    private MockAuditListener mockAuditListener;
+
 
     @Inject
     protected RoleManager roleManager;
@@ -416,28 +415,7 @@ public class ManagedRepositoryAdminTest
         return null;
     }
 
-    AuditInformation getFakeAuditInformation()
-    {
-        AuditInformation auditInformation = new AuditInformation( 
getFakeUser(), "archiva-localhost" );
-        return auditInformation;
-    }
 
-    User getFakeUser()
-    {
-        SimpleUser user = new SimpleUser()
-        {
-            @Override
-            public Object getPrincipal()
-            {
-                return "root";
-            }
-
-        };
-
-        user.setUsername( "root" );
-        user.setFullName( "The top user" );
-        return user;
-    }
 
     ManagedRepository getTestManagedRepository( String repoId, String 
repoLocation )
     {

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdminTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdminTest.java?rev=1165044&r1=1165043&r2=1165044&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdminTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/src/test/java/org/apache/archiva/admin/repository/remote/RemoteRepositoryAdminTest.java
 Sun Sep  4 14:54:52 2011
@@ -19,6 +19,7 @@ package org.apache.archiva.admin.reposit
  */
 
 import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
+import org.apache.archiva.audit.AuditEvent;
 import org.junit.Test;
 
 import javax.inject.Inject;
@@ -60,11 +61,12 @@ public class RemoteRepositoryAdminTest
     public void addAndDelete()
         throws Exception
     {
+        mockAuditListener.clearEvents();
         int initialSize = remoteRepositoryAdmin.getRemoteRepositories().size();
 
         RemoteRepository remoteRepository = getRemoteRepository();
 
-        remoteRepositoryAdmin.addRemoteRepository( remoteRepository );
+        remoteRepositoryAdmin.addRemoteRepository( remoteRepository, 
getFakeAuditInformation() );
 
         assertEquals( initialSize + 1, 
remoteRepositoryAdmin.getRemoteRepositories().size() );
 
@@ -76,12 +78,22 @@ public class RemoteRepositoryAdminTest
         assertEquals( getRemoteRepository().getName(), repo.getName() );
         assertEquals( getRemoteRepository().getTimeout(), repo.getTimeout() );
 
-        remoteRepositoryAdmin.deleteRemoteRepository( "foo" );
+        remoteRepositoryAdmin.deleteRemoteRepository( "foo", 
getFakeAuditInformation() );
 
         assertEquals( initialSize, 
remoteRepositoryAdmin.getRemoteRepositories().size() );
 
         repo = remoteRepositoryAdmin.getRemoteRepository( "foo" );
         assertNull( repo );
+
+        assertEquals( 2, mockAuditListener.getAuditEvents().size() );
+
+        assertEquals( AuditEvent.ADD_REMOTE_REPO, 
mockAuditListener.getAuditEvents().get( 0 ).getAction() );
+        assertEquals( "root", mockAuditListener.getAuditEvents().get( 0 
).getUserId() );
+        assertEquals( "archiva-localhost", 
mockAuditListener.getAuditEvents().get( 0 ).getRemoteIP() );
+
+        assertEquals( AuditEvent.DELETE_REMOTE_REPO, 
mockAuditListener.getAuditEvents().get( 1 ).getAction() );
+        assertEquals( "root", mockAuditListener.getAuditEvents().get( 0 
).getUserId() );
+
     }
 
 


Reply via email to