Author: brett
Date: Thu Nov 19 01:55:27 2009
New Revision: 882027

URL: http://svn.apache.org/viewvc?rev=882027&view=rev
Log:
clean up some notes, plans and formatting

Removed:
    archiva/branches/MRM-1025/branch-working-notes.txt
Modified:
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/pom.xml
    
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
    
archiva/branches/MRM-1025/archiva-modules/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutor.java

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/pom.xml?rev=882027&r1=882026&r2=882027&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/pom.xml
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/pom.xml
 Thu Nov 19 01:55:27 2009
@@ -40,7 +40,7 @@
       <groupId>org.apache.archiva</groupId>
       <artifactId>metadata-repository-api</artifactId>
     </dependency>
-    <dependency> <!--  TODO: temporary coupling to file based repo -->
+    <dependency> <!--  FIXME: temporary coupling to file based repo -->
       <groupId>org.apache.archiva</groupId>
       <artifactId>metadata-repository-file</artifactId>
     </dependency>

Modified: 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
URL: 
http://svn.apache.org/viewvc/archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java?rev=882027&r1=882026&r2=882027&view=diff
==============================================================================
--- 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
 (original)
+++ 
archiva/branches/MRM-1025/archiva-modules/archiva-base/archiva-consumers/archiva-metadata-consumer/src/main/java/org/apache/archiva/consumers/metadata/ArchivaMetadataCreationConsumer.java
 Thu Nov 19 01:55:27 2009
@@ -115,7 +115,7 @@
         throws ConsumerException
     {
         this.repository.setRepository( repo );
-        // TODO: remove hardcoding
+        // FIXME: remove hardcoding
         this.metadataRepository = new FileMetadataRepository( new File( 
repository.getRepoRoot(), ".metadata" ) );
         this.whenGathered = whenGathered;
     }

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=882027&r1=882026&r2=882027&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
 Thu Nov 19 01:55:27 2009
@@ -41,6 +41,7 @@
 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.events.RepositoryListener;
 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;
@@ -51,10 +52,10 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * ArchivaRepositoryScanningTaskExecutor 
+ * ArchivaRepositoryScanningTaskExecutor
  *
  * @version $Id$
- * 
+ *
  * @plexus.component
  *   role="org.codehaus.plexus.taskqueue.execution.TaskExecutor"
  *   role-hint="repository-scanning"
