You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2009/10/16 14:35:54 UTC

svn commit: r825867 [3/4] - in /archiva/branches/MRM-1025: ./ archiva-cli/ archiva-cli/src/main/java/org/apache/maven/archiva/cli/ archiva-docs/ archiva-jetty/ archiva-modules/ archiva-modules/archiva-base/ archiva-modules/archiva-base/archiva-artifact...

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListener.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListener.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListener.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListener.java Fri Oct 16 12:35:38 2009
@@ -19,9 +19,15 @@
  * under the License.
  */
 
+import java.util.List;
+
+import org.apache.maven.archiva.database.constraints.RepositoryProblemByArtifactConstraint;
 import org.apache.maven.archiva.model.ArchivaArtifact;
+import org.apache.maven.archiva.model.ArchivaProjectModel;
+import org.apache.maven.archiva.model.RepositoryProblem;
 import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.events.RepositoryListener;
+import org.codehaus.plexus.cache.Cache;
 
 /**
  * Process repository management events and respond appropriately.
@@ -36,6 +42,21 @@
      */
     private ArtifactDAO artifactDAO;
 
+    /**
+     * @plexus.requirement role-hint="jdo"
+     */
+    private RepositoryProblemDAO repositoryProblemDAO;
+
+    /**
+     * @plexus.requirement role-hint="jdo"
+     */
+    private ProjectModelDAO projectModelDAO;
+
+    /**
+     * @plexus.requirement role-hint="effective-project-cache"
+     */
+    private Cache effectiveProjectCache;
+
     public void deleteArtifact( ManagedRepositoryContent repository, ArchivaArtifact artifact )
     {
         try
@@ -49,5 +70,62 @@
         {
             // ignored
         }
+
+        try
+        {
+            // Remove all repository problems related to this artifact
+            Constraint artifactConstraint = new RepositoryProblemByArtifactConstraint( artifact );
+            List<RepositoryProblem> repositoryProblems =
+                repositoryProblemDAO.queryRepositoryProblems( artifactConstraint );
+
+            if ( repositoryProblems != null )
+            {
+                for ( RepositoryProblem repositoryProblem : repositoryProblems )
+                {
+                    repositoryProblemDAO.deleteRepositoryProblem( repositoryProblem );
+                }
+            }
+        }
+        catch ( ArchivaDatabaseException e )
+        {
+            // ignored
+        }
+
+        if ( "pom".equals( artifact.getType() ) )
+        {
+            try
+            {
+                ArchivaProjectModel projectModel =
+                    projectModelDAO.getProjectModel( artifact.getGroupId(), artifact.getArtifactId(),
+                                                     artifact.getVersion() );
+
+                projectModelDAO.deleteProjectModel( projectModel );
+
+                // Force removal of project model from effective cache
+                String projectKey = toProjectKey( projectModel );
+                synchronized ( effectiveProjectCache )
+                {
+                    if ( effectiveProjectCache.hasKey( projectKey ) )
+                    {
+                        effectiveProjectCache.remove( projectKey );
+                    }
+                }
+            }
+            catch ( ArchivaDatabaseException e )
+            {
+                // ignored
+            }
+        }
+    }
+
+    private String toProjectKey( ArchivaProjectModel project )
+    {
+        StringBuilder key = new StringBuilder();
+
+        key.append( project.getGroupId() ).append( ":" );
+        key.append( project.getArtifactId() ).append( ":" );
+        key.append( project.getVersion() );
+
+        return key.toString();
     }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseConsumers.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseConsumers.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseConsumers.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseConsumers.java Fri Oct 16 12:35:38 2009
@@ -28,9 +28,7 @@
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.DatabaseScanningConfiguration;
 import org.apache.maven.archiva.consumers.functors.PermanentConsumerPredicate;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -42,13 +40,9 @@
  */
 public class DatabaseConsumers
     implements ApplicationContextAware
-{    
-    private Logger log = LoggerFactory.getLogger( DatabaseConsumers.class );
-    
+{
     private ArchivaConfiguration archivaConfiguration;
 
-    private Predicate selectedCleanupConsumers;
-
     private Predicate selectedUnprocessedConsumers;
     
     private ApplicationContext applicationContext;
@@ -59,7 +53,6 @@
         
         Predicate permanentConsumers = new PermanentConsumerPredicate();
 
-        selectedCleanupConsumers = new OrPredicate( permanentConsumers, new SelectedCleanupConsumersPredicate() );
         selectedUnprocessedConsumers = new OrPredicate( permanentConsumers, new SelectedUnprocessedConsumersPredicate() );
     }
     
@@ -82,25 +75,14 @@
         }
     }
 
-    class SelectedCleanupConsumersPredicate
-        implements Predicate
+    public void initialize()
+        throws InitializationException
     {
-        public boolean evaluate( Object object )
-        {
-            boolean satisfies = false;
-
-            if ( object instanceof DatabaseCleanupConsumer )
-            {
-                DatabaseCleanupConsumer consumer = (DatabaseCleanupConsumer) object;
-                DatabaseScanningConfiguration config = archivaConfiguration.getConfiguration().getDatabaseScanning();
-
-                return config.getCleanupConsumers().contains( consumer.getId() );
-            }
+        Predicate permanentConsumers = new PermanentConsumerPredicate();
 
-            return satisfies;
-        }
+        selectedUnprocessedConsumers = new OrPredicate( permanentConsumers, new SelectedUnprocessedConsumersPredicate() );
     }
