Author: olamy
Date: Wed Aug 31 10:30:09 2011
New Revision: 1163565

URL: http://svn.apache.org/viewvc?rev=1163565&view=rev
Log:
fix unit tests while implementing [MRM-1505]   in rev 1163444

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-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java

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=1163565&r1=1163564&r2=1163565&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
 Wed Aug 31 10:30:09 2011
@@ -280,24 +280,17 @@ public class DefaultManagedRepositoryAdm
 
         triggerAuditEvent( repositoryId, null, AuditEvent.DELETE_MANAGED_REPO, 
auditInformation );
 
-        RepositorySession repositorySession = 
repositorySessionFactory.createSession();
-        try
-        {
-            MetadataRepository metadataRepository = 
repositorySession.getRepository();
-            metadataRepository.removeRepository( repository.getId() );
-            log.debug( "call repositoryStatisticsManager.deleteStatistics" );
-            repositoryStatisticsManager.deleteStatistics( metadataRepository, 
repository.getId() );
-            repositorySession.save();
-        }
-        catch ( MetadataRepositoryException e )
-        {
-            throw new RepositoryAdminException( e.getMessage(), e );
-        }
-        finally
+        deleteManagedRepository( repository, deleteContent, config, false );
+
+        // stage repo exists ?
+        ManagedRepositoryConfiguration stagingRepository =
+            archivaConfiguration.getConfiguration().findManagedRepositoryById( 
repositoryId + STAGE_REPO_ID_END );
+        if ( stagingRepository != null )
         {
-            repositorySession.close();
+            // do not trigger event when deleting the staged one
+            //triggerAuditEvent( stagingRepository.getId(), null, 
AuditEvent.DELETE_MANAGED_REPO, auditInformation );
+            deleteManagedRepository( stagingRepository, deleteContent, config, 
true );
         }
-        config.removeManagedRepository( repository );
 
         try
         {
@@ -308,6 +301,35 @@ public class DefaultManagedRepositoryAdm
             throw new RepositoryAdminException( "Error saving configuration 
for delete action" + e.getMessage() );
         }
 
+        return Boolean.TRUE;
+    }
+
+    private Boolean deleteManagedRepository( ManagedRepositoryConfiguration 
repository, boolean deleteContent,
+                                             Configuration config, boolean 
stagedOne )
+        throws RepositoryAdminException
+    {
+        if ( !stagedOne )
+        {
+            RepositorySession repositorySession = 
repositorySessionFactory.createSession();
+            try
+            {
+                MetadataRepository metadataRepository = 
repositorySession.getRepository();
+                metadataRepository.removeRepository( repository.getId() );
+                log.debug( "call repositoryStatisticsManager.deleteStatistics" 
);
+                repositoryStatisticsManager.deleteStatistics( 
metadataRepository, repository.getId() );
+                repositorySession.save();
+            }
+            catch ( MetadataRepositoryException e )
+            {
+                throw new RepositoryAdminException( e.getMessage(), e );
+            }
+            finally
+            {
+                repositorySession.close();
+            }
+        }
+        config.removeManagedRepository( repository );
+
         if ( deleteContent )
         {
             // TODO could be async ? as directory can be huge
@@ -318,6 +340,7 @@ public class DefaultManagedRepositoryAdm
             }
         }
 
+
         // olamy: copy list for reading as a unit test in webapp fail with 
ConcurrentModificationException
         List<ProxyConnectorConfiguration> proxyConnectors =
             new ArrayList<ProxyConnectorConfiguration>( 
config.getProxyConnectors() );
@@ -329,7 +352,7 @@ public class DefaultManagedRepositoryAdm
             }
         }
 
-        Map<String, List<String>> repoToGroupMap = 
archivaConfiguration.getConfiguration().getRepositoryToGroupMap();
+        Map<String, List<String>> repoToGroupMap = 
config.getRepositoryToGroupMap();
         if ( repoToGroupMap != null )
         {
             if ( repoToGroupMap.containsKey( repository.getId() ) )
@@ -352,15 +375,6 @@ public class DefaultManagedRepositoryAdm
             throw new RepositoryAdminException(
                 "fail to remove repository roles for repository " + 
repository.getId() + " : " + e.getMessage(), e );
         }
-
-        // stage repo exists ?
-        ManagedRepositoryConfiguration stagingRepository =
-            archivaConfiguration.getConfiguration().findManagedRepositoryById( 
repositoryId + STAGE_REPO_ID_END );
-        if ( stagingRepository != null )
-        {
-            deleteManagedRepository( stagingRepository.getId(), 
auditInformation, deleteContent );
-        }
-
         return Boolean.TRUE;
     }
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java?rev=1163565&r1=1163564&r2=1163565&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryAction.java
 Wed Aug 31 10:30:09 2011
@@ -101,6 +101,7 @@ public class DeleteManagedRepositoryActi
         {
             addActionError(
                 "Unable to delete repository, content may already be partially 
removed: " + e.getMessage() );
+            log.error( e.getMessage(), e );
             result = ERROR;
         }
         return result;

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java?rev=1163565&r1=1163564&r2=1163565&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/EditManagedRepositoryAction.java
 Wed Aug 31 10:30:09 2011
@@ -42,7 +42,6 @@ import javax.inject.Inject;
  * AddManagedRepositoryAction
  *
  * @version $Id$
- * plexus.component role="com.opensymphony.xwork2.Action" 
role-hint="editManagedRepositoryAction" instantiation-strategy="per-lookup"
  */
 @Controller( "editManagedRepositoryAction" )
 @Scope( "prototype" )

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java?rev=1163565&r1=1163564&r2=1163565&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/repositories/DeleteManagedRepositoryActionTest.java
 Wed Aug 31 10:30:09 2011
@@ -340,6 +340,10 @@ public class DeleteManagedRepositoryActi
         archivaConfigurationControl.setReturnValue( stageRepoConfiguration );
 
         archivaConfiguration.save( configuration );
+
+        // save for staging repo delete
+        archivaConfiguration.save( configuration );
+
         archivaConfigurationControl.replay();
 
         action.setRepoid( REPO_ID );


Reply via email to