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