-
+    
     public void setApplicationContext( ApplicationContext applicationContext )
         throws BeansException
     {
@@ -122,20 +104,6 @@
     }
 
     /**
-     * Get the {@link List} of {@link DatabaseCleanupConsumer} objects for those
-     * consumers selected due to the configuration.
-     * 
-     * @return the list of selected {@link DatabaseCleanupConsumer} objects.
-     */
-    @SuppressWarnings("unchecked")
-    public List<ArchivaArtifactConsumer> getSelectedCleanupConsumers()
-    {
-        List<ArchivaArtifactConsumer> ret = new ArrayList<ArchivaArtifactConsumer>();
-        ret.addAll( CollectionUtils.select( getAvailableCleanupConsumers(), selectedCleanupConsumers ) );
-        return ret;
-    }
-
-    /**
      * Get the complete {@link List} of {@link DatabaseUnprocessedArtifactConsumer} objects
      * that are available in the system, regardless of configuration.
      * 
@@ -146,46 +114,4 @@
     {       
         return new ArrayList<DatabaseUnprocessedArtifactConsumer>( applicationContext.getBeansOfType( DatabaseUnprocessedArtifactConsumer.class ).values() );
     }
-
-    /**
-     * Get the complete {@link List} of {@link DatabaseCleanupConsumer} objects
-     * that are available in the system, regardless of configuration.
-     * 
-     * @return the list of all available {@link DatabaseCleanupConsumer} objects.
-     */
-    @SuppressWarnings("unchecked")
-    public List<DatabaseCleanupConsumer> getAvailableCleanupConsumers()
-    {
-        return new ArrayList<DatabaseCleanupConsumer>( applicationContext.getBeansOfType( DatabaseCleanupConsumer.class ).values() );
-    }
-    
-    /**
-     * Execute the cleanup consumers to cleanup the specified artifact from the database and index.
-     * 
-     * @param artifact
-     */
-    public void executeCleanupConsumer( ArchivaArtifact artifact )
-    {
-        List<ArchivaArtifactConsumer> consumers = getSelectedCleanupConsumers();
-        for ( ArchivaArtifactConsumer consumer : consumers )
-        {
-            consumer.beginScan();
-        }
-        
-        if ( CollectionUtils.isEmpty( consumers ) )
-        {
-            log.warn( "There are no selected consumers for artifact cleanup." );
-            return;
-        }
-        
-        ProcessArchivaArtifactClosure processArtifactClosure = new ProcessArchivaArtifactClosure();
-        processArtifactClosure.setArtifact( artifact );
-        
-        CollectionUtils.forAllDo( consumers, processArtifactClosure );
-        
-        for ( ArchivaArtifactConsumer consumer : consumers )
-        {
-            consumer.completeScan();
-        }
-    }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseUpdater.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseUpdater.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseUpdater.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseUpdater.java Fri Oct 16 12:35:38 2009
@@ -30,15 +30,6 @@
 public interface DatabaseUpdater
 {
     /**
-     * Execute the {@link #updateAllUnprocessed()} and {@link #updateAllProcessed()}
-     * tasks in one go.
-     * 
-     * @throws ArchivaDatabaseException
-     */
-    public void update()
-        throws ArchivaDatabaseException;
-
-    /**
      * Update all unprocessed content.
      * 
      * @throws ArchivaDatabaseException if there was a fatal error with the database.
@@ -53,26 +44,4 @@
      */
     public void updateUnprocessed( ArchivaArtifact artifact )
         throws ArchivaDatabaseException;
-
-    /**
-     * Update all previously processed content.
-     * 
-     * This is done to allow archiva to remove content from the database that 
-     * may have been removed from the filesystem too.
-     * 
-     * @throws ArchivaDatabaseException if there was a fatal error with the database.
-     */
-    public void updateAllProcessed()
-        throws ArchivaDatabaseException;
-
-    /**
-     * Update specific processed content.
-     * 
-     * Example: This is done to allow a specific artifact to be removed from the
-     * database if it no longer exists on the filesystem.
-     * 
-     * @throws ArchivaDatabaseException if there was a fatal error with the database.
-     */
-    public void updateProcessed( ArchivaArtifact artifact )
-        throws ArchivaDatabaseException;
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/JdoDatabaseUpdater.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/JdoDatabaseUpdater.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/JdoDatabaseUpdater.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/JdoDatabaseUpdater.java Fri Oct 16 12:35:38 2009
@@ -26,7 +26,6 @@
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.IteratorUtils;
 import org.apache.commons.collections.Predicate;
-import org.apache.commons.collections.functors.NotPredicate;
 import org.apache.maven.archiva.database.ArchivaDAO;
 import org.apache.maven.archiva.database.ArchivaDatabaseException;
 import org.apache.maven.archiva.database.constraints.ArtifactsProcessedConstraint;
@@ -60,14 +59,6 @@
 
     private ProcessArchivaArtifactClosure processArtifactClosure = new ProcessArchivaArtifactClosure();
 
-    public void update()
-        throws ArchivaDatabaseException
-    {
-        updateAllUnprocessed();
-        updateAllProcessed();
-    }
-
-    @SuppressWarnings("unchecked")
     public void updateAllUnprocessed()
         throws ArchivaDatabaseException
     {
@@ -93,32 +84,6 @@
         }
     }
 
-    @SuppressWarnings("unchecked")
-    public void updateAllProcessed()
-        throws ArchivaDatabaseException
-    {
-        List<ArchivaArtifact> processedArtifacts = dao.getArtifactDAO().queryArtifacts( new ArtifactsProcessedConstraint( true ) );
-
-        beginConsumerLifecycle( dbConsumers.getSelectedCleanupConsumers() );
-
-        try
-        {
-            // Process each consumer.
-            Predicate predicate = NotPredicate.getInstance( UnprocessedArtifactPredicate.getInstance() );
-
-            Iterator<ArchivaArtifact> it = IteratorUtils.filteredIterator( processedArtifacts.iterator(), predicate );
-            while ( it.hasNext() )
-            {
-                ArchivaArtifact artifact = it.next();
-                updateProcessed( artifact );
-            }
-        }
-        finally
-        {
-            endConsumerLifecycle( dbConsumers.getSelectedCleanupConsumers() );
-        }
-    }
-
     private void endConsumerLifecycle( List<ArchivaArtifactConsumer> consumers )
     {
         for ( ArchivaArtifactConsumer consumer : consumers )
@@ -152,19 +117,4 @@
         artifact.getModel().setWhenProcessed( new Date() );
         dao.getArtifactDAO().saveArtifact( artifact );
     }
-
-    public void updateProcessed( ArchivaArtifact artifact )
-        throws ArchivaDatabaseException
-    {
-        List<ArchivaArtifactConsumer> consumers = dbConsumers.getSelectedCleanupConsumers();
-
-        if ( CollectionUtils.isEmpty( consumers ) )
-        {
-            log.warn( "There are no selected consumers for artifact cleanup." );
-            return;
-        }
-        
-        this.processArtifactClosure.setArtifact( artifact );
-        CollectionUtils.forAllDo( consumers, this.processArtifactClosure );
-    }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/AbstractArchivaDatabaseTestCase.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/AbstractArchivaDatabaseTestCase.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/AbstractArchivaDatabaseTestCase.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/AbstractArchivaDatabaseTestCase.java Fri Oct 16 12:35:38 2009
@@ -25,14 +25,11 @@
 import java.util.Date;
 import java.util.Map;
 import java.util.Properties;
-
 import javax.jdo.PersistenceManager;
 import javax.jdo.PersistenceManagerFactory;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer;
 import org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer;
