Author: joakime
Date: Fri Apr 13 12:04:08 2007
New Revision: 528593

URL: http://svn.apache.org/viewvc?view=rev&rev=528593
Log:
Desired vs Actual

Modified:
    
maven/archiva/branches/archiva-jpox-database-refactor/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutor.java

Modified: 
maven/archiva/branches/archiva-jpox-database-refactor/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/branches/archiva-jpox-database-refactor/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutor.java?view=diff&rev=528593&r1=528592&r2=528593
==============================================================================
--- 
maven/archiva/branches/archiva-jpox-database-refactor/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutor.java
 (original)
+++ 
maven/archiva/branches/archiva-jpox-database-refactor/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaScheduledTaskExecutor.java
 Fri Apr 13 12:04:08 2007
@@ -21,6 +21,8 @@
 
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
+import org.apache.maven.archiva.consumers.RepositoryContentConsumer;
 import org.apache.maven.archiva.database.ArchivaDatabaseException;
 import org.apache.maven.archiva.database.RepositoryDAO;
 import org.apache.maven.archiva.database.updater.DatabaseUpdater;
@@ -49,7 +51,9 @@
  * @plexus.component 
role="org.codehaus.plexus.taskqueue.execution.TaskExecutor" 
  *      role-hint="archiva-task-executor"
  */
-public class ArchivaScheduledTaskExecutor extends AbstractLogEnabled 
implements TaskExecutor
+public class ArchivaScheduledTaskExecutor
+    extends AbstractLogEnabled
+    implements TaskExecutor
 {
     /**
      * Configuration store.
@@ -62,30 +66,30 @@
      * @plexus.requirement role-hint="jdo"
      */
     private DatabaseUpdater databaseUpdater;
-    
+
     /**
      * @plexus.requirement role-hint="jdo"
      */
     private RepositoryDAO repositoryDAO;
-    
+
     /**
      * The collection of available database consumers.
      * @plexus.requirement 
role="org.apache.maven.archiva.consumers.ArchivaArtifactConsumer"
      */
     private Map availableDBConsumers;
-    
+
     /**
      * The collection of available repository consumers.
      * @plexus.requirement 
role="org.apache.maven.archiva.consumers.RepositoryContentConsumer"
      */
     private Map availableRepositoryConsumers;
-    
-    
-    public void executeTask( Task task ) throws TaskExecutionException
+
+    public void executeTask( Task task )
+        throws TaskExecutionException
     {
-        
-        if ( task instanceof DatabaseTask )          
-        {  
+
+        if ( task instanceof DatabaseTask )
+        {
             executeDatabaseTask( (DatabaseTask) task );
         }
         else if ( task instanceof RepositoryTask )
@@ -96,15 +100,15 @@
         {
             throw new TaskExecutionException( "Unknown Task: " + 
task.toString() );
         }
-        
+
     }
 
-    private void executeDatabaseTask( DatabaseTask task ) throws 
TaskExecutionException
+    private void executeDatabaseTask( DatabaseTask task )
+        throws TaskExecutionException
     {
         getLogger().info( "Executing task from queue with job name: " + 
task.getName() );
         long time = System.currentTimeMillis();
 
-        
         try
         {
             databaseUpdater.updateAllUnprocessed();
@@ -113,36 +117,37 @@
         {
             throw new TaskExecutionException( "Error running unprocessed 
updater", e );
         }
-       
-        try 
+
+        try
         {
             databaseUpdater.updateAllProcessed();
         }
         catch ( ArchivaDatabaseException e )
         {
             throw new TaskExecutionException( "Error running processed 
updater", e );
-        }       
-        
+        }
+
         time = System.currentTimeMillis() - time;
 
         getLogger().info( "Finished database task in " + time + "ms." );
-        
+
     }
-    
-    private void executeRepositoryTask ( RepositoryTask task ) throws 
TaskExecutionException
+
+    private void executeRepositoryTask( RepositoryTask task )
+        throws TaskExecutionException
     {
         getLogger().info( "Executing task from queue with job name: " + 
task.getName() );
-        
+
         long time = System.currentTimeMillis();
 
-        try 
+        try
         {
             ArchivaRepository arepo = repositoryDAO.getRepository( 
task.getRepositoryId() );
-                    
+
             RepositoryScanner scanner = new RepositoryScanner();
-            
+
             scanner.scan( arepo, getActiveConsumerList(), true );
-            
+
         }
         catch ( ArchivaDatabaseException e )
         {
@@ -152,51 +157,58 @@
         {
             throw new TaskExecutionException( "Repository error when executing 
repository job.", e );
         }
-        
-        
+
         time = System.currentTimeMillis() - time;
 
         getLogger().info( "Finished repository task for " + time + "ms." );
     }
-    
-    
+
     private List getActiveConsumerList()
-    {       
+    {
         List activeConsumers = new ArrayList();
+
+        RepositoryScanningConfiguration repoScanningConfig = 
archivaConfiguration.getConfiguration()
+            .getRepositoryScanning();
+
+        List configuredGoodConsumers = repoScanningConfig.getGoodConsumers();
+        List configuredBadConsumers = repoScanningConfig.getBadConsumers();
         
-        List configuredGoodConsumers = 
archivaConfiguration.getConfiguration().getRepositoryScanning().getGoodConsumers();
-        List configuredBadConsumers = 
archivaConfiguration.getConfiguration().getRepositoryScanning().getBadConsumers();
-        
+        getLogger().info( "Available Repository Consumers: " + 
availableRepositoryConsumers );
+
         for ( Iterator i = configuredGoodConsumers.iterator(); i.hasNext(); )
         {
-            String consumer = (String)i.next();
-            
-            if ( availableRepositoryConsumers.containsKey( 
availableRepositoryConsumers.get( consumer ) )  )
-            {
-                activeConsumers.add( availableRepositoryConsumers.get( 
consumer ) );
-            }
-            else
+            String desiredConsumerId = (String) i.next();
+            RepositoryContentConsumer consumer = (RepositoryContentConsumer) 
availableRepositoryConsumers
+                .get( desiredConsumerId );
+
+            if ( consumer == null )
             {
-                getLogger().warn( "RequestedConsumer [" + consumer + "] does 
not exist. Skipping in repository scan." );
+                getLogger().warn(
+                                  "Desired Consumer [" + desiredConsumerId
+                                      + "] does not exist.  Skipping in 
repository scan." );
+                continue;
             }
+
+            activeConsumers.add( consumer );
         }
-        
+
         for ( Iterator i = configuredBadConsumers.iterator(); i.hasNext(); )
         {
-            String consumer = (String)i.next();
-            
-            if ( availableRepositoryConsumers.containsKey( 
availableRepositoryConsumers.get( consumer ) )  )
-            {
-                getLogger().warn( "Using consumer " + consumer );
-                activeConsumers.add( availableRepositoryConsumers.get( 
consumer ) );
-            }
-            else
+            String desiredConsumerId = (String) i.next();
+            RepositoryContentConsumer consumer = (RepositoryContentConsumer) 
availableRepositoryConsumers
+                .get( desiredConsumerId );
+
+            if ( consumer == null )
             {
-                getLogger().warn( "RequestedConsumer [" + consumer + "] does 
not exist. Skipping in repository scan." );
+                getLogger().warn(
+                                  "Desired Consumer [" + desiredConsumerId
+                                      + "] does not exist.  Skipping in 
repository scan." );
+                continue;
             }
+
+            activeConsumers.add( consumer );
         }
-        
+
         return activeConsumers;
     }
-    
 }


Reply via email to