Author: brett
Date: Thu Dec  4 06:13:52 2008
New Revision: 723334

URL: http://svn.apache.org/viewvc?rev=723334&view=rev
Log:
[MRM-1025] remove database cleanup consumers and centralise functionality in 
RepositoryListener
Note: this commit requires that a following work item be completed to add a 
service for scanning metadata and cleaning up if a file is erased. Workflow 
will be documented first.

Removed:
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/test/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumerTest.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/test/java/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumerTest.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/test/resources/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveArtifactConsumerTest.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/test/resources/org/apache/maven/archiva/consumers/database/DatabaseCleanupRemoveProjectConsumerTest.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumerTest.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/java/org/apache/maven/archiva/consumers/lucene/stubs/
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/test/resources/org/apache/maven/archiva/consumers/lucene/LuceneCleanupRemoveIndexedConsumerTest.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseCleanupConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/TestDatabaseCleanupConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/java/org/apache/maven/archiva/scheduled/TestDatabaseCleanupConsumer.java
Modified:
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListener.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseConsumers.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/DatabaseUpdater.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/updater/JdoDatabaseUpdater.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/AbstractArchivaDatabaseTestCase.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/RepositoryDatabaseEventListenerTest.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/java/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-database/src/test/resources/META-INF/plexus/components.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutor.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/database/DatabaseAction.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/admin/database.jsp
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/main/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImpl.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-web/archiva-xmlrpc/archiva-xmlrpc-services/src/test/java/org/apache/archiva/web/xmlrpc/services/AdministrationServiceImplTest.java

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=723334&r1=723333&r2=723334&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 Thu Dec  4 06:13:52 2008
@@ -1032,6 +1032,7 @@
           <name>cleanupConsumers</name>
           <version>1.0.0+</version>
           <required>true</required>
+          <deprecated>true</deprecated>
           <association>
             <type>String</type>
             <multiplicity>*</multiplicity>

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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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
@@ -50,6 +71,61 @@
             // ignored
         }
 
-        // TODO [MRM-37]: re-run the database consumers to clean up
+        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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -52,13 +52,6 @@
      */
     private List availableUnprocessedConsumers;
 
-    /**
-     * @plexus.requirement 
role="org.apache.maven.archiva.database.updater.DatabaseCleanupConsumer"
-     */
-    private List availableCleanupConsumers;
-
-    private Predicate selectedCleanupConsumers;
-
     private Predicate selectedUnprocessedConsumers;
 
     class SelectedUnprocessedConsumersPredicate
@@ -80,31 +73,11 @@
         }
     }
 
-    class SelectedCleanupConsumersPredicate
-        implements Predicate
-    {
-        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() 
);
-            }
-
-            return satisfies;
-        }
-    }
-
     public void initialize()
         throws InitializationException
     {
         Predicate permanentConsumers = new PermanentConsumerPredicate();
 
-        selectedCleanupConsumers = new OrPredicate( permanentConsumers, new 
SelectedCleanupConsumersPredicate() );
         selectedUnprocessedConsumers = new OrPredicate( permanentConsumers, 
new SelectedUnprocessedConsumersPredicate() );
     }
 