-import org.apache.maven.archiva.database.updater.TestDatabaseCleanupConsumer;
 import org.apache.maven.archiva.database.updater.TestDatabaseUnprocessedConsumer;
 import org.apache.maven.archiva.model.ArtifactReference;
 import org.apache.maven.archiva.model.VersionedReference;
@@ -131,15 +128,6 @@
         this.dao = (ArchivaDAO) lookup( ArchivaDAO.class.getName(), "jdo" );
     }
 
-    protected TestDatabaseCleanupConsumer lookupTestCleanupConsumer()
-        throws Exception
-    {
-        TestDatabaseCleanupConsumer consumer = (TestDatabaseCleanupConsumer) lookup( DatabaseCleanupConsumer.class,
-                                                                                     "test-db-cleanup" );
-        assertNotNull( "Test Database Cleanup Consumer should not be null.", consumer );
-        return consumer;
-    }
-
     protected TestDatabaseUnprocessedConsumer lookupTestUnprocessedConsumer()
         throws Exception
     {

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListenerTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListenerTest.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListenerTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListenerTest.java Fri Oct 16 12:35:38 2009
@@ -53,10 +53,10 @@
         assertEquals( listener, listeners.get( 0 ) );
     }
 
-    public ArchivaArtifact createArtifact( String artifactId, String version, ArtifactDAO artifactDao )
+    public ArchivaArtifact createArtifact( String artifactId, String version, ArtifactDAO artifactDao, String type )
     {
         ArchivaArtifact artifact =
-            artifactDao.createArtifact( "org.apache.maven.archiva.test", artifactId, version, "", "jar", "testable_repo" );
+            artifactDao.createArtifact( "org.apache.maven.archiva.test", artifactId, version, "", type, "testable_repo" );
         artifact.getModel().setLastModified( new Date() );
         artifact.getModel().setRepositoryId( "testable_repo" );
         return artifact;
@@ -67,21 +67,22 @@
     {
         ArtifactDAO artifactDao = (ArtifactDAO) lookup( ArtifactDAO.class.getName(), "jdo" );
 
-        // Setup artifacts in fresh DB.
-        ArchivaArtifact artifact = createArtifact( "test-artifact", "1.0", artifactDao );
-        artifactDao.saveArtifact( artifact );
+        ArchivaArtifact pomArtifact = createPom( artifactDao );
+        ArchivaArtifact jarArtifact = createJar( artifactDao );
 
-        assertEquals( artifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0", null,
-                                                         "jar", "testable_repo" ) );
+        assertEquals( pomArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "pom", "testable_repo" ) );
+        assertEquals( jarArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "jar", "testable_repo" ) );
 
-        artifact = new ArchivaArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0", null, "jar", "testable_repo" );
+        jarArtifact = new ArchivaArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0", null, "jar", "testable_repo" );
         ManagedRepositoryContent repository =
             (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class.getName(), "default" );
         ManagedRepositoryConfiguration configuration = new ManagedRepositoryConfiguration();
         configuration.setId("testable_repo");
         repository.setRepository(configuration);
         
