You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2007/09/28 02:12:07 UTC

svn commit: r580187 - in /maven/archiva/trunk: ./ archiva-base/archiva-configuration/ archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/ archiva-base/archiva-dependency-graph/ archiva...

Author: brett
Date: Thu Sep 27 17:12:03 2007
New Revision: 580187

URL: http://svn.apache.org/viewvc?rev=580187&view=rev
Log:
[MRM-528] run consumers as artifacts arrive via proxy

Added:
    maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java   (with props)
Modified:
    maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml
    maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java
    maven/archiva/trunk/archiva-base/archiva-dependency-graph/pom.xml
    maven/archiva/trunk/archiva-base/archiva-indexer/pom.xml
    maven/archiva/trunk/archiva-base/archiva-policies/pom.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/pom.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ChecksumTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedLegacyTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/MetadataTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/RelocateTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/SnapshotTransferTest.xml
    maven/archiva/trunk/archiva-base/archiva-repository-layer/pom.xml
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.java
    maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/pom.xml
    maven/archiva/trunk/archiva-web/archiva-webapp/pom.xml
    maven/archiva/trunk/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/repository/RepositoryServletTest.xml
    maven/archiva/trunk/pom.xml

Modified: maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml Thu Sep 27 17:12:03 2007
@@ -72,12 +72,6 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
-    <!-- Test Deps -->
-    <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/maven/archiva/consumers/core/repository/AbstractRepositoryPurge.java Thu Sep 27 17:12:03 2007
@@ -113,6 +113,8 @@
                                                                    artifact.getType() );
 
         artifactDao.deleteArtifact( queriedArtifact );
+
+        // TODO [MRM-37]: re-run the database consumers to clean up
     }
 
     /**

Modified: maven/archiva/trunk/archiva-base/archiva-dependency-graph/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-dependency-graph/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-dependency-graph/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-dependency-graph/pom.xml Thu Sep 27 17:12:03 2007
@@ -80,11 +80,6 @@
       <artifactId>plexus-registry-commons</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified: maven/archiva/trunk/archiva-base/archiva-indexer/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-indexer/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-indexer/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-indexer/pom.xml Thu Sep 27 17:12:03 2007
@@ -60,11 +60,6 @@
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>
-    <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified: maven/archiva/trunk/archiva-base/archiva-policies/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-policies/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-policies/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-policies/pom.xml Thu Sep 27 17:12:03 2007
@@ -45,11 +45,6 @@
       <artifactId>plexus-cache-ehcache</artifactId>
     </dependency>
     <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-slf4j-logging</artifactId>
       <scope>test</scope>

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/pom.xml Thu Sep 27 17:12:03 2007
@@ -77,11 +77,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-slf4j-logging</artifactId>
       <scope>test</scope>

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java Thu Sep 27 17:12:03 2007
@@ -39,6 +39,7 @@
 import org.apache.maven.archiva.repository.layout.LayoutException;
 import org.apache.maven.archiva.repository.metadata.MetadataTools;
 import org.apache.maven.archiva.repository.metadata.RepositoryMetadataException;
+import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
 import org.apache.maven.wagon.ConnectionException;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.Wagon;
@@ -116,6 +117,11 @@
     private Map networkProxyMap = new HashMap();
 
     /**
+     * @plexus.requirement
+     */
+    private RepositoryContentConsumers consumers;
+
+    /**
      * Fetch an artifact from a remote repository.
      *
      * @param repository the managed repository to utilize for the request.
@@ -474,6 +480,9 @@
 
             return null;
         }
+
+        // Just-in-time update of the index and database by executing the consumers for this artifact
+        consumers.executeConsumers( connector.getSourceRepository(), localFile );
 
         // Everything passes.
         return localFile;

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -61,6 +61,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ChecksumTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ChecksumTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ChecksumTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ChecksumTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -61,6 +61,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -61,6 +61,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedLegacyTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedLegacyTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedLegacyTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ManagedLegacyTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -61,6 +61,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/MetadataTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/MetadataTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/MetadataTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/MetadataTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -87,6 +87,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/RelocateTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/RelocateTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/RelocateTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/RelocateTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -65,6 +65,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/SnapshotTransferTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/SnapshotTransferTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/SnapshotTransferTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/SnapshotTransferTest.xml Thu Sep 27 17:12:03 2007
@@ -61,6 +61,10 @@
           <role-hint>default</role-hint>
           <field-name>urlFailureCache</field-name>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+          <field-name>consumers</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/pom.xml Thu Sep 27 17:12:03 2007
@@ -89,11 +89,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-slf4j-logging</artifactId>
       <version>1.1-alpha-1</version>

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumers.java Thu Sep 27 17:12:03 2007
@@ -24,16 +24,20 @@
 import org.apache.commons.collections.Predicate;
 import org.apache.commons.collections.functors.IfClosure;
 import org.apache.commons.collections.functors.OrPredicate;
+import org.apache.maven.archiva.common.utils.PathUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
+import org.apache.maven.archiva.consumers.ConsumerException;
 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.consumers.functors.PermanentConsumerPredicate;
+import org.apache.maven.archiva.model.ArchivaRepository;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -59,12 +63,12 @@
     /**
      * @plexus.requirement role="org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer"
      */
