Author: olamy
Date: Wed Feb  6 21:21:01 2013
New Revision: 1443216

URL: http://svn.apache.org/viewvc?rev=1443216&view=rev
Log:
[MRM-1744] updating managed repository fail to correctly update maven index 
directory.

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=1443216&r1=1443215&r2=1443216&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
 Wed Feb  6 21:21:01 2013
@@ -70,7 +70,7 @@ import java.util.Map;
  *
  * @author Olivier Lamy
  */
-@Service ( "managedRepositoryAdmin#default" )
+@Service( "managedRepositoryAdmin#default" )
 public class DefaultManagedRepositoryAdmin
     extends AbstractRepositoryAdmin
     implements ManagedRepositoryAdmin
@@ -81,7 +81,7 @@ public class DefaultManagedRepositoryAdm
     public static final String STAGE_REPO_ID_END = "-stage";
 
     @Inject
-    @Named ( value = "archivaTaskScheduler#repository" )
+    @Named( value = "archivaTaskScheduler#repository" )
     private RepositoryArchivaTaskScheduler repositoryTaskScheduler;
 
     @Inject
@@ -339,7 +339,7 @@ public class DefaultManagedRepositoryAdm
         }
         catch ( Exception e )
         {
-            throw new RepositoryAdminException( "Error saving configuration 
for delete action" + e.getMessage(), e);
+            throw new RepositoryAdminException( "Error saving configuration 
for delete action" + e.getMessage(), e );
         }
 
         return Boolean.TRUE;
@@ -468,9 +468,13 @@ public class DefaultManagedRepositoryAdm
 
         ManagedRepositoryConfiguration toremove = 
configuration.findManagedRepositoryById( managedRepository.getId() );
 
+        boolean updateIndexContext = false;
+
         if ( toremove != null )
         {
             configuration.removeManagedRepository( toremove );
+
+            updateIndexContext = !StringUtils.equals( toremove.getIndexDir(), 
managedRepository.getIndexDirectory() );
         }
 
         ManagedRepositoryConfiguration stagingRepository = getStageRepoConfig( 
toremove );
@@ -518,7 +522,24 @@ public class DefaultManagedRepositoryAdm
         {
             repositorySession.close();
         }
-        createIndexContext( managedRepository );
+
+        if ( updateIndexContext )
+        {
+            try
+            {
+                IndexingContext indexingContext = 
indexer.getIndexingContexts().get( managedRepository.getId() );
+                if ( indexingContext != null )
+                {
+                    indexer.removeIndexingContext( indexingContext, true );
+                }
+                createIndexContext( managedRepository );
+            }
+            catch ( IOException e )
+            {
+                throw new RepositoryAdminException( e.getMessage(), e );
+            }
+        }
+
         return true;
     }
 


Reply via email to