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>