@@ -122,19 +95,6 @@
     }
 
     /**
-     * Get the [EMAIL PROTECTED] List} of [EMAIL PROTECTED] 
DatabaseCleanupConsumer} objects for those
-     * consumers selected due to the configuration.
-     * 
-     * @return the list of selected [EMAIL PROTECTED] DatabaseCleanupConsumer} 
objects.
-     */
-    public List getSelectedCleanupConsumers()
-    {
-        List ret = new ArrayList();
-        ret.addAll( CollectionUtils.select( availableCleanupConsumers, 
selectedCleanupConsumers ) );
-        return ret;
-    }
-
-    /**
      * Get the complete [EMAIL PROTECTED] List} of [EMAIL PROTECTED] 
DatabaseUnprocessedArtifactConsumer} objects
      * that are available in the system, regardless of configuration.
      * 
@@ -144,15 +104,4 @@
     {
         return Collections.unmodifiableList( 
this.availableUnprocessedConsumers );
     }
-
-    /**
-     * Get the complete [EMAIL PROTECTED] List} of [EMAIL PROTECTED] 
DatabaseCleanupConsumer} objects
-     * that are available in the system, regardless of configuration.
-     * 
-     * @return the list of all available [EMAIL PROTECTED] 
DatabaseCleanupConsumer} objects.
-     */
-    public List getAvailableCleanupConsumers()
-    {
-        return Collections.unmodifiableList( this.availableCleanupConsumers );
-    }
 }

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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -30,15 +30,6 @@
 public interface DatabaseUpdater
 {
     /**
-     * Execute the [EMAIL PROTECTED] #updateAllUnprocessed()} and [EMAIL 
PROTECTED] #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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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,13 +59,6 @@
 
     private ProcessArchivaArtifactClosure processArtifactClosure = new 
ProcessArchivaArtifactClosure();
 
-    public void update()
-        throws ArchivaDatabaseException
-    {
-        updateAllUnprocessed();
-        updateAllProcessed();
-    }
-
     public void updateAllUnprocessed()
         throws ArchivaDatabaseException
     {
@@ -92,31 +84,6 @@
         }
     }
 
-    public void updateAllProcessed()
-        throws ArchivaDatabaseException
-    {
-        List processedArtifacts = dao.getArtifactDAO().queryArtifacts( new 
ArtifactsProcessedConstraint( true ) );
-
-        beginConsumerLifecycle( dbConsumers.getSelectedCleanupConsumers() );
-
-        try
-        {
-            // Process each consumer.
-            Predicate predicate = NotPredicate.getInstance( 
UnprocessedArtifactPredicate.getInstance() );
-
-            Iterator it = IteratorUtils.filteredIterator( 
processedArtifacts.iterator(), predicate );
-            while ( it.hasNext() )
-            {
-                ArchivaArtifact artifact = (ArchivaArtifact) it.next();
-                updateProcessed( artifact );
-            }
-        }
-        finally
-        {
-            endConsumerLifecycle( dbConsumers.getSelectedCleanupConsumers() );
-        }
-    }
-
     private void endConsumerLifecycle( List consumers )
     {
         Iterator it = consumers.iterator();
@@ -154,19 +121,4 @@
         artifact.getModel().setWhenProcessed( new Date() );
         dao.getArtifactDAO().saveArtifact( artifact );
     }
-
-    public void updateProcessed( ArchivaArtifact artifact )
-        throws ArchivaDatabaseException
-    {
-        List 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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -19,18 +19,6 @@
  * under the License.
  */
 
-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;
-import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory;
-import org.codehaus.plexus.jdo.JdoFactory;
-import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-import org.jpox.SchemaTool;
-
 import java.io.File;
 import java.net.URL;
 import java.text.SimpleDateFormat;
@@ -42,6 +30,16 @@
 import javax.jdo.PersistenceManager;
 import javax.jdo.PersistenceManagerFactory;
 
+import org.apache.commons.lang.StringUtils;
+import 
org.apache.maven.archiva.database.updater.DatabaseUnprocessedArtifactConsumer;
+import 
org.apache.maven.archiva.database.updater.TestDatabaseUnprocessedConsumer;
+import org.apache.maven.archiva.model.ArtifactReference;
+import org.apache.maven.archiva.model.VersionedReference;
+import org.codehaus.plexus.jdo.DefaultConfigurableJdoFactory;
+import org.codehaus.plexus.jdo.JdoFactory;
+import org.codehaus.plexus.spring.PlexusInSpringTestCase;
+import org.jpox.SchemaTool;
+
 /**
  * AbstractArchivaDatabaseTestCase 
  *
@@ -133,15 +131,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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -41,6 +41,7 @@
         listener = (RepositoryListener) lookup( 
RepositoryListener.class.getName(), "database" );
     }
 
+    @SuppressWarnings("unchecked")
     public void testWiring()
     {
         List<RepositoryListener> listeners =
@@ -51,10 +52,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" );
+            artifactDao.createArtifact( "org.apache.maven.archiva.test", 
artifactId, version, "", type );
         artifact.getModel().setLastModified( new Date() );
         artifact.getModel().setRepositoryId( "testable_repo" );
         return artifact;
@@ -65,17 +66,18 @@
     {
         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" ) );
+        assertEquals( pomArtifact, artifactDao.getArtifact( 
"org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "pom" ) );
+        assertEquals( jarArtifact, artifactDao.getArtifact( 
"org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "jar" ) );
 
-        artifact = new ArchivaArtifact( "org.apache.maven.archiva.test", 
"test-artifact", "1.0", null, "jar" );
+        jarArtifact = new ArchivaArtifact( "org.apache.maven.archiva.test", 
"test-artifact", "1.0", null, "jar" );
         ManagedRepositoryContent repository =
             (ManagedRepositoryContent) lookup( 
ManagedRepositoryContent.class.getName(), "default" );
-        listener.deleteArtifact( repository, artifact );
+        listener.deleteArtifact( repository, jarArtifact );
 
         try
         {
@@ -86,5 +88,56 @@
         {
             assertTrue( true );
         }
+
+        assertEquals( pomArtifact, artifactDao.getArtifact( 
"org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "pom" ) );
+    }
+
+    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" ) );
+        assertEquals( jarArtifact, artifactDao.getArtifact( 
"org.apache.maven.archiva.test", "test-artifact", "1.0",
+                                                            null, "jar" ) );
+
+        pomArtifact = new ArchivaArtifact( "org.apache.maven.archiva.test", 
"test-artifact", "1.0", null, "pom" );
+        ManagedRepositoryContent repository =
+            (ManagedRepositoryContent) lookup( 
ManagedRepositoryContent.class.getName(), "default" );
+        listener.deleteArtifact( repository, pomArtifact );
+
+        try
+        {
+            artifactDao.getArtifact( "org.apache.maven.archiva.test", 
"test-artifact", "1.0", null, "pom" );
+            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" ) );
+    }
+
+    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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -40,16 +40,6 @@
         return dbconsumers;
     }
 
-    public void testGetAvailableCleanupConsumers()
-        throws Exception
-    {
-        DatabaseConsumers dbconsumers = lookupDbConsumers();
-        List 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 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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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-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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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/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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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-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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -19,7 +19,9 @@
  * under the License.
  */
 
-import com.opensymphony.xwork2.Preparable;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
@@ -27,17 +29,16 @@
 import 
org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
 import org.apache.maven.archiva.database.updater.DatabaseConsumers;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
-import 
org.apache.maven.archiva.web.action.admin.scanning.AdminRepositoryConsumerComparator;
 import org.apache.maven.archiva.web.action.PlexusActionSupport;
+import 
org.apache.maven.archiva.web.action.admin.scanning.AdminRepositoryConsumerComparator;
 import org.codehaus.plexus.redback.rbac.Resource;
 import org.codehaus.plexus.registry.RegistryException;
-
-import java.util.Collections;
-import java.util.List;
 import org.codehaus.redback.integration.interceptor.SecureAction;
 import org.codehaus.redback.integration.interceptor.SecureActionBundle;
 import org.codehaus.redback.integration.interceptor.SecureActionException;
 
+import com.opensymphony.xwork2.Preparable;
+
 /**
  * DatabaseAction
  *
@@ -70,16 +71,6 @@
      */
     private List enabledUnprocessedConsumers;
 
-    /**
-     * List of [EMAIL PROTECTED] AdminDatabaseConsumer} objects for "to 
cleanup" artifacts.
-     */
-    private List cleanupConsumers;
-
-    /**
-     * List of enabled [EMAIL PROTECTED] AdminDatabaseConsumer} objects for 
"to cleanup" artifacts.
-     */
-    private List enabledCleanupConsumers;
-
     public void prepare()
         throws Exception
     {
@@ -94,11 +85,6 @@
         CollectionUtils.forAllDo( 
databaseConsumers.getAvailableUnprocessedConsumers(), addAdminDbConsumer );
         this.unprocessedConsumers = addAdminDbConsumer.getList();
         Collections.sort( this.unprocessedConsumers, 
AdminRepositoryConsumerComparator.getInstance() );
-
-        addAdminDbConsumer = new AddAdminDatabaseConsumerClosure( 
dbscanning.getCleanupConsumers() );
-        CollectionUtils.forAllDo( 
databaseConsumers.getAvailableCleanupConsumers(), addAdminDbConsumer );
-        this.cleanupConsumers = addAdminDbConsumer.getList();
-        Collections.sort( this.cleanupConsumers, 
AdminRepositoryConsumerComparator.getInstance() );
     }
 
     public String updateUnprocessedConsumers()
@@ -109,13 +95,6 @@
         return saveConfiguration();
     }
 