@@ -63,14 +64,14 @@
     implements TaskExecutor, Initializable
 {
     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;
-    
+
     /**
      * @plexus.requirement
      */
@@ -78,16 +79,21 @@
 
     /**
      * The repository scanner component.
-     * 
+     *
      * @plexus.requirement
      */
     private RepositoryScanner repoScanner;
-    
+
+    /**
+     * @plexus.requirement 
role="org.apache.maven.archiva.repository.events.RepositoryListener"
+     */
+    private List<RepositoryListener> repositoryListeners;
+
     /**
      * @plexus.requirement
      */
     private RepositoryContentConsumers consumers;
-    
+
     private Task task;
 
     public void initialize()
@@ -100,17 +106,26 @@
     public void executeTask( Task task )
         throws TaskExecutionException
     {
+
+        // TODO: replace this whole class with the prescribed content scanning 
service/action
+        // - scan repository for artifacts that do not have corresponding 
metadata or have been updated and
+        // send events for each
+        // - scan metadata for artifacts that have been removed and send 
events for each
+        // - scan metadata for missing plugin data
+        // - store information so that it can restart upon failure (publish 
event on the server recovery
+        // queue, remove it on successful completion)
+
         this.task = task;
-        
+
         RepositoryTask repoTask = (RepositoryTask) task;
-        
+
         if ( StringUtils.isBlank( repoTask.getRepositoryId() ) )
         {
             throw new TaskExecutionException("Unable to execute RepositoryTask 
with blank repository Id.");
         }
 
         ManagedRepositoryConfiguration arepo = 
archivaConfiguration.getConfiguration().findManagedRepositoryById( 
repoTask.getRepositoryId() );
-        
+
         // execute consumers on resource file if set
         if( repoTask.getResourceFile() != null )
         {
@@ -120,19 +135,19 @@
         else
         {
             log.info( "Executing task from queue with job name: " + repoTask );
-            
+
             // otherwise, execute consumers on whole repository
             try
-            {   
+            {
                 if ( arepo == null )
                 {
                     throw new TaskExecutionException( "Unable to execute 
RepositoryTask with invalid repository id: " + repoTask.getRepositoryId() );
                 }
-    
+
                 long sinceWhen = RepositoryScanner.FRESH_SCAN;
-    
+
                 List<RepositoryContentStatistics> results = 
(List<RepositoryContentStatistics>) dao.query( new 
MostRecentRepositoryScanStatistics( arepo.getId() ) );
-               
+
                 if ( CollectionUtils.isNotEmpty( results ) )
                 {
                     RepositoryContentStatistics lastStats = results.get( 0 );
@@ -141,15 +156,26 @@
                         sinceWhen = lastStats.getWhenGathered().getTime() + 
lastStats.getDuration();
                     }
                 }
-    
+
                 RepositoryScanStatistics stats = repoScanner.scan( arepo, 
sinceWhen );
-    
-                log.info( "Finished repository task: " + stats.toDump( arepo ) 
);
-                
+
+                log.info( "Finished first scan: " + stats.toDump( arepo ) );
+
                 RepositoryContentStatistics dbstats = 
constructRepositoryStatistics( arepo, sinceWhen, results, stats );
-                
-                
dao.getRepositoryContentStatisticsDAO().saveRepositoryContentStatistics( 
dbstats );   
-                
+
+                
dao.getRepositoryContentStatisticsDAO().saveRepositoryContentStatistics( 
dbstats );
+
+//                log.info( "Scanning for removed repository content" );
+
+                // FIXME: remove hardcoding
+//                MetadataRepository metadataRepository =
+//                    new FileMetadataRepository( new File( 
arepo.getLocation(), ".metadata" ) );
+
+//                metadataRepository.findAllProjects();
+                // FIXME: do something
+
+                log.info( "Finished repository task: " + repoTask );
+
                 this.task = null;
             }
             catch ( RepositoryScannerException e )
@@ -163,7 +189,7 @@
     private RepositoryContentStatistics constructRepositoryStatistics( 
ManagedRepositoryConfiguration arepo,
                                                                        long 
sinceWhen,
                                                                        
List<RepositoryContentStatistics> results,
-                                                                       
RepositoryScanStatistics stats )        
+                                                                       
RepositoryScanStatistics stats )
     {
         // I hate jpox and modello <-- and so do I
         RepositoryContentStatistics dbstats = new 
RepositoryContentStatistics();
@@ -172,12 +198,12 @@
         dbstats.setRepositoryId( stats.getRepositoryId() );
         dbstats.setTotalFileCount( stats.getTotalFileCount() );
         dbstats.setWhenGathered( stats.getWhenGathered() );
-                
+
         // total artifact count
         try
         {
-            List<ArchivaArtifact> artifacts = 
dao.getArtifactDAO().queryArtifacts( 
-                      new ArtifactsByRepositoryConstraint( arepo.getId(), 
stats.getWhenGathered(), "groupId", true ) );            
+            List<ArchivaArtifact> artifacts = 
dao.getArtifactDAO().queryArtifacts(
+                      new ArtifactsByRepositoryConstraint( arepo.getId(), 
stats.getWhenGathered(), "groupId", true ) );
             dbstats.setTotalArtifactCount( artifacts.size() );
         }
         catch ( ObjectNotFoundException oe )
@@ -185,27 +211,27 @@
             log.error( "Object not found in the database : " + oe.getMessage() 
);
         }
         catch ( ArchivaDatabaseException ae )
-        {   
+        {
             log.error( "Error occurred while querying artifacts for artifact 
count : " + ae.getMessage() );
         }
-        
+
         // total repo size
         long size = FileUtils.sizeOfDirectory( new File( arepo.getLocation() ) 
);
         dbstats.setTotalSize( size );
-          
+
           // total unique groups
         List<String> repos = new ArrayList<String>();
-        repos.add( arepo.getId() ); 
-        
+        repos.add( arepo.getId() );
+
         List<String> groupIds = (List<String>) dao.query( new 
UniqueGroupIdConstraint( repos ) );
         dbstats.setTotalGroupCount( groupIds.size() );
-                
+
         List<Object[]> artifactIds = (List<Object[]>) dao.query( new 
UniqueArtifactIdConstraint( arepo.getId(), true ) );
         dbstats.setTotalProjectCount( artifactIds.size() );
-                        
+
         return dbstats;
-    }   
-    
+    }
+
     public Task getCurrentTaskInExecution()
     {
         return task;


Reply via email to