Author: olamy
Date: Tue Sep 13 17:30:51 2011
New Revision: 1170259
URL: http://svn.apache.org/viewvc?rev=1170259&view=rev
Log:
remove IndexingContext when deleting a managed repository
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
Modified:
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/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/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java?rev=1170259&r1=1170258&r2=1170259&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
(original)
+++
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/managed/DefaultManagedRepositoryAdmin.java
Tue Sep 13 17:30:51 2011
@@ -24,6 +24,8 @@ import org.apache.archiva.admin.model.ma
import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin;
import org.apache.archiva.admin.repository.AbstractRepositoryAdmin;
import org.apache.archiva.audit.AuditEvent;
+import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
+import org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
import org.apache.archiva.metadata.repository.RepositorySession;
@@ -39,6 +41,8 @@ import org.apache.maven.archiva.configur
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
import org.apache.maven.archiva.configuration.RepositoryGroupConfiguration;
+import org.apache.maven.index.NexusIndexer;
+import org.apache.maven.index.context.IndexingContext;
import org.codehaus.plexus.redback.role.RoleManager;
import org.codehaus.plexus.redback.role.RoleManagerException;
import org.codehaus.plexus.taskqueue.TaskQueueException;
@@ -86,6 +90,9 @@ public class DefaultManagedRepositoryAdm
@Inject
private RepositoryStatisticsManager repositoryStatisticsManager;
+ @Inject
+ private PlexusSisuBridge plexusSisuBridge;
+
@Inject
protected RoleManager roleManager;
@@ -209,7 +216,6 @@ public class DefaultManagedRepositoryAdm
repository.setRetentionCount( retentionCount );
repository.setDeleteReleasedSnapshots( deteleReleasedSnapshots );
-
try
{
addRepository( repository, config );
@@ -281,7 +287,6 @@ public class DefaultManagedRepositoryAdm
if ( stagingRepository != null )
{
// do not trigger event when deleting the staged one
- //triggerAuditEvent( stagingRepository.getId(), null,
AuditEvent.DELETE_MANAGED_REPO, auditInformation );
deleteManagedRepository( stagingRepository, deleteContent, config,
true );
}
@@ -301,6 +306,25 @@ public class DefaultManagedRepositoryAdm
Configuration config, boolean
stagedOne )
throws RepositoryAdminException
{
+
+ try
+ {
+ NexusIndexer nexusIndexer = plexusSisuBridge.lookup(
NexusIndexer.class );
+
+ IndexingContext context = nexusIndexer.getIndexingContexts().get(
repository.getId() );
+ if ( context != null )
+ {
+ nexusIndexer.removeIndexingContext( context, deleteContent );
+ }
+ }
+ catch ( PlexusSisuBridgeException e )
+ {
+ throw new RepositoryAdminException( e.getMessage(), e );
+ }
+ catch ( IOException e )
+ {
+ throw new RepositoryAdminException( e.getMessage(), e );
+ }
if ( !stagedOne )
{
RepositorySession repositorySession =
getRepositorySessionFactory().createSession();