-        listener.deleteArtifact( repository, artifact );
+        listener.deleteArtifact( repository, jarArtifact );
 
         try
         {
@@ -92,5 +93,59 @@
         {
             assertTrue( true );
         }
+
+        assertEquals( pomArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "pom", "testable_repo" ) );
+    }
+
+    private ArchivaArtifact createJar( ArtifactDAO artifactDao )
+        throws ArchivaDatabaseException
+    {
+        ArchivaArtifact artifact = createArtifact( "test-artifact", "1.0", artifactDao, "jar" );
+        artifactDao.saveArtifact( artifact );
+        return artifact;
+    }
+
+    public void testDeletePomArtifact()
+        throws Exception
+    {
+        ArtifactDAO artifactDao = (ArtifactDAO) lookup( ArtifactDAO.class.getName(), "jdo" );
+
+        ArchivaArtifact pomArtifact = createPom( artifactDao );
+        ArchivaArtifact jarArtifact = createJar( artifactDao );
+
+        assertEquals( pomArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "pom", "testable_repo" ) );
+        assertEquals( jarArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "jar", "testable_repo" ) );
+
+        pomArtifact = new ArchivaArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0", null, "pom", "testable_repo" );
+        ManagedRepositoryContent repository =
+            (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class.getName(), "default" );
+        ManagedRepositoryConfiguration configuration = new ManagedRepositoryConfiguration();
+        configuration.setId("testable_repo");
+        repository.setRepository(configuration);
+        listener.deleteArtifact( repository, pomArtifact );
+
+        try
+        {
+            artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0", null, "pom", "testable_repo" );
+            fail( "Should not find artifact" );
+        }
+        catch ( ObjectNotFoundException e )
+        {
+            assertTrue( true );
+        }
+
+        assertEquals( jarArtifact, artifactDao.getArtifact( "org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "jar", "testable_repo" ) );
+    }
+
+    private ArchivaArtifact createPom( ArtifactDAO artifactDao )
+        throws ArchivaDatabaseException
+    {
+        ArchivaArtifact artifact = createArtifact( "test-artifact", "1.0", artifactDao, "pom" );
+        artifactDao.saveArtifact( artifact );
+        return artifact;
     }
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.java Fri Oct 16 12:35:38 2009
@@ -19,11 +19,11 @@
  * under the License.
  */
 
+import java.util.List;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
 
-import java.util.List;
-
 /**
  * DatabaseConsumersTest 
  *
@@ -40,16 +40,6 @@
         return dbconsumers;
     }
 
-    public void testGetAvailableCleanupConsumers()
-        throws Exception
-    {
-        DatabaseConsumers dbconsumers = lookupDbConsumers();
-        List<DatabaseCleanupConsumer> available = dbconsumers.getAvailableCleanupConsumers();
-        assertNotNull( "Available Cleanup Consumers should never be null.", available );
-
-        assertTrue( "Available Cleanup Consumers should have entries.", CollectionUtils.isNotEmpty( available ) );
-    }
-
     public void testGetAvailableUnprocessedConsumers()
         throws Exception
     {
@@ -60,16 +50,6 @@
         assertTrue( "Available Unprocessed Consumers should have entries.", CollectionUtils.isNotEmpty( available ) );
     }
 
-    public void testGetSelectedCleanupConsumers()
-        throws Exception
-    {
-        DatabaseConsumers dbconsumers = lookupDbConsumers();
-        List<ArchivaArtifactConsumer> available = dbconsumers.getSelectedCleanupConsumers();
-        assertNotNull( "Selected Cleanup Consumers should never be null.", available );
-
-        assertTrue( "Selected Cleanup Consumers should have entries.", CollectionUtils.isNotEmpty( available ) );
-    }
-
     public void testGetSelectedUnprocessedConsumers()
         throws Exception
     {

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/resources/META-INF/plexus/components.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/resources/META-INF/plexus/components.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/resources/META-INF/plexus/components.xml Fri Oct 16 12:35:38 2009
@@ -16,12 +16,6 @@
     </component>
     
     <component>
-      <role>org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer</role>
-      <role-hint>test-db-cleanup</role-hint>
-      <implementation>org.apache.maven.archiva.database.updater.TestDatabaseCleanupConsumer</implementation>
-    </component>
-    
-    <component>
       <role>org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer</role>
       <role-hint>test-db-unprocessed</role-hint>
       <implementation>org.apache.maven.archiva.database.updater.TestDatabaseUnprocessedConsumer</implementation>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-artifact-reports/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-artifact-reports/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-artifact-reports/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-artifact-reports/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-reporting</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-artifact-reports</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-metadata-reports/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-metadata-reports/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-metadata-reports/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-metadata-reports/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-reporting</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-metadata-reports</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-project-reports/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-project-reports/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-project-reports/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-project-reports/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-reporting</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-project-reports</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-report-manager/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-report-manager/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-report-manager/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-reporting/archiva-report-manager/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-reporting</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-report-manager</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-reporting/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-reporting/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-reporting/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-reporting/pom.xml Fri Oct 16 12:35:38 2009
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-modules</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
 
   <artifactId>archiva-reporting</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-modules</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-scheduled</artifactId>
@@ -41,6 +41,10 @@
       <artifactId>archiva-repository-layer</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-repository-scanner</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-taskqueue</artifactId>
     </dependency>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java Fri Oct 16 12:35:38 2009
@@ -25,6 +25,7 @@
 import java.util.List;
 import java.util.Set;
 
+import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
 import org.apache.maven.archiva.common.ArchivaException;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationEvent;
@@ -32,7 +33,6 @@
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.database.ArchivaDAO;
 import org.apache.maven.archiva.database.constraints.MostRecentRepositoryScanStatistics;
-import org.apache.maven.archiva.repository.scanner.RepositoryScanStatistics;
 import org.apache.maven.archiva.scheduled.tasks.ArtifactIndexingTask;
 import org.apache.maven.archiva.scheduled.tasks.DatabaseTask;
 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutor.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutor.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutor.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutor.java Fri Oct 16 12:35:38 2009
@@ -73,16 +73,6 @@
             throw new TaskExecutionException( "Error running unprocessed updater", e );
         }
 
-        try
-        {
-            log.info( "Task: Updating processed artifacts" );
-            databaseUpdater.updateAllProcessed();
-        }
-        catch ( ArchivaDatabaseException e )
-        {
-            throw new TaskExecutionException( "Error running processed updater", e );
-        }
-
         time = System.currentTimeMillis() - time;
 
         log.info( "Finished database task in " + time + "ms." );

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java Fri Oct 16 12:35:38 2009
@@ -19,6 +19,14 @@
  * under the License.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
+import org.apache.archiva.repository.scanner.RepositoryScanStatistics;
+import org.apache.archiva.repository.scanner.RepositoryScanner;
+import org.apache.archiva.repository.scanner.RepositoryScannerException;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
@@ -33,10 +41,6 @@
 import org.apache.maven.archiva.database.constraints.UniqueGroupIdConstraint;
 import org.apache.maven.archiva.model.ArchivaArtifact;
 import org.apache.maven.archiva.model.RepositoryContentStatistics;
-import org.apache.maven.archiva.repository.RepositoryException;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
-import org.apache.maven.archiva.repository.scanner.RepositoryScanStatistics;
-import org.apache.maven.archiva.repository.scanner.RepositoryScanner;
 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
@@ -46,10 +50,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * ArchivaRepositoryScanningTaskExecutor 
  *
@@ -65,6 +65,8 @@
     private Logger log = LoggerFactory.getLogger( ArchivaRepositoryScanningTaskExecutor.class );
     
     /**
+     * TODO: just for stats, remove this and use the main stats module
+     * 
      * @plexus.requirement role-hint="jdo"
      */
     private ArchivaDAO dao;
@@ -150,10 +152,10 @@
                 
                 this.task = null;
             }
-            catch ( RepositoryException e )
-            {   
+            catch ( RepositoryScannerException e )
+            {
                 throw new TaskExecutionException( "Repository error when executing repository job.", e );
-            }    
+            }
         }
     }
 

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml Fri Oct 16 12:35:38 2009
@@ -67,12 +67,6 @@
     </component>
 
     <component>
-      <role>org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer</role>
-      <role-hint>test-db-cleanup</role-hint>
-      <implementation>org.apache.maven.archiva.scheduled.TestDatabaseCleanupConsumer</implementation>
-    </component>
-
-    <component>
       <role>org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer</role>
       <role-hint>test-db-unprocessed</role-hint>
       <implementation>org.apache.maven.archiva.scheduled.TestDatabaseUnprocessedConsumer</implementation>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml Fri Oct 16 12:35:38 2009
@@ -37,7 +37,7 @@
           <field-name>archivaConfiguration</field-name>
         </requirement>
         <requirement>
-          <role>org.apache.maven.archiva.repository.scanner.RepositoryScanner</role>
+          <role>org.apache.archiva.repository.scanner.RepositoryScanner</role>
           <field-name>repoScanner</field-name>
         </requirement>
       </requirements>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-applet/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-applet/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-applet/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-applet/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-applet</artifactId>
   <name>Archiva Web :: Applet</name>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-rss/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-rss/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-rss/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-rss/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>archiva-web</artifactId>
     <groupId>org.apache.archiva</groupId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-rss</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-security/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-security/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-security/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-security/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-security</artifactId>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp-test/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp-test/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp-test/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp-test/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-webapp-test</artifactId>
   <packaging>pom</packaging>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-webapp</artifactId>
   <packaging>war</packaging>
@@ -71,6 +71,12 @@
     </dependency>
     <dependency>
       <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-metadata-consumer</artifactId>
+      <version>1.3-SNAPSHOT</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-lucene-consumers</artifactId>
     </dependency>
     <dependency>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java Fri Oct 16 12:35:38 2009
@@ -29,6 +29,8 @@
 import java.util.List;
 import java.util.TimeZone;
 