-    public String updateCleanupConsumers()
-    {
-        
archivaConfiguration.getConfiguration().getDatabaseScanning().setCleanupConsumers(
 enabledCleanupConsumers );
-
-        return saveConfiguration();
-    }
-
     public String updateSchedule()
     {
         
archivaConfiguration.getConfiguration().getDatabaseScanning().setCronExpression(
 cron );
@@ -166,11 +145,6 @@
         this.cron = cron;
     }
 
-    public List getCleanupConsumers()
-    {
-        return cleanupConsumers;
-    }
-
     public List getUnprocessedConsumers()
     {
         return unprocessedConsumers;
@@ -185,14 +159,4 @@
     {
         this.enabledUnprocessedConsumers = enabledUnprocessedConsumers;
     }
-
-    public List getEnabledCleanupConsumers()
-    {
-        return enabledCleanupConsumers;
-    }
-
-    public void setEnabledCleanupConsumers( List enabledCleanupConsumers )
-    {
-        this.enabledCleanupConsumers = enabledCleanupConsumers;
-    }
 }

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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -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-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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -39,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;
@@ -98,50 +97,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 );
@@ -329,14 +307,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=723334&r1=723333&r2=723334&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
 Thu Dec  4 06:13:52 2008
@@ -40,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;
@@ -122,12 +121,6 @@
 
     private RepositoryListener listener;
 
-    private DatabaseCleanupConsumer cleanupIndexConsumer;
-
-    private DatabaseCleanupConsumer cleanupDbConsumer;
-
-    private MockControl cleanupConsumersControl;
-        
     protected void setUp()
         throws Exception
     {
@@ -158,10 +151,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 +178,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 +213,6 @@
         archivaConfigControl.setVoidCallable();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         archivaConfigControl.replay();
         configControl.replay();
@@ -244,14 +228,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 +253,6 @@
         archivaConfigControl.setVoidCallable();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         archivaConfigControl.replay();
         configControl.replay();
@@ -287,7 +268,6 @@
         }
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
         archivaConfigControl.verify();
         configControl.verify();
@@ -299,7 +279,6 @@
         recordDbConsumers();
         
         dbConsumersUtilControl.replay();
-        cleanupConsumersControl.replay();
         unprocessedConsumersControl.replay();
         
         try
@@ -313,7 +292,6 @@
         }
         
         dbConsumersUtilControl.verify();
-        cleanupConsumersControl.verify();
         unprocessedConsumersControl.verify();
     }
         
@@ -875,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" );


Reply via email to