-    private List availableKnownConsumers;
+    private List<KnownRepositoryContentConsumer> availableKnownConsumers;
 
     /**
      * @plexus.requirement role="org.apache.maven.archiva.consumers.InvalidRepositoryContentConsumer"
      */
-    private List availableInvalidConsumers;
+    private List<InvalidRepositoryContentConsumer> availableInvalidConsumers;
 
     private Predicate selectedKnownPredicate;
 
@@ -186,13 +190,55 @@
         return ret;
     }
 
-    public List getAvailableKnownConsumers()
+    public List<KnownRepositoryContentConsumer> getAvailableKnownConsumers()
     {
         return availableKnownConsumers;
     }
 
-    public List getAvailableInvalidConsumers()
+    public List<InvalidRepositoryContentConsumer> getAvailableInvalidConsumers()
     {
         return availableInvalidConsumers;
+    }
+
+    public void setAvailableKnownConsumers( List<KnownRepositoryContentConsumer> availableKnownConsumers )
+    {
+        this.availableKnownConsumers = availableKnownConsumers;
+    }
+
+    public void setAvailableInvalidConsumers( List<InvalidRepositoryContentConsumer> availableInvalidConsumers )
+    {
+        this.availableInvalidConsumers = availableInvalidConsumers;
+    }
+
+    public void executeConsumers( ArchivaRepository repository, File localFile )
+    {
+        // Run the repository consumers
+        for ( RepositoryContentConsumer consumer : availableKnownConsumers )
+        {
+            consumeFile( consumer, repository, localFile );
+        }
+
+        for ( RepositoryContentConsumer consumer : availableInvalidConsumers )
+        {
+            consumeFile( consumer, repository, localFile );
+        }
+    }
+
+    private void consumeFile( RepositoryContentConsumer consumer, ArchivaRepository repository, File localFile )
+    {
+        try
+        {
+            consumer.beginScan( repository );
+            consumer.processFile( PathUtil.getRelative( repository.getUrl().getPath(), localFile ) );
+        }
+        catch ( ConsumerException e )
+        {
+            getLogger().error( "Error processing file: " + localFile, e );
+            // ignore, let next repo scan handle it
+        }
+        finally
+        {
+            consumer.completeScan();
+        }
     }
 }

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.java?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.java Thu Sep 27 17:12:03 2007
@@ -19,15 +19,20 @@
  * under the License.
  */
 
+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.ArchivaRepository;
 import org.codehaus.plexus.PlexusTestCase;
+import org.easymock.MockControl;
 