+import com.opensymphony.xwork2.Preparable;
+import com.opensymphony.xwork2.Validateable;
 import org.apache.archiva.checksum.ChecksumAlgorithm;
 import org.apache.archiva.checksum.ChecksummedFile;
 import org.apache.maven.archiva.common.utils.VersionComparator;
@@ -49,6 +51,7 @@
 import org.apache.maven.archiva.repository.RepositoryNotFoundException;
 import org.apache.maven.archiva.repository.audit.AuditEvent;
 import org.apache.maven.archiva.repository.audit.Auditable;
+import org.apache.maven.archiva.repository.events.RepositoryListener;
 import org.apache.maven.archiva.repository.metadata.MetadataTools;
 import org.apache.maven.archiva.repository.metadata.RepositoryMetadataException;
 import org.apache.maven.archiva.repository.metadata.RepositoryMetadataReader;
@@ -58,9 +61,6 @@
 import org.apache.maven.archiva.security.PrincipalNotFoundException;
 import org.apache.maven.archiva.security.UserRepositories;
 
-import com.opensymphony.xwork2.Preparable;
-import com.opensymphony.xwork2.Validateable;
-
 /**
  * Delete an artifact. Metadata will be updated if one exists, otherwise it would be created.
  * 
@@ -120,6 +120,9 @@
      */
     private DatabaseConsumers databaseConsumers;
 
+    /** @plexus.requirement */
+    private List<RepositoryListener> listeners;
+
     private ChecksumAlgorithm[] algorithms = new ChecksumAlgorithm[] { ChecksumAlgorithm.SHA1, ChecksumAlgorithm.MD5 };
 
     public String getGroupId()
@@ -242,7 +245,10 @@
                     {
                         if ( artifact.getVersion().equals( version ) )
                         {
-                            databaseConsumers.executeCleanupConsumer( artifact );
+                            for ( RepositoryListener listener : listeners )
+                            {
+                                listener.deleteArtifact( repository, artifact );
+                            }
                         }
                     }
                 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java Fri Oct 16 12:35:38 2009
@@ -22,6 +22,7 @@
 import java.util.Collections;
 import java.util.List;
 
+import com.opensymphony.xwork2.Preparable;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
@@ -38,8 +39,6 @@
 import org.codehaus.redback.integration.interceptor.SecureActionBundle;
 import org.codehaus.redback.integration.interceptor.SecureActionException;
 
-import com.opensymphony.xwork2.Preparable;
-
 /**
  * DatabaseAction
  *
@@ -72,16 +71,6 @@
      */
     private List<String> enabledUnprocessedConsumers;
 
-    /**
-     * List of {@link AdminDatabaseConsumer} objects for "to cleanup" artifacts.
-     */
-    private List<AdminDatabaseConsumer> cleanupConsumers;
-
-    /**
-     * List of enabled {@link AdminDatabaseConsumer} objects for "to cleanup" artifacts.
-     */
-    private List<String> enabledCleanupConsumers;
-
     public void prepare()
         throws Exception
     {
@@ -96,11 +85,6 @@
         CollectionUtils.forAllDo( databaseConsumers.getAvailableUnprocessedConsumers(), addAdminDbConsumer );
         this.unprocessedConsumers = addAdminDbConsumer.getList();
         Collections.sort( this.unprocessedConsumers, AdminDatabaseConsumerComparator.getInstance() );
-
-        addAdminDbConsumer = new AddAdminDatabaseConsumerClosure( dbscanning.getCleanupConsumers() );
-        CollectionUtils.forAllDo( databaseConsumers.getAvailableCleanupConsumers(), addAdminDbConsumer );
-        this.cleanupConsumers = addAdminDbConsumer.getList();
-        Collections.sort( this.cleanupConsumers, AdminDatabaseConsumerComparator.getInstance() );
     }
 
     public String updateUnprocessedConsumers()
@@ -123,25 +107,6 @@
         return saveConfiguration();
     }
 
-    public String updateCleanupConsumers()
-    {
-        List<String> oldConsumers = archivaConfiguration.getConfiguration().getDatabaseScanning().getCleanupConsumers();
-        
-        archivaConfiguration.getConfiguration().getDatabaseScanning().setCleanupConsumers( enabledCleanupConsumers );
-        
-        if ( enabledCleanupConsumers != null )
-        {
-            filterAddedConsumers( oldConsumers, enabledCleanupConsumers );
-            filterRemovedConsumers( oldConsumers, enabledCleanupConsumers );    
-        }
-        else 
-        {
-            disableAllEnabledConsumers( oldConsumers );
-        }
-
-        return saveConfiguration();
-    }
-
     public String updateSchedule()
     {
         String oldCron = archivaConfiguration.getConfiguration().getDatabaseScanning().getCronExpression();
@@ -199,12 +164,7 @@
         this.cron = cron;
     }
 
-    public List<AdminDatabaseConsumer> getCleanupConsumers()
-    {
-        return cleanupConsumers;
-    }
-
-    public List<AdminDatabaseConsumer> getUnprocessedConsumers()
+    public List getUnprocessedConsumers()
     {
         return unprocessedConsumers;
     }
@@ -219,16 +179,6 @@
         this.enabledUnprocessedConsumers = enabledUnprocessedConsumers;
     }
 
-    public List<String> getEnabledCleanupConsumers()
-    {
-        return enabledCleanupConsumers;
-    }
-
-    public void setEnabledCleanupConsumers( List<String> enabledCleanupConsumers )
-    {
-        this.enabledCleanupConsumers = enabledCleanupConsumers;
-    }
-    
     public ArchivaConfiguration getArchivaConfiguration()
     {
         return archivaConfiguration;
@@ -238,7 +188,7 @@
     {
         this.archivaConfiguration = archivaConfiguration;
     }
-    
+
     private void filterAddedConsumers( List<String> oldList, List<String> newList )
     {
         for ( String consumer : newList )
@@ -249,7 +199,7 @@
             }
         }
     }
-    
+
     private void filterRemovedConsumers( List<String> oldList, List<String> newList )
     {
         for ( String consumer : oldList )
@@ -260,7 +210,7 @@
             }
         }
     }
