You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2008/04/28 04:17:52 UTC

svn commit: r652043 - in /archiva/trunk: archiva-cli/src/main/java/org/apache/maven/archiva/cli/ archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/ archiva-modules/archiva-base/archiva-...

Author: oching
Date: Sun Apr 27 19:17:44 2008
New Revision: 652043

URL: http://svn.apache.org/viewvc?rev=652043&view=rev
Log:
[MRM-773]
-added the constraints for getting the different versions of a specific artifact
-added the whenGathered field in beginScan(..) of RepositoryContentConsumer interface and updated all implementing consumers

Added:
    archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactVersionsConstraint.java
Modified:
    archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/AbstractProgressConsumer.java
    archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/AbstractMonitoredConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/RepositoryContentConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRemoveConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRenameConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ValidateChecksumConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/main/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/test/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumerTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerInstance.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/functors/TriggerBeginScanClosure.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/InvalidScanConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/KnownScanConsumer.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/SampleKnownConsumer.java
    archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByRepositoryConstraint.java

Modified: archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/AbstractProgressConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/AbstractProgressConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/AbstractProgressConsumer.java (original)
+++ archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/AbstractProgressConsumer.java Sun Apr 27 19:17:44 2008
@@ -19,6 +19,8 @@
  * under the License.
  */
 
+import java.util.Date;
+
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.AbstractMonitoredConsumer;
 import org.apache.maven.archiva.consumers.ConsumerException;
@@ -36,7 +38,7 @@
 {
     private int count = 0;
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         this.count = 0;

Modified: archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java (original)
+++ archiva/trunk/archiva-cli/src/main/java/org/apache/maven/archiva/cli/ProjectReaderConsumer.java Sun Apr 27 19:17:44 2008
@@ -21,6 +21,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -94,10 +95,10 @@
         return includes;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
-        super.beginScan( repository );
+        super.beginScan( repository, whenGathered );
         this.repo = repository;
     }
 

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/AbstractMonitoredConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/AbstractMonitoredConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/AbstractMonitoredConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/AbstractMonitoredConsumer.java Sun Apr 27 19:17:44 2008
@@ -36,7 +36,7 @@
     implements BaseConsumer
 {
     private Set<ConsumerMonitor> monitors = new HashSet<ConsumerMonitor>();
-
+    
     public void addConsumerMonitor( ConsumerMonitor monitor )
     {
         monitors.add( monitor );
@@ -104,4 +104,6 @@
     {
         return FileTypes.DEFAULT_EXCLUSIONS;
     }
+    
+    
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/RepositoryContentConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/RepositoryContentConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/RepositoryContentConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-api/src/main/java/org/apache/maven/archiva/consumers/RepositoryContentConsumer.java Sun Apr 27 19:17:44 2008
@@ -21,6 +21,7 @@
 
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -56,9 +57,10 @@
      * </p>
      * 
      * @param repository the repository that this consumer is being used for.
+     * @param whenGathered the start of the repository scan
      * @throws ConsumerException if there was a problem with using the provided repository with the consumer.
      */
-    public void beginScan( ManagedRepositoryConfiguration repository ) throws ConsumerException;
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered ) throws ConsumerException;
 
     /**
      * <p>
@@ -95,5 +97,5 @@
      * method.
      * @return whether to process the unmodified files
      */
-    boolean isProcessUnmodified();
+    boolean isProcessUnmodified();        
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ArtifactMissingChecksumsConsumer.java Sun Apr 27 19:17:44 2008
@@ -36,6 +36,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -113,7 +114,7 @@
         return false;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repo )
