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