-    
+
     private void disableAllEnabledConsumers( List<String> enabledConsumers )
     {
         for( String consumer : enabledConsumers )

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/scanning/RepositoryScanningAction.java Fri Oct 16 12:35:38 2009
@@ -24,6 +24,9 @@
 import java.util.List;
 import java.util.Map;
 
+import com.opensymphony.xwork2.Preparable;
+import com.opensymphony.xwork2.Validateable;
+import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -35,7 +38,6 @@
 import org.apache.maven.archiva.configuration.functors.FiletypeToMapClosure;
 import org.apache.maven.archiva.repository.audit.AuditEvent;
 import org.apache.maven.archiva.repository.audit.Auditable;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.apache.maven.archiva.web.action.PlexusActionSupport;
 import org.codehaus.plexus.redback.rbac.Resource;
@@ -44,9 +46,6 @@
 import org.codehaus.redback.integration.interceptor.SecureActionBundle;
 import org.codehaus.redback.integration.interceptor.SecureActionException;
 
-import com.opensymphony.xwork2.Preparable;
-import com.opensymphony.xwork2.Validateable;
-
 /**
  * RepositoryScanningAction
  *

Propchange: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 16 12:35:38 2009
@@ -1,3 +1,4 @@
+/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:721945-723577
 /archiva/branches/MRM-541/archiva-modules/archiva-web/archiva-webapp/src/main/resources/webwork.properties:686983-687034
 /archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:723609-726925
 /archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.properties:699795-705848

Propchange: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Oct 16 12:35:38 2009
@@ -1,3 +1,4 @@
+/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:721945-723577
 /archiva/branches/MRM-541/archiva-modules/archiva-web/archiva-webapp/src/main/resources/xwork.xml:686983-687034
 /archiva/branches/archiva-search-improvements/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:723609-726925
 /archiva/branches/archiva-struts2/archiva-modules/archiva-web/archiva-webapp/src/main/resources/struts.xml:699795-705848

Propchange: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/
            ('svn:ignore' removed)

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/database.jsp
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/database.jsp?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/database.jsp (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/database.jsp Fri Oct 16 12:35:38 2009
@@ -116,62 +116,6 @@
   </c:otherwise>
 </c:choose>
 
-<h2>Database - Artifact Cleanup Scanning</h2>
-
-<c:choose>
-  <c:when test="${empty (cleanupConsumers)}">
-    <%-- No Consumers. Eeek! --%>
-    <strong>There are no consumers for artifact cleanup.</strong>
-  </c:when>
-  <c:otherwise>
-    <%-- Display the consumers. --%>
-
-    <s:form method="post" action="database!updateCleanupConsumers" 
-             namespace="/admin" validate="false" theme="simple">
-    <table class="consumers">
-      <tr>
-        <th>&nbsp;</th>
-        <th>Enabled?</th>
-        <th>ID</th>
-        <th>Description</th>
-      </tr>
-      <c:forEach items="${cleanupConsumers}" var="consumer" varStatus="i">
-        <c:choose>
-          <c:when test='${(i.index)%2 eq 0}'>
-            <c:set var="bgcolor" value="even" scope="page" />
-          </c:when>
-          <c:otherwise>
-            <c:set var="bgcolor" value="odd" scope="page" />
-          </c:otherwise>
-        </c:choose>
-
-        <tr>
-          <td class="${bgcolor}">
-            <input type="checkbox" name="enabledCleanupConsumers" theme="simple" value="${consumer.id}" <c:if test="${consumer.enabled}">checked</c:if> />
-          </td>
-          <td class="${bgcolor}">
-            <c:if test="${consumer.enabled}">
-              <strong>enabled</strong>
-            </c:if>
-          </td>
-          <td class="${bgcolor}">
-            <code>${consumer.id}</code>
-          </td>
-          <td class="${bgcolor}">${consumer.description}</td>
-        </tr>
-      </c:forEach>
-      <tr>
-        <td colspan="4">
-          <s:submit value="Update Consumers" />
-        </td>
-      </tr>
-    </table>
-    </s:form>
-
-  </c:otherwise>
-</c:choose>
-
-
 </div>
 </div>
 </body>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/database/DatabaseActionTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/database/DatabaseActionTest.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/database/DatabaseActionTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/database/DatabaseActionTest.java Fri Oct 16 12:35:38 2009
@@ -72,7 +72,6 @@
         config.setDatabaseScanning( databaseScanningConfig );
         
         setUpEnabledUnproccessedConsumers();
-        setUpEnabledCleanupConsumers();
         
         action.setArchivaConfiguration( archivaConfig );
     }
@@ -101,24 +100,6 @@
         assertEquals( 3, results.size() );
     }
     
-    public void testUpdateCleanUpConsumers()
-        throws Exception
-    {
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        
-        archivaConfig.save( config );
-        archivaConfigControl.replay();
-        
-        String returnString = action.updateCleanupConsumers();
-        
-        List<String> results = config.getDatabaseScanning().getCleanupConsumers();
-        
-        assertEquals( action.SUCCESS, returnString );
-        assertEquals( 3, results.size() );
-    }
-    
     public void testDisableAllUnprocessedConsumers( )
         throws Exception
     {
@@ -139,26 +120,6 @@
         assertEquals( 0, results.size() );
     }
 
-    public void testDisableAllCleanupConsumers( )
-        throws Exception
-    {
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
-        
-        archivaConfig.save( config );
-        archivaConfigControl.replay();
-        
-        action.setEnabledCleanupConsumers( null );
-        
-        String returnString = action.updateCleanupConsumers();
-        
-        List<String> results = config.getDatabaseScanning().getCleanupConsumers();
-        
-        assertEquals( action.SUCCESS, returnString );
-        assertEquals( 0, results.size() );
-    }
-    
     private void setUpEnabledUnproccessedConsumers( )
     {
         List<String> enabledUnprocessedConsumer = new ArrayList<String>();
@@ -168,17 +129,5 @@
         enabledUnprocessedConsumer.add( "validate-repository-metadata" );
         
         action.setEnabledUnprocessedConsumers( enabledUnprocessedConsumer );
-    }
-    
-    private void setUpEnabledCleanupConsumers( )
-    {
-        List<String> enabledCleanupConsumers = new ArrayList<String>();
-        
-        enabledCleanupConsumers.add( "not-present-remove-db-artifact" );
-        enabledCleanupConsumers.add( "not-present-remove-db-project" );
-        enabledCleanupConsumers.add( "not-present-remove-indexed" );
-        
-        action.setEnabledCleanupConsumers( enabledCleanupConsumers );
-    }
-    
+    }    
 }

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
 
   <artifactId>archiva-webdav</artifactId>
@@ -36,6 +36,10 @@
     </dependency>
     <dependency>
       <groupId>org.apache.archiva</groupId>
+      <artifactId>archiva-repository-scanner</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
       <artifactId>archiva-repository-layer</artifactId>
     </dependency>
     <dependency>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Fri Oct 16 12:35:38 2009
@@ -25,7 +25,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.io.FileUtils;

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/DavResourceTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/DavResourceTest.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/DavResourceTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/DavResourceTest.java Fri Oct 16 12:35:38 2009
@@ -38,11 +38,9 @@
 import org.apache.jackrabbit.webdav.lock.Type;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.repository.audit.AuditListener;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.archiva.webdav.util.MimeTypes;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
 import org.codehaus.plexus.spring.PlexusToSpringUtils;
-import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
 
 public class DavResourceTest
     extends PlexusInSpringTestCase

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/StubRepositoryContentConsumers.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/StubRepositoryContentConsumers.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/StubRepositoryContentConsumers.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/StubRepositoryContentConsumers.java Fri Oct 16 12:35:38 2009
@@ -1,11 +1,30 @@
 package org.apache.maven.archiva.webdav;
 
-import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer;
-import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 
 import java.util.List;
+
+import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer;
+import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
 
 public class StubRepositoryContentConsumers
     extends RepositoryContentConsumers

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletSecurityTest.xml Fri Oct 16 12:35:38 2009
@@ -131,6 +131,10 @@
           <field-name>httpAuth</field-name>
         </requirement>
         <requirement>
+          <role>org.apache.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <role-hint>default</role-hint>
+        </requirement>
+        <requirement>
           <role>org.codehaus.plexus.digest.ChecksumFile</role>
           <field-name>checksum</field-name>
         </requirement>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webdav/src/test/resources/org/apache/maven/archiva/webdav/RepositoryServletTest.xml Fri Oct 16 12:35:38 2009
@@ -143,6 +143,10 @@
           <field-name>httpAuth</field-name>
         </requirement>
         <requirement>
+          <role>org.apache.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <role-hint>default</role-hint>
+        </requirement>
+        <requirement>
           <role>org.codehaus.plexus.digest.ChecksumFile</role>
           <field-name>checksum</field-name>
         </requirement>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-api/pom.xml Fri Oct 16 12:35:38 2009
@@ -4,7 +4,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-xmlrpc</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-xmlrpc-api</artifactId>
   <name>Archiva Web :: XML-RPC API</name>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-client/pom.xml Fri Oct 16 12:35:38 2009
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>archiva-xmlrpc</artifactId>
     <groupId>org.apache.archiva</groupId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>archiva-xmlrpc-client</artifactId>
@@ -63,7 +63,7 @@
           <mainClass>org.apache.archiva.web.xmlrpc.client.SampleClient</mainClass>
           <arguments>
             <!-- 
-                 URL: ex. http://127.0.0.1:8080/archiva/xmlrpc 
+                 URL: ex. http://127.0.0.1:9091/xmlrpc 
                  USERNAME & PASSWORD: Archiva credentials  
             --> 
             <argument>${archiva.url}/xmlrpc</argument>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-security/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-security/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-security/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-security/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-xmlrpc</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-xmlrpc-security</artifactId>
   <name>Archiva Web :: XML-RPC Security</name>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/pom.xml Fri Oct 16 12:35:38 2009
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-xmlrpc</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-xmlrpc-services</artifactId>
   <name>Archiva Web :: XML-RPC Services</name>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java Fri Oct 16 12:35:38 2009
@@ -23,6 +23,7 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.archiva.web.xmlrpc.api.AdministrationService;
 import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
@@ -38,7 +39,6 @@
 import org.apache.maven.archiva.database.ArchivaDatabaseException;
 import org.apache.maven.archiva.database.ArtifactDAO;
 import org.apache.maven.archiva.database.constraints.ArtifactVersionsConstraint;
-import org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer;
 import org.apache.maven.archiva.database.updater.DatabaseConsumers;
 import org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer;
 import org.apache.maven.archiva.model.ArchivaArtifact;
@@ -49,7 +49,6 @@
 import org.apache.maven.archiva.repository.RepositoryException;
 import org.apache.maven.archiva.repository.RepositoryNotFoundException;
 import org.apache.maven.archiva.repository.events.RepositoryListener;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler;
 import org.apache.maven.archiva.scheduled.tasks.DatabaseTask;
 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;
@@ -101,50 +100,29 @@
      */
     public Boolean configureDatabaseConsumer( String consumerId, boolean enable ) throws Exception
     {
-        List<DatabaseCleanupConsumer> cleanupConsumers = dbConsumersUtil.getAvailableCleanupConsumers();
         List<DatabaseUnprocessedArtifactConsumer> unprocessedConsumers =
             dbConsumersUtil.getAvailableUnprocessedConsumers();
         
         boolean found = false;
-        boolean isCleanupConsumer = false;        
-        for( DatabaseCleanupConsumer consumer : cleanupConsumers )
+        
+        for( DatabaseUnprocessedArtifactConsumer consumer : unprocessedConsumers )
         {
             if( consumer.getId().equals( consumerId ) )
             {
                 found = true;
-                isCleanupConsumer = true;
                 break;
             }
         }
         
         if( !found )
         {
-            for( DatabaseUnprocessedArtifactConsumer consumer : unprocessedConsumers )
-            {
-                if( consumer.getId().equals( consumerId ) )
-                {
-                    found = true;
-                    break;
-                }
-            }
-        }
-        
-        if( !found )
-        {
             throw new Exception( "Invalid database consumer." );
         }
         
         Configuration config = archivaConfiguration.getConfiguration();
         DatabaseScanningConfiguration dbScanningConfig = config.getDatabaseScanning();
         
-        if( isCleanupConsumer )
-        {
-            dbScanningConfig.addCleanupConsumer( consumerId );            
-        }
-        else
-        {
-            dbScanningConfig.addUnprocessedConsumer( consumerId );
-        }
+        dbScanningConfig.addUnprocessedConsumer( consumerId );
         
         config.setDatabaseScanning( dbScanningConfig );        
         saveConfiguration( config );
@@ -325,14 +303,8 @@
     {
         List<String> consumers = new ArrayList<String>();
         
-        List<DatabaseCleanupConsumer> cleanupConsumers = dbConsumersUtil.getAvailableCleanupConsumers();
         List<DatabaseUnprocessedArtifactConsumer> unprocessedConsumers = dbConsumersUtil.getAvailableUnprocessedConsumers();
         
-        for( DatabaseCleanupConsumer consumer : cleanupConsumers )
-        {
-            consumers.add( consumer.getId() );
-        }  
-        
         for( DatabaseUnprocessedArtifactConsumer consumer : unprocessedConsumers )
         {
             consumers.add( consumer.getId() );

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java Fri Oct 16 12:35:38 2009
@@ -25,6 +25,7 @@
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.archiva.web.xmlrpc.api.beans.ManagedRepository;
 import org.apache.archiva.web.xmlrpc.api.beans.RemoteRepository;
 import org.apache.commons.io.FileUtils;
@@ -39,7 +40,6 @@
 import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer;
 import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
 import org.apache.maven.archiva.database.ArtifactDAO;
-import org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer;
 import org.apache.maven.archiva.database.updater.DatabaseConsumers;
 import org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer;
 import org.apache.maven.archiva.model.ArchivaArtifact;
@@ -51,7 +51,6 @@
 import org.apache.maven.archiva.repository.content.PathParser;
 import org.apache.maven.archiva.repository.events.RepositoryListener;
 import org.apache.maven.archiva.repository.layout.LayoutException;
-import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.archiva.scheduled.ArchivaTaskScheduler;
 import org.apache.maven.archiva.scheduled.tasks.DatabaseTask;
 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;
@@ -122,10 +121,6 @@
 
     private RepositoryListener listener;
 
-    private DatabaseCleanupConsumer cleanupIndexConsumer;
-
-    private DatabaseCleanupConsumer cleanupDbConsumer;
-
     private MockControl cleanupConsumersControl;
         
     protected void setUp()
@@ -158,10 +153,6 @@
         dbConsumersUtilControl = MockClassControl.createControl( DatabaseConsumers.class );
         dbConsumersUtil = ( DatabaseConsumers ) dbConsumersUtilControl.getMock();
                 
-        cleanupConsumersControl = MockControl.createControl( DatabaseCleanupConsumer.class );
-        cleanupIndexConsumer = (DatabaseCleanupConsumer) cleanupConsumersControl.getMock();
-        cleanupDbConsumer = (DatabaseCleanupConsumer) cleanupConsumersControl.getMock();
-                
         unprocessedConsumersControl = MockControl.createControl( DatabaseUnprocessedArtifactConsumer.class );
         processArtifactConsumer = ( DatabaseUnprocessedArtifactConsumer ) unprocessedConsumersControl.getMock();
         processPomConsumer = ( DatabaseUnprocessedArtifactConsumer ) unprocessedConsumersControl.getMock();
@@ -189,19 +180,15 @@
         recordDbConsumers();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         
         List<String> dbConsumers = service.getAllDatabaseConsumers();
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
         
         assertNotNull( dbConsumers );
-        assertEquals( 4, dbConsumers.size() );
-        assertTrue( dbConsumers.contains( "cleanup-index" ) );
-        assertTrue( dbConsumers.contains( "cleanup-database" ) );
+        assertEquals( 2, dbConsumers.size() );
         assertTrue( dbConsumers.contains( "process-artifact" ) );
         assertTrue( dbConsumers.contains( "process-pom" ) );
     }
@@ -228,7 +215,6 @@
         archivaConfigControl.setVoidCallable();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         archivaConfigControl.replay();
         configControl.replay();
@@ -244,14 +230,12 @@
         }
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
         archivaConfigControl.verify();
         configControl.verify();
                 
         // test disable "process-pom" db consumer        
         dbConsumersUtilControl.reset();
-        cleanupConsumersControl.reset();
         unprocessedConsumersControl.reset();
         archivaConfigControl.reset();
         configControl.reset();
@@ -271,7 +255,6 @@
         archivaConfigControl.setVoidCallable();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         archivaConfigControl.replay();
         configControl.replay();
@@ -287,7 +270,6 @@
         }
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
         archivaConfigControl.verify();
         configControl.verify();
@@ -299,7 +281,6 @@
         recordDbConsumers();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         
         try
@@ -313,7 +294,6 @@
         }
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
     }
         