+import java.io.File;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
 /**
- * RepositoryContentConsumerUtilTest 
+ * RepositoryContentConsumerUtilTest
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
@@ -71,7 +76,7 @@
         assertNotNull( "Known[sample-known] should not be null.", o );
         assertInstanceof( "Known[sample-known]", RepositoryContentConsumer.class, o );
         assertInstanceof( "Known[sample-known]", KnownRepositoryContentConsumer.class, o );
-        
+
         Map invalidConsumerMap = consumerutil.getSelectedInvalidConsumersMap();
         assertNotNull( "Invalid Consumer Map should not be null", invalidConsumerMap );
         assertEquals( "Invalid Consumer Map.size", 0, invalidConsumerMap.size() );
@@ -81,8 +86,8 @@
     {
         if ( clazz.isInstance( o ) == false )
         {
-            fail( msg + ": Object [" + o.getClass().getName() + "] should have been an instanceof [" + clazz.getName()
-                + "]" );
+            fail( msg + ": Object [" + o.getClass().getName() + "] should have been an instanceof [" + clazz.getName() +
+                "]" );
         }
     }
 
@@ -99,5 +104,37 @@
         List invalidConsumers = consumerutil.getAvailableInvalidConsumers();
         assertNotNull( "invalid consumers should not be null.", invalidConsumers );
         assertEquals( "invalid consumers", 0, invalidConsumers.size() );
+    }
+
+    public void testExecution()
+        throws Exception
+    {
+        MockControl knownControl = MockControl.createControl( KnownRepositoryContentConsumer.class );
+        RepositoryContentConsumers consumers = lookupRepositoryConsumerUtil();
+        KnownRepositoryContentConsumer knownConsumer = (KnownRepositoryContentConsumer) knownControl.getMock();
+        consumers.setAvailableKnownConsumers( Collections.singletonList( knownConsumer ) );
+
+        MockControl invalidControl = MockControl.createControl( InvalidRepositoryContentConsumer.class );
+        InvalidRepositoryContentConsumer invalidConsumer = (InvalidRepositoryContentConsumer) invalidControl.getMock();
+        consumers.setAvailableInvalidConsumers( Collections.singletonList( invalidConsumer ) );
+
+        ArchivaRepository repo =
+            new ArchivaRepository( "id", "name", getTestFile( "target/test-repo" ).toURL().toExternalForm() );
+        File testFile = getTestFile( "target/test-repo/path/to/test-file.txt" );
+
+        knownConsumer.beginScan( repo );
+        knownConsumer.processFile( "path/to/test-file.txt" );
+        knownConsumer.completeScan();
+        knownControl.replay();
+
+        invalidConsumer.beginScan( repo );
+        invalidConsumer.processFile( "path/to/test-file.txt" );
+        invalidConsumer.completeScan();
+        invalidControl.replay();
+
+        consumers.executeConsumers( repo, testFile );
+
+        knownControl.verify();
+        invalidControl.verify();
     }
 }

Modified: maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/pom.xml (original)
+++ maven/archiva/trunk/archiva-reporting/archiva-artifact-reports/pom.xml Thu Sep 27 17:12:03 2007
@@ -59,11 +59,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-slf4j-logging</artifactId>
       <scope>test</scope>

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/pom.xml (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/pom.xml Thu Sep 27 17:12:03 2007
@@ -235,12 +235,6 @@
       <version>${redback.version}</version>
       <scope>test</scope>
     </dependency>
-    <!-- Test Deps -->
-    <dependency>
-      <groupId>easymock</groupId>
-      <artifactId>easymock</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
   <build>
     <plugins>

Added: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java?rev=580187&view=auto
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java (added)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java Thu Sep 27 17:12:03 2007
@@ -0,0 +1,8 @@
+package org.apache.maven.archiva.web.repository;
+
+import org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers;
+
+public class StubRepositoryContentConsumers
+    extends RepositoryContentConsumers
+{
+}

Propchange: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/repository/StubRepositoryContentConsumers.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/repository/RepositoryServletTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/repository/RepositoryServletTest.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/repository/RepositoryServletTest.xml (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/test/resources/org/apache/maven/archiva/web/repository/RepositoryServletTest.xml Thu Sep 27 17:12:03 2007
@@ -38,6 +38,13 @@
       </configuration>
     </component>
 
+    <!-- Don't drag in the world just to test this -->
+    <component>
+      <role>org.apache.maven.archiva.repository.scanner.RepositoryContentConsumers</role>
+      <role-hint>default</role-hint>
+      <implementation>org.apache.maven.archiva.web.repository.StubRepositoryContentConsumers</implementation>
+    </component>
+
     <!-- TODO: shouldn't need so many components just to use in-memory - is flaky since these are auto-generated -->
     <component>
       <role>org.codehaus.plexus.redback.system.SecuritySystem</role>

Modified: maven/archiva/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/pom.xml?rev=580187&r1=580186&r2=580187&view=diff
==============================================================================
--- maven/archiva/trunk/pom.xml (original)
+++ maven/archiva/trunk/pom.xml Thu Sep 27 17:12:03 2007
@@ -190,6 +190,12 @@
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>easymock</groupId>
+      <artifactId>easymock</artifactId>
+      <version>1.2_Java1.3</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
   <dependencyManagement>
     <dependencies>
@@ -369,11 +375,6 @@
         <groupId>dom4j</groupId>
         <artifactId>dom4j</artifactId>
         <version>1.6.1</version>
-      </dependency>
-      <dependency>
-        <groupId>easymock</groupId>
-        <artifactId>easymock</artifactId>
-        <version>1.2_Java1.3</version>
       </dependency>
       <dependency>
         <groupId>hsqldb</groupId>