+    public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered )
         throws ConsumerException
     {
         this.repositoryDir = new File( repo.getLocation() );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRemoveConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRemoveConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRemoveConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRemoveConsumer.java Sun Apr 27 19:17:44 2008
@@ -32,6 +32,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -88,7 +89,7 @@
         return false;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         this.repositoryDir = new File( repository.getLocation() );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRenameConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRenameConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRenameConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/AutoRenameConsumer.java Sun Apr 27 19:17:44 2008
@@ -28,6 +28,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -90,7 +91,7 @@
         return false;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         this.repositoryDir = new File( repository.getLocation() );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/MetadataUpdaterConsumer.java Sun Apr 27 19:17:44 2008
@@ -22,6 +22,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
@@ -123,7 +124,7 @@
         this.includes = includes;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repoConfig )
+    public void beginScan( ManagedRepositoryConfiguration repoConfig, Date whenGathered )
         throws ConsumerException
     {
         try

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ValidateChecksumConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ValidateChecksumConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ValidateChecksumConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/ValidateChecksumConsumer.java Sun Apr 27 19:17:44 2008
@@ -33,6 +33,7 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
@@ -96,7 +97,7 @@
         return false;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         this.repositoryDir = new File( repository.getLocation() );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumer.java Sun Apr 27 19:17:44 2008
@@ -39,6 +39,7 @@
 import org.codehaus.plexus.registry.RegistryListener;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -133,7 +134,7 @@
         return this.includes;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         try

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/test/java/org/apache/maven/archiva/consumers/core/repository/RepositoryPurgeConsumerTest.java Sun Apr 27 19:17:44 2008
@@ -111,7 +111,7 @@
         repoConfiguration.setRetentionCount( TEST_RETENTION_COUNT );
         addRepoToConfiguration( "retention-count", repoConfiguration );
 
-        repoPurgeConsumer.beginScan( repoConfiguration );
+        repoPurgeConsumer.beginScan( repoConfiguration, null );
 
         String repoRoot = prepareTestRepo();
 
@@ -178,7 +178,7 @@
         repoConfiguration.setDaysOlder( TEST_DAYS_OLDER );
         addRepoToConfiguration( "days-old", repoConfiguration );
 
-        repoPurgeConsumer.beginScan( repoConfiguration );
+        repoPurgeConsumer.beginScan( repoConfiguration, null );
 
         String repoRoot = prepareTestRepo();
         String projectRoot = repoRoot + "/org/apache/maven/plugins/maven-install-plugin";
@@ -228,7 +228,7 @@
         repoConfiguration.setDeleteReleasedSnapshots( false ); // Set to NOT delete released snapshots.
         addRepoToConfiguration( "retention-count", repoConfiguration );
 
-        repoPurgeConsumer.beginScan( repoConfiguration );
+        repoPurgeConsumer.beginScan( repoConfiguration, null );
 
         String repoRoot = prepareTestRepo();
 
@@ -271,7 +271,7 @@
         repoConfiguration.setDeleteReleasedSnapshots( true );
         addRepoToConfiguration( "days-old", repoConfiguration );
 
-        repoPurgeConsumer.beginScan( repoConfiguration );
+        repoPurgeConsumer.beginScan( repoConfiguration, null );
 
         String repoRoot = prepareTestRepo();
 

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java Sun Apr 27 19:17:44 2008
@@ -110,6 +110,8 @@
     private File repositoryDir;
 
     private List<String> includes = new ArrayList<String>();
+    
+    private Date whenGathered;
 
     public String getId()
     {
@@ -136,13 +138,14 @@
         return this.includes;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repo )
+    public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered )
         throws ConsumerException
     {
         try
         {
             this.repository = repositoryFactory.getManagedRepositoryContent( repo.getId() );
             this.repositoryDir = new File( repository.getRepoRoot() );
+            this.whenGathered = whenGathered;
         }
         catch(RepositoryException e)
         {
@@ -190,6 +193,12 @@
             artifact.getModel().setSize( artifactFile.length() );
             artifact.getModel().setOrigin( "FileSystem" );
             artifact.getModel().setWhenProcessed( null );
+            
+            // set this to when the artifact was first discovered in the repo
+            if ( artifact.getModel().getWhenGathered() == null )
+            {
+                artifact.getModel().setWhenGathered( whenGathered );
+            }
 
             dao.getArtifactDAO().saveArtifact( artifact );
         }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/main/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/main/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/main/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/main/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumer.java Sun Apr 27 19:17:44 2008
@@ -25,6 +25,7 @@
 import java.lang.reflect.Field;
 import java.net.MalformedURLException;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 
@@ -125,7 +126,7 @@
         this.generatedRepositoryLocation = generatedRepositoryLocation;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         repositoryLocation = repository.getLocation();

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/test/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumerTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/test/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumerTest.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/test/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumerTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-dependency-tree-consumer/src/test/java/org/apache/archiva/consumers/dependencytree/DependencyTreeGeneratorConsumerTest.java Sun Apr 27 19:17:44 2008
@@ -67,7 +67,7 @@
     public void testGenerateBasicTree()
         throws IOException, ConsumerException
     {
-        consumer.beginScan( repository );
+        consumer.beginScan( repository, null );
 
         String path = "org/apache/maven/maven-core/2.0/maven-core-2.0.pom";
         consumer.processFile( path );
@@ -82,7 +82,7 @@
     public void testInvalidCoordinate()
         throws IOException, ConsumerException
     {
-        consumer.beginScan( repository );
+        consumer.beginScan( repository, null );
 
         String path = "openejb/jaxb-xjc/2.0EA3/jaxb-xjc-2.0EA3.pom";
         try
@@ -108,7 +108,7 @@
         
         DefaultProfileManager m = new DefaultProfileManager( container );
         
-        consumer.beginScan( repository );
+        consumer.beginScan( repository, null );
 
         String path = "org/apache/maven/surefire/surefire-testng/2.0/surefire-testng-2.0.pom";
         consumer.processFile( path );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java Sun Apr 27 19:17:44 2008
@@ -44,6 +44,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -128,7 +129,7 @@
         return this.includes;
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repo )
+    public void beginScan( ManagedRepositoryConfiguration repo, Date whenGathered )
         throws ConsumerException
     {
         try

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/maven/archiva/converter/legacy/LegacyConverterArtifactConsumer.java Sun Apr 27 19:17:44 2008
@@ -20,6 +20,7 @@
  */
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
@@ -81,7 +82,7 @@
         includes.add( "**/*.war" );
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         this.managedRepository = new ManagedDefaultRepositoryContent();

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-model/src/main/mdo/archiva-base.xml Sun Apr 27 19:17:44 2008
@@ -401,6 +401,16 @@
             The origin of this artifact. (Filesystem, Proxy, Deploy)
           </description>
         </field>
+        <field>
+          <name>whenGathered</name>
+          <identifier>false</identifier>
+          <version>1.0.0+</version>
+          <type>Date</type>
+          <required>false</required>
+          <description>
+            When this artifact was gathered or disovered from the repository.
+          </description>
+        </field>
       </fields>
       <codeSegments>
         <codeSegment>

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java Sun Apr 27 19:17:44 2008
@@ -23,20 +23,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.archiva.rss.processor.RssFeedProcessor;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.maven.archiva.configuration.FileTypes;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer;
 import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
 import org.apache.maven.archiva.consumers.RepositoryContentConsumer;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.ArtifactReference;
-import org.apache.maven.archiva.repository.ManagedRepositoryContent;
-import org.apache.maven.archiva.repository.RepositoryContentFactory;
 import org.apache.maven.archiva.repository.RepositoryException;
-import org.apache.maven.archiva.repository.RepositoryNotFoundException;
-import org.apache.maven.archiva.repository.layout.LayoutException;
 import org.codehaus.plexus.util.DirectoryWalker;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -63,16 +56,6 @@
      */
     private RepositoryContentConsumers consumerUtil;
     
-    /**
-     * @plexus.requirement
-     */
-    private RepositoryContentFactory repositoryFactory;
-    
-    /**
-     * @plexus.requirement role-hint="new-artifacts"
-     */
-    private RssFeedProcessor rssFeedProcessor;
-
     public RepositoryScanStatistics scan( ManagedRepositoryConfiguration repository, long changesSince )
         throws RepositoryException
     {
@@ -142,13 +125,6 @@
 
         stats.setKnownConsumers( gatherIds( knownContentConsumers ) );
         stats.setInvalidConsumers( gatherIds( invalidContentConsumers ) );
-
-        if ( scannerInstance.getNewFiles() != null && scannerInstance.getNewFiles().size() > 0 )
-        {
-            // generate RSS feeds
-            List<ArchivaArtifact> newArtifacts = getNewArtifacts( scannerInstance.getNewFiles(), repository.getId() );
-            rssFeedProcessor.process( newArtifacts );
-        }
         
         return stats;
     }
@@ -161,41 +137,5 @@
             ids.add( consumer.getId() );
         }
         return ids;
-    }
-    
-    private List<ArchivaArtifact> getNewArtifacts( List<File> files, String repoId )
-    {
-        List<ArchivaArtifact> newArtifacts = new ArrayList<ArchivaArtifact>();
-        
-        // TODO: filter the file types of artifacts that will be included in the rss feeds        
-        try
-        {
-            ManagedRepositoryContent repository = repositoryFactory.getManagedRepositoryContent( repoId );
-            for( File file : files )
-            {
-                try
-                {
-                    ArtifactReference ref = repository.toArtifactReference( file.getAbsolutePath() );
-                    ArchivaArtifact artifact = new ArchivaArtifact( ref.getGroupId(),ref.getArtifactId(), ref.getVersion(),
-                                                                   ref.getClassifier(), ref.getType() );
-                    artifact.getModel().setRepositoryId( repoId );
-                    newArtifacts.add( artifact );
-                }
-                catch ( LayoutException le )
-                {
-                    
-                }
-            }
-        }
-        catch ( RepositoryNotFoundException re )
-        {
-            log.error( re.getMessage() );
-        }
-        catch ( RepositoryException e )
-        {
-            log.error( e.getMessage() );   
-        }
-        
-        return newArtifacts;
-    }
+    }   
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java Sun Apr 27 19:17:44 2008
@@ -21,6 +21,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -262,8 +263,8 @@
     {
         // Run the repository consumers
         try
-        {
-            Closure triggerBeginScan = new TriggerBeginScanClosure( repository );
+        {   
+            Closure triggerBeginScan = new TriggerBeginScanClosure( repository, new Date( System.currentTimeMillis() ) );
 
             List<KnownRepositoryContentConsumer> selectedKnownConsumers = getSelectedKnownConsumers();
             List<InvalidRepositoryContentConsumer> selectedInvalidConsumers = getSelectedInvalidConsumers();

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerInstance.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerInstance.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerInstance.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryScannerInstance.java Sun Apr 27 19:17:44 2008
@@ -20,7 +20,7 @@
  */
 
 import java.io.File;
-import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 import org.apache.commons.collections.Closure;
@@ -67,8 +67,6 @@
     private ConsumerProcessFileClosure consumerProcessFile;
 
     private ConsumerWantsFilePredicate consumerWantsFile;
-    
-    private List<File> newFiles = new ArrayList<File>();
 
     public RepositoryScannerInstance( ManagedRepositoryConfiguration repository,
                                       List<KnownRepositoryContentConsumer> knownConsumerList,
@@ -84,7 +82,7 @@
         stats = new RepositoryScanStatistics();
         stats.setRepositoryId( repository.getId() );
 
-        Closure triggerBeginScan = new TriggerBeginScanClosure( repository );
+        Closure triggerBeginScan = new TriggerBeginScanClosure( repository, new Date( System.currentTimeMillis() ) );
 
         CollectionUtils.forAllDo( knownConsumerList, triggerBeginScan );
         CollectionUtils.forAllDo( invalidConsumerList, triggerBeginScan );
@@ -129,8 +127,7 @@
         // Timestamp finished points to the last successful scan, not this current one.
         if ( file.lastModified() >= changesSince )
         {
-            stats.increaseNewFileCount();
-            newFiles.add( basefile );       
+            stats.increaseNewFileCount();             
         }
         
         consumerProcessFile.setBasefile( basefile );
@@ -160,8 +157,4 @@
         log.debug( "Repository Scanner: " + message );
     }
     
-    public List<File> getNewFiles()
-    {
-        return newFiles;
-    }
 }

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/functors/TriggerBeginScanClosure.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/functors/TriggerBeginScanClosure.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/functors/TriggerBeginScanClosure.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/functors/TriggerBeginScanClosure.java Sun Apr 27 19:17:44 2008
@@ -19,6 +19,8 @@
  * under the License.
  */
 
+import java.util.Date;
+
 import org.apache.commons.collections.Closure;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.ConsumerException;
@@ -38,21 +40,29 @@
     private Logger log = LoggerFactory.getLogger( TriggerBeginScanClosure.class );
     
     private ManagedRepositoryConfiguration repository;
+    
+    private Date whenGathered;
 
     public TriggerBeginScanClosure( ManagedRepositoryConfiguration repository )
     {
         this.repository = repository;
     }
+    
+    public TriggerBeginScanClosure( ManagedRepositoryConfiguration repository, Date whenGathered )
+    {
+        this( repository );
+        this.whenGathered = whenGathered;
+    }
 
     public void execute( Object input )
     {
         if ( input instanceof RepositoryContentConsumer )
         {
             RepositoryContentConsumer consumer = (RepositoryContentConsumer) input;
-
+                
             try
             {
-                consumer.beginScan( repository );
+                consumer.beginScan( repository, whenGathered );
             }
             catch ( ConsumerException e )
             {

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/InvalidScanConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/InvalidScanConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/InvalidScanConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/InvalidScanConsumer.java Sun Apr 27 19:17:44 2008
@@ -24,6 +24,7 @@
 import org.apache.maven.archiva.consumers.ConsumerException;
 import org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -43,7 +44,7 @@
     
     private int processCount = 0;
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         /* do nothing */

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/KnownScanConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/KnownScanConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/KnownScanConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/KnownScanConsumer.java Sun Apr 27 19:17:44 2008
@@ -26,6 +26,7 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -70,7 +71,7 @@
         return "Scan Consumer (for testing)";
     }
 
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         /* do nothing */

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumersTest.java Sun Apr 27 19:17:44 2008
@@ -209,7 +209,7 @@
         ManagedRepositoryConfiguration repo = createRepository( "id", "name", getTestFile( "target/test-repo" ) );
         File testFile = getTestFile( "target/test-repo/path/to/test-file.txt" );
 
-        selectedKnownConsumer.beginScan( repo );
+        selectedKnownConsumer.beginScan( repo, null );
         selectedKnownConsumer.getExcludes();
         knownControl.setReturnValue( Collections.EMPTY_LIST );
         selectedKnownConsumer.getIncludes();
@@ -218,7 +218,7 @@
         //        knownConsumer.completeScan();
         knownControl.replay();
 
-        selectedInvalidConsumer.beginScan( repo );
+        selectedInvalidConsumer.beginScan( repo, null );
         //        invalidConsumer.completeScan();
         invalidControl.replay();
 
@@ -232,7 +232,7 @@
 
         File notIncludedTestFile = getTestFile( "target/test-repo/path/to/test-file.xml" );
 
-        selectedKnownConsumer.beginScan( repo );
+        selectedKnownConsumer.beginScan( repo, null );
         selectedKnownConsumer.getExcludes();
         knownControl.setReturnValue( Collections.EMPTY_LIST );
         selectedKnownConsumer.getIncludes();
@@ -240,7 +240,7 @@
         //        knownConsumer.completeScan();
         knownControl.replay();
 
-        selectedInvalidConsumer.beginScan( repo );
+        selectedInvalidConsumer.beginScan( repo, null );
         selectedInvalidConsumer.processFile( _OS( "path/to/test-file.xml" ) );
         selectedInvalidConsumer.getId();
         invalidControl.setReturnValue( "invalid" );
@@ -257,13 +257,13 @@
 
         File excludedTestFile = getTestFile( "target/test-repo/path/to/test-file.txt" );
 
-        selectedKnownConsumer.beginScan( repo );
+        selectedKnownConsumer.beginScan( repo, null );
         selectedKnownConsumer.getExcludes();
         knownControl.setReturnValue( Collections.singletonList( "**/test-file.txt" ) );
         //        knownConsumer.completeScan();
         knownControl.replay();
 
-        selectedInvalidConsumer.beginScan( repo );
+        selectedInvalidConsumer.beginScan( repo, null );
         selectedInvalidConsumer.processFile( _OS( "path/to/test-file.txt" ) );
         selectedInvalidConsumer.getId();
         invalidControl.setReturnValue( "invalid" );

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/SampleKnownConsumer.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/SampleKnownConsumer.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/SampleKnownConsumer.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/SampleKnownConsumer.java Sun Apr 27 19:17:44 2008
@@ -24,6 +24,7 @@
 import org.apache.maven.archiva.consumers.ConsumerException;
 import org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -44,7 +45,7 @@
      */
     private String id = "unset-id";
     
-    public void beginScan( ManagedRepositoryConfiguration repository )
+    public void beginScan( ManagedRepositoryConfiguration repository, Date whenGathered )
         throws ConsumerException
     {
         /* nothing to do */

Added: archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactVersionsConstraint.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactVersionsConstraint.java?rev=652043&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactVersionsConstraint.java (added)
+++ archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactVersionsConstraint.java Sun Apr 27 19:17:44 2008
@@ -0,0 +1,61 @@
+package org.apache.maven.archiva.database.constraints;
+
+/*
+ * 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 org.apache.maven.archiva.database.Constraint;
+
+/**
+ * ArtifactVersionsConstraint
+ * 
+ * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
+ * @version
+ */
+public class ArtifactVersionsConstraint
+    extends AbstractDeclarativeConstraint
+    implements Constraint
+{
+    private String whereClause;
+    
+    private String sortColumn = "repositoryId";
+    
+    public ArtifactVersionsConstraint( String repoId, String groupId, String artifactId )
+    {
+        whereClause = "repositoryId == repoId && groupId == groupId && artifactId == artifactId";        
+        declParams = new String[] { "String repoId", "String groupId", "String artifactId" };
+        params = new Object[] { repoId, groupId, artifactId };
+    }
+    
+    public ArtifactVersionsConstraint( String repoId, String groupId, String artifactId, String sortColumn )
+    {   
+        this( repoId, groupId, artifactId );
+        this.sortColumn = sortColumn;        
+    }
+
+    public String getSortColumn()
+    {        
+        return sortColumn;
+    }
+
+    public String getWhereCondition()
+    {        
+        return whereClause;
+    }
+
+}

Modified: archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByRepositoryConstraint.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByRepositoryConstraint.java?rev=652043&r1=652042&r2=652043&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByRepositoryConstraint.java (original)
+++ archiva/trunk/archiva-modules/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArtifactsByRepositoryConstraint.java Sun Apr 27 19:17:44 2008
@@ -33,6 +33,8 @@
 {
 	private String whereClause;
 	
+	private String sortColumn = "groupId";
+	
 	public ArtifactsByRepositoryConstraint( String repoId )
 	{
 		whereClause = "repositoryId == repoId";        
@@ -40,9 +42,15 @@
         params = new Object[] { repoId };
 	}
 	
+	public ArtifactsByRepositoryConstraint( String repoId, String sortColumn )
+    {
+        this( repoId );
+        this.sortColumn = sortColumn;
+    }
+	
 	public String getSortColumn() 
 	{		
-		return "groupId";
+		return sortColumn;
 	}
 
 	public String getWhereCondition()