@@ -873,19 +853,11 @@
     
     private void recordDbConsumers()
     {
-        List<DatabaseCleanupConsumer> cleanupConsumers = new ArrayList<DatabaseCleanupConsumer>();
-        cleanupConsumers.add( cleanupIndexConsumer );
-        cleanupConsumers.add( cleanupDbConsumer );
-        
         List<DatabaseUnprocessedArtifactConsumer> unprocessedConsumers =
             new ArrayList<DatabaseUnprocessedArtifactConsumer>();
         unprocessedConsumers.add( processArtifactConsumer );
         unprocessedConsumers.add( processPomConsumer );
         
-        dbConsumersUtilControl.expectAndReturn( dbConsumersUtil.getAvailableCleanupConsumers(), cleanupConsumers );
-        cleanupConsumersControl.expectAndReturn( cleanupIndexConsumer.getId(), "cleanup-index" );
-        cleanupConsumersControl.expectAndReturn( cleanupDbConsumer.getId(), "cleanup-database" );
-        
         dbConsumersUtilControl.expectAndReturn( dbConsumersUtil.getAvailableUnprocessedConsumers(), unprocessedConsumers );
         unprocessedConsumersControl.expectAndReturn( processArtifactConsumer.getId(), "process-artifact" );
         unprocessedConsumersControl.expectAndReturn( processPomConsumer.getId(), "process-pom" );

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/pom.xml Fri Oct 16 12:35:38 2009
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-web</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
   <artifactId>archiva-xmlrpc</artifactId>
   <name>Archiva Web :: XML-RPC</name>

Modified: archiva/branches/MRM-1025/archiva-modules/archiva-web/pom.xml
URL: http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-web/pom.xml?rev=825867&r1=825866&r2=825867&view=diff
==============================================================================
--- archiva/branches/MRM-1025/archiva-modules/archiva-web/pom.xml (original)
+++ archiva/branches/MRM-1025/archiva-modules/archiva-web/pom.xml Fri Oct 16 12:35:38 2009
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.archiva</groupId>
     <artifactId>archiva-modules</artifactId>
-    <version>1.2.3-SNAPSHOT</version>
+    <version>1.3-SNAPSHOT</version>
   </parent>
 
   <artifactId>archiva-web</artifactId>

Propchange: archiva/branches/MRM-1025/archiva-modules/metadata/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Oct 16 12:35:38 2009
@@ -0,0 +1,7 @@
+*.iml
+*.ipr
+*.iws
+.classpath
+.project
+.settings
+target

Propchange: archiva/branches/MRM-1025/archiva-modules/metadata/metadata-model/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Oct 16 12:35:38 2009
@@ -0,0 +1,8 @@
+*.iml
+*.ipr
+*.iws
+.classpath
+.project
+.settings
+target
+