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