Author: olamy
Date: Wed Aug 31 07:12:47 2011
New Revision: 1163510

URL: http://svn.apache.org/viewvc?rev=1163510&view=rev
Log:
[MRM-1505] api to configure ManagedRepository
fix delete of staged repo too.

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/test/java/org/apache/archiva/admin/repository/managed/ManagedRepositoryAdminTest.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=1163510&r1=1163509&r2=1163510&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 07:12:47 2011
@@ -75,6 +75,8 @@ public class DefaultManagedRepositoryAdm
 
     private Logger log = LoggerFactory.getLogger( getClass() );
 
+    public static final String STAGE_REPO_ID_END = "-stage";
+
     @Inject
     private ArchivaConfiguration archivaConfiguration;
 
@@ -108,7 +110,7 @@ public class DefaultManagedRepositoryAdm
 
         for ( ManagedRepositoryConfiguration repoConfig : managedRepoConfigs )
         {
-            // TODO add staging repo too
+            // TODO add staging repo information back too
             ManagedRepository repo =
                 new ManagedRepository( repoConfig.getId(), 
repoConfig.getName(), repoConfig.getLocation(),
                                        repoConfig.getLayout(), 
repoConfig.isSnapshots(), repoConfig.isReleases(),
@@ -263,10 +265,6 @@ public class DefaultManagedRepositoryAdm
     }
 
 
-    // FIXME delete stagedRepo if exists !!!!
-    // find it tru :
-    // stagingRepository =
-    //            
archivaConfiguration.getConfiguration().findManagedRepositoryById( repoid + 
"-stage" );
     public Boolean deleteManagedRepository( String repositoryId, 
AuditInformation auditInformation,
                                             boolean deleteContent )
         throws RepositoryAdminException
@@ -354,6 +352,15 @@ 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;
     }
 
@@ -521,9 +528,9 @@ public class DefaultManagedRepositoryAdm
     private ManagedRepositoryConfiguration getStageRepoConfig( 
ManagedRepositoryConfiguration repository )
     {
         ManagedRepositoryConfiguration stagingRepository = new 
ManagedRepositoryConfiguration();
-        stagingRepository.setId( repository.getId() + "-stage" );
+        stagingRepository.setId( repository.getId() + STAGE_REPO_ID_END );
         stagingRepository.setLayout( repository.getLayout() );
-        stagingRepository.setName( repository.getName() + "-stage" );
+        stagingRepository.setName( repository.getName() + STAGE_REPO_ID_END );
         stagingRepository.setBlockRedeployments( 
repository.isBlockRedeployments() );
         stagingRepository.setDaysOlder( repository.getDaysOlder() );
         stagingRepository.setDeleteReleasedSnapshots( 
repository.isDeleteReleasedSnapshots() );

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=1163510&r1=1163509&r2=1163510&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
 Wed Aug 31 07:12:47 2011
@@ -49,6 +49,8 @@ public class ManagedRepositoryAdminTest
     @Inject
     protected RoleManager roleManager;
 
+    public static final String STAGE_REPO_ID_END = 
DefaultManagedRepositoryAdmin.STAGE_REPO_ID_END;
+
     @Test
     public void getAllManagedRepos()
         throws Exception
@@ -109,7 +111,6 @@ public class ManagedRepositoryAdminTest
 
         managedRepositoryAdmin.deleteManagedRepository( repoId, 
getFakeAuditInformation(), false );
 
-
         // deleteContents false
         assertTrue( repoDir.exists() );
 
@@ -221,16 +222,28 @@ public class ManagedRepositoryAdminTest
 
         assertTemplateRoleExists( repoId );
 
+        assertTrue( repoDir.exists() );
+
+        assertNotNull( managedRepositoryAdmin.getManagedRepository( repoId + 
STAGE_REPO_ID_END ) );
+
+        assertTemplateRoleExists( repoId + STAGE_REPO_ID_END );
+
+        assertTrue( new File( repoLocation + STAGE_REPO_ID_END ).exists() );
+
         managedRepositoryAdmin.deleteManagedRepository( repoId, 
getFakeAuditInformation(), true );
 
         assertFalse( repoDir.exists() );
 
+        assertFalse( new File( repoLocation + STAGE_REPO_ID_END ).exists() );
+
         repos = managedRepositoryAdmin.getManagedRepositories();
         assertNotNull( repos );
         assertEquals( initialSize, repos.size() );
 
         assertTemplateRoleNotExists( repoId );
 
+        assertTemplateRoleNotExists( repoId + STAGE_REPO_ID_END );
+
         mockAuditListener.clearEvents();
     }
 
@@ -265,7 +278,8 @@ public class ManagedRepositoryAdminTest
         assertEquals( "root", mockAuditListener.getAuditEvents().get( 0 
).getUserId() );
     }
 
-    private File clearRepoLocation(String path) throws Exception
+    private File clearRepoLocation( String path )
+        throws Exception
     {
         File repoDir = new File( path );
         if ( repoDir.exists() )


Reply via email to