You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/02/23 20:05:37 UTC
svn commit: r511053 [3/6] - in /maven/archiva/trunk: ./ archiva-applet/
archiva-cli/ archiva-cli/src/main/java/org/apache/maven/archiva/cli/
archiva-common/ archiva-common/src/ archiva-common/src/main/
archiva-common/src/main/java/ archiva-common/src/m...
Modified: maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskScheduler.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskScheduler.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskScheduler.java (original)
+++ maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/scheduler/RepositoryTaskScheduler.java Fri Feb 23 11:05:21 2007
@@ -19,6 +19,8 @@
* under the License.
*/
+import org.codehaus.plexus.taskqueue.execution.TaskExecutionException;
+
/**
* The component that takes care of scheduling in the application.
*
@@ -31,7 +33,7 @@
*/
String ROLE = RepositoryTaskScheduler.class.getName();
- void runIndexer()
+ void runDataRefresh()
throws TaskExecutionException;
-}
+}
Modified: maven/archiva/trunk/archiva-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-core/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/archiva/trunk/archiva-core/src/main/resources/META-INF/plexus/components.xml Fri Feb 23 11:05:21 2007
@@ -21,9 +21,67 @@
<component-set>
<components>
+ <!-- TODO: Remove once CDC can handle correct cross-module descriptor creation. -->
+
+ <!-- SNIP:START -->
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>index-artifact</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.IndexArtifactConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>artifact-health</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.ArtifactHealthConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <component>
+ <role>org.apache.maven.archiva.common.consumers.Consumer</role>
+ <role-hint>metadata-health</role-hint>
+ <implementation>org.apache.maven.archiva.consumers.RepositoryMetadataHealthConsumer</implementation>
+ <instantiation-strategy>per-lookup</instantiation-strategy>
+ <requirements>
+ <requirement>
+ <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+ <field-name>artifactFactory</field-name>
+ </requirement>
+ </requirements>
+ </component>
+
+ <!-- SNIP:END -->
+
+ <component>
+ <role>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</role>
+ <implementation>org.apache.maven.archiva.scheduler.executors.DataRefreshConsumers</implementation>
+ <description>Mutable list of consumer for the Data Refresh.</description>
+ <configuration>
+ <consumer-names>
+ <consumer-name>index-artifact</consumer-name>
+ <consumer-name>artifact-health</consumer-name>
+ <consumer-name>metadata-health</consumer-name>
+ </consumer-names>
+ </configuration>
+ </component>
+
<component>
<role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>indexer</role-hint>
+ <role-hint>data-refresh</role-hint>
<implementation>org.codehaus.plexus.taskqueue.DefaultTaskQueue</implementation>
<lifecycle-handler>plexus-configurable</lifecycle-handler>
<configuration>
@@ -38,20 +96,20 @@
<component>
<role>org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor</role>
- <role-hint>indexer</role-hint>
+ <role-hint>data-refresh</role-hint>
<implementation>org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor</implementation>
<requirements>
<requirement>
<role>org.codehaus.plexus.taskqueue.execution.TaskExecutor</role>
- <role-hint>indexer</role-hint>
+ <role-hint>data-refresh</role-hint>
</requirement>
<requirement>
<role>org.codehaus.plexus.taskqueue.TaskQueue</role>
- <role-hint>indexer</role-hint>
+ <role-hint>data-refresh</role-hint>
</requirement>
</requirements>
<configuration>
- <name>indexer</name>
+ <name>data-refresh</name>
</configuration>
</component>
Modified: maven/archiva/trunk/archiva-core/src/test/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositoriesTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-core/src/test/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositoriesTest.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-core/src/test/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositoriesTest.java (original)
+++ maven/archiva/trunk/archiva-core/src/test/java/org/apache/maven/archiva/repositories/DefaultActiveManagedRepositoriesTest.java Fri Feb 23 11:05:21 2007
@@ -19,15 +19,15 @@
* under the License.
*/
-import org.apache.maven.archiva.artifact.ManagedArtifact;
-import org.apache.maven.archiva.artifact.ManagedEjbArtifact;
-import org.apache.maven.archiva.artifact.ManagedJavaArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedEjbArtifact;
+import org.apache.maven.archiva.common.artifact.managed.ManagedJavaArtifact;
import org.codehaus.plexus.PlexusTestCase;
/**
* DefaultActiveManagedRepositoriesTest
*
- * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
* @version $Id$
*/
public class DefaultActiveManagedRepositoriesTest
Propchange: maven/archiva/trunk/archiva-discoverer/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -1,8 +1,15 @@
-cobertura.ser
target
-*.iml
-*.iws
+*~
+.*.swp
+*.log
+*.patch
+*.diff
*.ipr
+*.iws
+*.iml
.classpath
.project
+.m2eclipse
.settings
+.wtpmodules
+cobertura.ser
Modified: maven/archiva/trunk/archiva-discoverer/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-discoverer/pom.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-discoverer/pom.xml (original)
+++ maven/archiva/trunk/archiva-discoverer/pom.xml Fri Feb 23 11:05:21 2007
@@ -27,8 +27,12 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>archiva-discoverer</artifactId>
- <name>Archiva Artifact Discoverer</name>
+ <name>Archiva Discoverer</name>
<dependencies>
+ <dependency>
+ <groupId>org.apache.maven.archiva</groupId>
+ <artifactId>archiva-common</artifactId>
+ </dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
Modified: maven/archiva/trunk/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/Discoverer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/Discoverer.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/Discoverer.java (original)
+++ maven/archiva/trunk/archiva-discoverer/src/main/java/org/apache/maven/archiva/discoverer/Discoverer.java Fri Feb 23 11:05:21 2007
@@ -19,26 +19,55 @@
* under the License.
*/
-import java.util.Iterator;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import java.io.File;
+import java.util.List;
/**
- * @author Edwin Punzalan
+ * Discoverer - generic discoverer of content in an ArtifactRepository.
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
*/
public interface Discoverer
{
+ public static final String ROLE = Discoverer.class.getName();
+
/**
- * Get the list of paths kicked out during the discovery process.
- *
- * @return the paths as Strings.
+ * Walk the repository, and report to the consumers the files found.
+ *
+ * Report changes to the appropriate Consumer.
+ *
+ * This is just a convenience method to {@link #walkRepository(ArtifactRepository, List, boolean, long, List, List)}
+ * equivalent to calling <code>walkRepository( repository, consumers, includeSnapshots, 0, null, null );</code>
+ *
+ * @param repository the repository to change.
+ * @param consumers use the provided list of consumers.
+ * @param includeSnapshots true to include snapshots in the walking of this repository.
+ * @return the statistics for this scan.
+ * @throws DiscovererException if there was a fundamental problem with getting the discoverer started.
*/
- Iterator getKickedOutPathsIterator();
+ public DiscovererStatistics walkRepository( ArtifactRepository repository, List consumers, boolean includeSnapshots )
+ throws DiscovererException;
/**
- * Get the list of paths excluded during the discovery process.
- *
- * @return the paths as Strings.
+ * Walk the repository, and report to the consumers the files found.
+ *
+ * Report changes to the appropriate Consumer.
+ *
+ * @param repository the repository to change.
+ * @param consumers use the provided list of consumers.
+ * @param includeSnapshots true to include snapshots in the scanning of this repository.
+ * @param onlyModifiedAfterTimestamp Only report to the consumers, files that have a {@link File#lastModified()})
+ * after the provided timestamp.
+ * @param extraFileExclusions an optional list of file exclusions on the walk.
+ * @param extraFileInclusions an optional list of file inclusions on the walk.
+ * @return the statistics for this scan.
+ * @throws DiscovererException if there was a fundamental problem with getting the discoverer started.
*/
- Iterator getExcludedPathsIterator();
-
- void setTrackOmittedPaths( boolean trackOmittedPaths );
+ public DiscovererStatistics walkRepository( ArtifactRepository repository, List consumers,
+ boolean includeSnapshots, long onlyModifiedAfterTimestamp,
+ List extraFileExclusions, List extraFileInclusions )
+ throws DiscovererException;
}
Copied: maven/archiva/trunk/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java (from r511019, maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java)
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java?view=diff&rev=511053&p1=maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java&r1=511019&p2=maven/archiva/trunk/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java&r2=511053
==============================================================================
--- maven/archiva/branches/archiva-MRM-239/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java (original)
+++ maven/archiva/trunk/archiva-discoverer/src/test/java/org/apache/maven/archiva/discoverer/DefaultDiscovererTest.java Fri Feb 23 11:05:21 2007
@@ -68,11 +68,13 @@
{
stats.dump( new ConsoleLogger( Logger.LEVEL_DEBUG, "test" ) );
System.out.println( "Base Dir:" + stats.getRepository().getBasedir() );
+ int num = 0;
Iterator it = mockConsumer.getFilesProcessed().iterator();
while ( it.hasNext() )
{
BaseFile file = (BaseFile) it.next();
- System.out.println( " Processed File: " + file.getRelativePath() );
+ System.out.println( " Processed File [" + num + "]: " + file.getRelativePath() );
+ num++;
}
fail( "Files Processed mismatch: expected:<" + expectedFileCount + ">, actual:<" + actualFileCount + ">" );
@@ -104,7 +106,7 @@
assertNotNull( stats );
- assertFilesProcessed( 43, stats, mockConsumer );
+ assertFilesProcessed( 42, stats, mockConsumer );
}
public void testDefaultLayoutRepositoryPomsOnly()
Propchange: maven/archiva/trunk/archiva-discoverer/src/test/legacy-repository/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -0,0 +1 @@
+.stats
Propchange: maven/archiva/trunk/archiva-discoverer/src/test/repository/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -1 +1,2 @@
maven-metadata.xml
+.stats
Modified: maven/archiva/trunk/archiva-discoverer/src/test/repository/javax/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-discoverer/src/test/repository/javax/maven-metadata.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-discoverer/src/test/repository/javax/maven-metadata.xml (original)
+++ maven/archiva/trunk/archiva-discoverer/src/test/repository/javax/maven-metadata.xml Fri Feb 23 11:05:21 2007
@@ -18,6 +18,7 @@
~ under the License.
-->
+<!-- This metdata is intentionally wrong. -->
<metadata>
<groupId>javax.sql</groupId>
<artifactId>jdbc</artifactId>
Propchange: maven/archiva/trunk/archiva-indexer/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -1,6 +1,15 @@
target
+*~
+.*.swp
+*.log
+*.patch
+*.diff
+*.ipr
+*.iws
*.iml
.classpath
.project
-cobertura.ser
+.m2eclipse
.settings
+.wtpmodules
+cobertura.ser
Modified: maven/archiva/trunk/archiva-indexer/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/pom.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-indexer/pom.xml (original)
+++ maven/archiva/trunk/archiva-indexer/pom.xml Fri Feb 23 11:05:21 2007
@@ -27,7 +27,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>archiva-indexer</artifactId>
- <name>Archiva Repository Indexer</name>
+ <name>Archiva Indexer</name>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
Modified: maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/RepositoryArtifactIndex.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/RepositoryArtifactIndex.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/RepositoryArtifactIndex.java (original)
+++ maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/RepositoryArtifactIndex.java Fri Feb 23 11:05:21 2007
@@ -21,6 +21,7 @@
import org.apache.maven.archiva.indexer.query.Query;
import org.apache.maven.archiva.indexer.record.RepositoryIndexRecordFactory;
+import org.apache.maven.artifact.Artifact;
import java.util.Collection;
import java.util.List;
@@ -89,6 +90,17 @@
Collection getAllRecordKeys()
throws RepositoryIndexException;
+ /**
+ * Indexes the artifact specified. If the artifact is already in the repository they it is updated.
+ * This method should use less memory than indexRecords as the records can be created and disposed of on the fly.
+ *
+ * @param artifact the artifact to index
+ * @param factory the artifact to record factory
+ * @throws RepositoryIndexException if there is a problem indexing the artifacts
+ */
+ void indexArtifact( Artifact artifact, RepositoryIndexRecordFactory factory )
+ throws RepositoryIndexException;
+
/**
* Indexes the artifacts found within the specified list. If the artifacts are already in the
* repository they are updated. This method should use less memory than indexRecords as the records can be
Modified: maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneRepositoryArtifactIndex.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneRepositoryArtifactIndex.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneRepositoryArtifactIndex.java (original)
+++ maven/archiva/trunk/archiva-indexer/src/main/java/org/apache/maven/archiva/indexer/lucene/LuceneRepositoryArtifactIndex.java Fri Feb 23 11:05:21 2007
@@ -351,6 +351,40 @@
lastUpdatedTime = System.currentTimeMillis();
}
}
+
+ public void indexArtifact( Artifact artifact, RepositoryIndexRecordFactory factory )
+ throws RepositoryIndexException
+ {
+ IndexModifier indexModifier = null;
+ try
+ {
+ indexModifier = new IndexModifier( indexLocation, getAnalyzer(), !exists() );
+
+ RepositoryIndexRecord record = factory.createRecord( artifact );
+
+ if ( record != null )
+ {
+ Term term = new Term( FLD_PK, record.getPrimaryKey() );
+
+ indexModifier.deleteDocuments( term );
+
+ Document document = converter.convert( record );
+ document.add( new Field( FLD_PK, record.getPrimaryKey(), Field.Store.NO, Field.Index.UN_TOKENIZED ) );
+
+ indexModifier.addDocument( document );
+ }
+ indexModifier.optimize();
+ }
+ catch ( IOException e )
+ {
+ throw new RepositoryIndexException( "Error updating index: " + e.getMessage(), e );
+ }
+ finally
+ {
+ closeQuietly( indexModifier );
+ lastUpdatedTime = System.currentTimeMillis();
+ }
+ }
public List getAllGroupIds()
throws RepositoryIndexException
Propchange: maven/archiva/trunk/archiva-plexus-application/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -9,6 +9,7 @@
*.iml
.classpath
.project
+.m2eclipse
.settings
.wtpmodules
cobertura.ser
Propchange: maven/archiva/trunk/archiva-plexus-runtime/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -9,6 +9,7 @@
*.iml
.classpath
.project
+.m2eclipse
.settings
.wtpmodules
cobertura.ser
Propchange: maven/archiva/trunk/archiva-proxy/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -1,6 +1,15 @@
target
-cobertura.ser
+*~
+.*.swp
+*.log
+*.patch
+*.diff
+*.ipr
+*.iws
*.iml
.classpath
.project
+.m2eclipse
.settings
+.wtpmodules
+cobertura.ser
Modified: maven/archiva/trunk/archiva-proxy/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-proxy/pom.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-proxy/pom.xml (original)
+++ maven/archiva/trunk/archiva-proxy/pom.xml Fri Feb 23 11:05:21 2007
@@ -31,11 +31,7 @@
<dependencies>
<dependency>
<groupId>org.apache.maven.archiva</groupId>
- <artifactId>archiva-discoverer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
+ <artifactId>archiva-common</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
Modified: maven/archiva/trunk/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyRequestHandler.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyRequestHandler.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyRequestHandler.java (original)
+++ maven/archiva/trunk/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyRequestHandler.java Fri Feb 23 11:05:21 2007
@@ -21,8 +21,8 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.maven.archiva.discoverer.ArtifactDiscoverer;
-import org.apache.maven.archiva.discoverer.DiscovererException;
+import org.apache.maven.archiva.common.artifact.builder.BuilderException;
+import org.apache.maven.archiva.common.artifact.builder.LayoutArtifactBuilder;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -85,17 +85,17 @@
* @plexus.requirement
*/
private ArtifactFactory factory;
-
+
/**
* @plexus.requirement role-hint="default"
- * @todo use a map, and have priorities in them
+ * @todo use a map, and have priorities in them.
*/
- private ArtifactDiscoverer defaultArtifactDiscoverer;
-
+ private LayoutArtifactBuilder defaultArtifactBuilder;
+
/**
* @plexus.requirement role-hint="legacy"
*/
- private ArtifactDiscoverer legacyArtifactDiscoverer;
+ private LayoutArtifactBuilder legacyArtifactBuilder;
/**
* @plexus.requirement role="org.apache.maven.wagon.Wagon"
@@ -159,10 +159,10 @@
Artifact artifact = null;
try
{
- artifact = defaultArtifactDiscoverer.buildArtifact( artifactPath );
+ artifact = defaultArtifactBuilder.build( artifactPath );
getLogger().debug( "Artifact requested is: " + artifact );
}
- catch ( DiscovererException e )
+ catch ( BuilderException e )
{
msg = "Failed to build artifact from path:\n\tfrom default: " + e.getMessage();
}
@@ -171,10 +171,10 @@
{
try
{
- artifact = legacyArtifactDiscoverer.buildArtifact( artifactPath );
+ artifact = legacyArtifactBuilder.build( artifactPath );
getLogger().debug( "Artifact requested is: " + artifact );
}
- catch ( DiscovererException e )
+ catch ( BuilderException e )
{
getLogger().debug( msg + "\n\tfrom legacy: " + e.getMessage() );
}
Modified: maven/archiva/trunk/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ProxyRequestHandlerTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ProxyRequestHandlerTest.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ProxyRequestHandlerTest.xml (original)
+++ maven/archiva/trunk/archiva-proxy/src/test/resources/org/apache/maven/archiva/proxy/ProxyRequestHandlerTest.xml Fri Feb 23 11:05:21 2007
@@ -28,7 +28,6 @@
<role>org.codehaus.plexus.logging.LoggerManager</role>
<implementation>org.codehaus.plexus.logging.console.ConsoleLoggerManager</implementation>
<lifecycle-handler>basic</lifecycle-handler>
-
<configuration>
<threshold>ERROR</threshold>
</configuration>
Propchange: maven/archiva/trunk/archiva-reports-standard/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Feb 23 11:05:21 2007
@@ -1,6 +1,15 @@
target
-*.ser
+*~
+.*.swp
+*.log
+*.patch
+*.diff
+*.ipr
+*.iws
*.iml
.classpath
.project
+.m2eclipse
.settings
+.wtpmodules
+cobertura.ser
Modified: maven/archiva/trunk/archiva-reports-standard/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/pom.xml?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/pom.xml (original)
+++ maven/archiva/trunk/archiva-reports-standard/pom.xml Fri Feb 23 11:05:21 2007
@@ -77,6 +77,41 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-jdo2</artifactId>
+ <version>1.0-alpha-8</version>
+ <exclusions>
+ <exclusion>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>xerces</groupId>
+ <artifactId>xmlParserAPIs</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>jpox</groupId>
+ <artifactId>jpox</artifactId>
+ <version>1.1.6</version>
+ <scope>compile</scope>
+ <exclusions>
+ <!-- targeting JDK 1.4 we don't need this -->
+ <exclusion>
+ <groupId>javax.sql</groupId>
+ <artifactId>jdbc-stdext</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <!-- TEST DEPS -->
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.7.3.3</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
@@ -84,19 +119,45 @@
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
<version>1.0-alpha-14-SNAPSHOT</version>
+ <configuration>
+ <version>1.0.0</version>
+ <packageWithVersion>false</packageWithVersion>
+ <model>src/main/mdo/reporting.mdo</model>
+ </configuration>
<executions>
<execution>
+ <id>modello-java</id>
<goals>
- <goal>xpp3-writer</goal>
<goal>java</goal>
+ <goal>jpox-metadata-class</goal>
+ <!--
+ <goal>xpp3-writer</goal>
<goal>xpp3-reader</goal>
+ -->
+ </goals>
+ </execution>
+ <execution>
+ <id>jpox-jdo-mapping</id>
+ <goals>
+ <goal>jpox-jdo-mapping</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${basedir}/target/classes/org/apache/maven/archiva/reporting/model/</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jpox-maven-plugin</artifactId>
+ <version>1.1.6-SNAPSHOT</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>enhance</goal>
</goals>
</execution>
</executions>
- <configuration>
- <version>1.0.0</version>
- <model>src/main/mdo/reporting.mdo</model>
- </configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ReportingDatabase.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ReportingDatabase.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ReportingDatabase.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/database/ReportingDatabase.java Fri Feb 23 11:05:21 2007
@@ -19,618 +19,106 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.group.ReportGroup;
-import org.apache.maven.archiva.reporting.model.ArtifactResults;
-import org.apache.maven.archiva.reporting.model.MetadataResults;
-import org.apache.maven.archiva.reporting.model.Reporting;
-import org.apache.maven.archiva.reporting.model.Result;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
-
-import java.util.Date;
-import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
/**
+ * The Main Reporting Database.
+ *
* @todo i18n, including message formatting and parameterisation
+ * @plexus.component role="org.apache.maven.archiva.reporting.database.ReportingDatabase"
*/
public class ReportingDatabase
{
- private final Reporting reporting;
-
- private Map artifactMap;
-
- private Map metadataMap;
-
- private int numFailures;
-
- private int numWarnings;
-
- private ArtifactRepository repository;
-
- private boolean inProgress;
-
- private long startTime;
-
- private final ReportGroup reportGroup;
-
- private Set metadataWithProblems;
-
- private Map filteredDatabases = new HashMap();
-
- private int numNotices;
-
- public ReportingDatabase( ReportGroup reportGroup )
- {
- this( reportGroup, new Reporting() );
- }
-
- public ReportingDatabase( ReportGroup reportGroup, Reporting reporting )
- {
- this( reportGroup, reporting, null );
- }
-
- public ReportingDatabase( ReportGroup reportGroup, ArtifactRepository repository )
- {
- this( reportGroup, new Reporting(), repository );
- }
-
- public ReportingDatabase( ReportGroup reportGroup, Reporting reporting, ArtifactRepository repository )
- {
- this.reportGroup = reportGroup;
-
- this.reporting = reporting;
-
- this.repository = repository;
-
- initArtifactMap();
-
- initMetadataMap();
- }
-
- public void addFailure( Artifact artifact, String processor, String problem, String reason )
- {
- ArtifactResults results = getArtifactResults( artifact );
- Result result = createResult( processor, problem, reason );
- if ( !results.getFailures().contains( result ) )
- {
- results.addFailure( result );
- numFailures++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addFailure( artifact, processor, problem, reason );
- }
- }
-
- public void addNotice( Artifact artifact, String processor, String problem, String reason )
- {
- ArtifactResults results = getArtifactResults( artifact );
- Result result = createResult( processor, problem, reason );
- if ( !results.getNotices().contains( result ) )
- {
- results.addNotice( result );
- numNotices++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addNotice( artifact, processor, problem, reason );
- }
- }
-
- public void addWarning( Artifact artifact, String processor, String problem, String reason )
- {
- ArtifactResults results = getArtifactResults( artifact );
- Result result = createResult( processor, problem, reason );
- if ( !results.getWarnings().contains( result ) )
- {
- results.addWarning( result );
- numWarnings++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addWarning( artifact, processor, problem, reason );
- }
- }
-
- ArtifactResults getArtifactResults( Artifact artifact )
- {
- return getArtifactResults( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
- artifact.getType(), artifact.getClassifier() );
- }
-
- private ArtifactResults getArtifactResults( String groupId, String artifactId, String version, String type,
- String classifier )
- {
- Map artifactMap = this.artifactMap;
-
- String key = getArtifactKey( groupId, artifactId, version, type, classifier );
- ArtifactResults results = (ArtifactResults) artifactMap.get( key );
- if ( results == null )
- {
- results = new ArtifactResults();
- results.setArtifactId( artifactId );
- results.setClassifier( classifier );
- results.setGroupId( groupId );
- results.setType( type );
- results.setVersion( version );
-
- artifactMap.put( key, results );
- reporting.getArtifacts().add( results );
- }
-
- return results;
- }
-
- private void initArtifactMap()
- {
- Map map = new HashMap();
- for ( Iterator i = reporting.getArtifacts().iterator(); i.hasNext(); )
- {
- ArtifactResults result = (ArtifactResults) i.next();
-
- String key = getArtifactKey( result.getGroupId(), result.getArtifactId(), result.getVersion(),
- result.getType(), result.getClassifier() );
- map.put( key, result );
-
- numFailures += result.getFailures().size();
- numWarnings += result.getWarnings().size();
- numNotices += result.getNotices().size();
- }
- artifactMap = map;
- }
-
- private static String getArtifactKey( String groupId, String artifactId, String version, String type,
- String classifier )
- {
- return groupId + ":" + artifactId + ":" + version + ":" + type + ":" + classifier;
- }
-
- private static Result createResult( String processor, String problem, String reason )
- {
- Result result = new Result();
- result.setProcessor( processor );
- result.setProblem( problem );
- result.setReason( reason );
- return result;
- }
-
- public void addFailure( RepositoryMetadata metadata, String processor, String problem, String reason )
- {
- MetadataResults results = getMetadataResults( metadata, System.currentTimeMillis() );
- if ( !metadataWithProblems.contains( results ) )
- {
- metadataWithProblems.add( results );
- }
- Result result = createResult( processor, problem, reason );
- if ( !results.getFailures().contains( result ) )
- {
- results.addFailure( result );
- numFailures++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addFailure( metadata, processor, problem, reason );
- }
- }
-
- public void addWarning( RepositoryMetadata metadata, String processor, String problem, String reason )
- {
- MetadataResults results = getMetadataResults( metadata, System.currentTimeMillis() );
- if ( !metadataWithProblems.contains( results ) )
- {
- metadataWithProblems.add( results );
- }
- Result result = createResult( processor, problem, reason );
- if ( !results.getWarnings().contains( result ) )
- {
- results.addWarning( result );
- numWarnings++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addWarning( metadata, processor, problem, reason );
- }
- }
-
- public void addNotice( RepositoryMetadata metadata, String processor, String problem, String reason )
- {
- MetadataResults results = getMetadataResults( metadata, System.currentTimeMillis() );
- if ( !metadataWithProblems.contains( results ) )
- {
- metadataWithProblems.add( results );
- }
- Result result = createResult( processor, problem, reason );
- if ( !results.getNotices().contains( result ) )
- {
- results.addNotice( result );
- numNotices++;
- }
- updateTimings();
-
- if ( filteredDatabases.containsKey( problem ) )
- {
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( problem );
-
- reportingDatabase.addNotice( metadata, processor, problem, reason );
- }
- }
-
- public Set getMetadataWithProblems()
- {
- return metadataWithProblems;
- }
-
- private void initMetadataMap()
- {
- Map map = new HashMap();
- Set problems = new LinkedHashSet();
+ public static final String ROLE = ReportingDatabase.class.getName();
- for ( Iterator i = reporting.getMetadata().iterator(); i.hasNext(); )
- {
- MetadataResults result = (MetadataResults) i.next();
-
- String key = getMetadataKey( result.getGroupId(), result.getArtifactId(), result.getVersion() );
-
- map.put( key, result );
-
- numFailures += result.getFailures().size();
- numWarnings += result.getWarnings().size();
- numNotices += result.getNotices().size();
-
- if ( !result.getFailures().isEmpty() || !result.getWarnings().isEmpty() || !result.getNotices().isEmpty() )
- {
- problems.add( result );
- }
- }
- metadataMap = map;
- metadataWithProblems = problems;
- }
-
- private static String getMetadataKey( String groupId, String artifactId, String version )
- {
- return groupId + ":" + artifactId + ":" + version;
- }
-
- public int getNumFailures()
- {
- return numFailures;
- }
-
- public int getNumWarnings()
- {
- return numWarnings;
- }
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase artifactDatabase;
- public Reporting getReporting()
- {
- return reporting;
- }
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase metadataDatabase;
public Iterator getArtifactIterator()
{
- return reporting.getArtifacts().iterator();
+ return artifactDatabase.getIterator();
}
public Iterator getMetadataIterator()
{
- return reporting.getMetadata().iterator();
+ return metadataDatabase.getIterator();
}
- public boolean isMetadataUpToDate( RepositoryMetadata metadata, long timestamp )
+ public void clear()
{
- String key = getMetadataKey( metadata.getGroupId(), metadata.getArtifactId(), metadata.getBaseVersion() );
- Map map = metadataMap;
- MetadataResults results = (MetadataResults) map.get( key );
- return results != null && results.getLastModified() >= timestamp;
}
/**
- * Make sure the metadata record exists, but remove any previous reports in preparation for adding new ones.
- *
- * @param metadata the metadata
- * @param lastModified the modification time of the file being tracked
+ * <p>
+ * Get the number of failures in the database.
+ * </p>
+ *
+ * <p>
+ * <b>WARNING:</b> This is a very resource intensive request. Use sparingly.
+ * </p>
+ *
+ * @return the number of failures in the database.
*/
- public void cleanMetadata( RepositoryMetadata metadata, long lastModified )
- {
- MetadataResults results = getMetadataResults( metadata, lastModified );
-
- results.setLastModified( lastModified );
-
- numFailures -= results.getFailures().size();
- results.getFailures().clear();
-
- numWarnings -= results.getWarnings().size();
- results.getWarnings().clear();
-
- numNotices -= results.getWarnings().size();
- results.getNotices().clear();
-
- metadataWithProblems.remove( results );
- }
-
- MetadataResults getMetadataResults( RepositoryMetadata metadata, long lastModified )
- {
- return getMetadataResults( metadata.getGroupId(), metadata.getArtifactId(), metadata.getBaseVersion(),
- lastModified );
- }
-
- private MetadataResults getMetadataResults( String groupId, String artifactId, String baseVersion,
- long lastModified )
- {
- String key = getMetadataKey( groupId, artifactId, baseVersion );
- Map metadataMap = this.metadataMap;
- MetadataResults results = (MetadataResults) metadataMap.get( key );
- if ( results == null )
- {
- results = new MetadataResults();
- results.setArtifactId( artifactId );
- results.setGroupId( groupId );
- results.setVersion( baseVersion );
- results.setLastModified( lastModified );
-
- metadataMap.put( key, results );
- reporting.getMetadata().add( results );
- }
- return results;
- }
-
- public void removeArtifact( Artifact artifact )
- {
- Map map = artifactMap;
-
- String key = getArtifactKey( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
- artifact.getType(), artifact.getClassifier() );
- ArtifactResults results = (ArtifactResults) map.get( key );
- if ( results != null )
- {
- for ( Iterator i = reporting.getArtifacts().iterator(); i.hasNext(); )
- {
- if ( results.equals( i.next() ) )
- {
- i.remove();
- }
- }
-
- numFailures -= results.getFailures().size();
- numWarnings -= results.getWarnings().size();
- numNotices -= results.getNotices().size();
-
- map.remove( key );
- }
- }
-
- public ArtifactRepository getRepository()
- {
- return repository;
- }
-
- public boolean isInProgress()
- {
- return inProgress;
- }
-
- public void setInProgress( boolean inProgress )
- {
- this.inProgress = inProgress;
-
- if ( inProgress )
- {
- startTime = System.currentTimeMillis();
- }
- }
-
- public void clear()
- {
- // clear the values rather than destroy the instance so that the "inProgress" indicator is in tact.
- numWarnings = 0;
- numNotices = 0;
- numFailures = 0;
-
- artifactMap.clear();
- metadataMap.clear();
- metadataWithProblems.clear();
- filteredDatabases.clear();
-
- reporting.getArtifacts().clear();
- reporting.getMetadata().clear();
-
- updateTimings();
- }
-
- public void setStartTime( long startTime )
- {
- this.startTime = startTime;
- }
-
- public long getStartTime()
- {
- return startTime;
- }
-
- public void updateTimings()
- {
- long startTime = getStartTime();
- Date endTime = new Date();
- if ( startTime > 0 )
- {
- getReporting().setExecutionTime( endTime.getTime() - startTime );
- }
- getReporting().setLastModified( endTime.getTime() );
- }
-
- public ReportGroup getReportGroup()
+ public int getNumFailures()
{
- return reportGroup;
+ int count = 0;
+ count += artifactDatabase.getNumFailures();
+ count += metadataDatabase.getNumFailures();
+ return count;
}
- public ReportingDatabase getFilteredDatabase( String filter )
+ /**
+ * <p>
+ * Get the number of notices in the database.
+ * </p>
+ *
+ * <p>
+ * <b>WARNING:</b> This is a very resource intensive request. Use sparingly.
+ * </p>
+ *
+ * @return the number of notices in the database.
+ */
+ public int getNumNotices()
{
- ReportingDatabase reportingDatabase = (ReportingDatabase) filteredDatabases.get( filter );
-
- if ( reportingDatabase == null )
- {
- reportingDatabase = new ReportingDatabase( reportGroup, repository );
-
- Reporting reporting = reportingDatabase.getReporting();
- reporting.setExecutionTime( this.reporting.getExecutionTime() );
- reporting.setLastModified( this.reporting.getLastModified() );
-
- for ( Iterator i = this.reporting.getArtifacts().iterator(); i.hasNext(); )
- {
- ArtifactResults results = (ArtifactResults) i.next();
- ArtifactResults targetResults = null;
- for ( Iterator j = results.getFailures().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createArtifactResults( reportingDatabase, results );
- }
-
- targetResults.addFailure( result );
- reportingDatabase.numFailures++;
- }
- }
- for ( Iterator j = results.getWarnings().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createArtifactResults( reportingDatabase, results );
- }
-
- targetResults.addWarning( result );
- reportingDatabase.numWarnings++;
- }
- }
- for ( Iterator j = results.getNotices().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createArtifactResults( reportingDatabase, results );
- }
-
- targetResults.addNotice( result );
- reportingDatabase.numNotices++;
- }
- }
- }
- for ( Iterator i = this.reporting.getMetadata().iterator(); i.hasNext(); )
- {
- MetadataResults results = (MetadataResults) i.next();
- MetadataResults targetResults = null;
- for ( Iterator j = results.getFailures().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createMetadataResults( reportingDatabase, results );
- }
-
- targetResults.addFailure( result );
- reportingDatabase.numFailures++;
- }
- }
- for ( Iterator j = results.getWarnings().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createMetadataResults( reportingDatabase, results );
- }
-
- targetResults.addWarning( result );
- reportingDatabase.numWarnings++;
- }
- }
- for ( Iterator j = results.getNotices().iterator(); j.hasNext(); )
- {
- Result result = (Result) j.next();
-
- if ( filter.equals( result.getProcessor() ) )
- {
- if ( targetResults == null )
- {
- // lazily create so it is not added unless it has to be
- targetResults = createMetadataResults( reportingDatabase, results );
- }
-
- targetResults.addNotice( result );
- reportingDatabase.numNotices++;
- }
- }
- }
-
- filteredDatabases.put( filter, reportingDatabase );
- }
-
- return reportingDatabase;
+ int count = 0;
+ count += artifactDatabase.getNumNotices();
+ count += metadataDatabase.getNumNotices();
+ return count;
}
- private static MetadataResults createMetadataResults( ReportingDatabase reportingDatabase, MetadataResults results )
+ /**
+ * <p>
+ * Get the number of warnings in the database.
+ * </p>
+ *
+ * <p>
+ * <b>WARNING:</b> This is a very resource intensive request. Use sparingly.
+ * </p>
+ *
+ * @return the number of warnings in the database.
+ */
+ public int getNumWarnings()
{
- MetadataResults targetResults = reportingDatabase.getMetadataResults( results.getGroupId(),
- results.getArtifactId(),
- results.getVersion(),
- results.getLastModified() );
- reportingDatabase.metadataWithProblems.add( targetResults );
- return targetResults;
+ int count = 0;
+ count += artifactDatabase.getNumWarnings();
+ count += metadataDatabase.getNumWarnings();
+ return count;
}
- private static ArtifactResults createArtifactResults( ReportingDatabase reportingDatabase, ArtifactResults results )
+ public ArtifactResultsDatabase getArtifactDatabase()
{
- return reportingDatabase.getArtifactResults( results.getGroupId(), results.getArtifactId(),
- results.getVersion(), results.getType(), results.getClassifier() );
+ return artifactDatabase;
}
- public int getNumNotices()
+ public MetadataResultsDatabase getMetadataDatabase()
{
- return numNotices;
+ return metadataDatabase;
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/AbstractReportGroup.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/AbstractReportGroup.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/AbstractReportGroup.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/AbstractReportGroup.java Fri Feb 23 11:05:21 2007
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.archiva.reporting.processor.ArtifactReportProcessor;
import org.apache.maven.archiva.reporting.processor.MetadataReportProcessor;
import org.apache.maven.artifact.Artifact;
@@ -46,7 +45,7 @@
*/
private Map metadataReports;
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reportingDatabase )
+ public void processArtifact( Artifact artifact, Model model )
{
for ( Iterator i = artifactReports.entrySet().iterator(); i.hasNext(); )
{
@@ -56,13 +55,12 @@
{
ArtifactReportProcessor report = (ArtifactReportProcessor) entry.getValue();
- report.processArtifact( artifact, model, reportingDatabase );
+ report.processArtifact( artifact, model );
}
}
}
- public void processMetadata( RepositoryMetadata repositoryMetadata, ArtifactRepository repository,
- ReportingDatabase reportingDatabase )
+ public void processMetadata( RepositoryMetadata repositoryMetadata, ArtifactRepository repository )
{
for ( Iterator i = metadataReports.entrySet().iterator(); i.hasNext(); )
{
@@ -72,7 +70,7 @@
{
MetadataReportProcessor report = (MetadataReportProcessor) entry.getValue();
- report.processMetadata( repositoryMetadata, repository, reportingDatabase );
+ report.processMetadata( repositoryMetadata, repository );
}
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/DefaultReportGroup.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/DefaultReportGroup.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/DefaultReportGroup.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/DefaultReportGroup.java Fri Feb 23 11:05:21 2007
@@ -25,7 +25,8 @@
/**
* The default report set, for repository health.
*
- * @plexus.component role="org.apache.maven.archiva.reporting.group.ReportGroup" role-hint="health"
+ * @plexus.component role="org.apache.maven.archiva.reporting.group.ReportGroup"
+ * role-hint="health"
* @todo could these report groups be assembled dynamically by configuration rather than as explicit components? eg, reportGroup.addReport( ARP ), reportGroup.addReport( MRP )
*/
public class DefaultReportGroup
@@ -61,10 +62,5 @@
public String getName()
{
return "Repository Health";
- }
-
- public String getFilename()
- {
- return "health-report.xml";
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/ReportGroup.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/ReportGroup.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/ReportGroup.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/group/ReportGroup.java Fri Feb 23 11:05:21 2007
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
@@ -43,19 +42,16 @@
*
* @param artifact the artifact to process
* @param model the POM associated with the artifact to process
- * @param reportingDatabase the report database to store results in
*/
- void processArtifact( Artifact artifact, Model model, ReportingDatabase reportingDatabase );
+ void processArtifact( Artifact artifact, Model model );
/**
* Run any metadata related reports in the report set.
*
* @param repositoryMetadata the metadata to process
* @param repository the repository the metadata is located in
- * @param reportingDatabase the report database to store results in
*/
- void processMetadata( RepositoryMetadata repositoryMetadata, ArtifactRepository repository,
- ReportingDatabase reportingDatabase );
+ void processMetadata( RepositoryMetadata repositoryMetadata, ArtifactRepository repository );
/**
* Whether a report with the given role hint is included in this report set.
@@ -79,11 +75,4 @@
* @return the report name
*/
String getName();
-
- /**
- * Get the filename of the reports within the repository's reports directory.
- *
- * @return the filename
- */
- String getFilename();
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ArtifactReportProcessor.java Fri Feb 23 11:05:21 2007
@@ -19,7 +19,6 @@
* under the License.
*/
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Model;
@@ -31,5 +30,5 @@
{
String ROLE = ArtifactReportProcessor.class.getName();
- void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter );
+ void processArtifact( Artifact artifact, Model model );
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/BadMetadataReportProcessor.java Fri Feb 23 11:05:21 2007
@@ -22,7 +22,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.maven.archiva.layer.RepositoryQueryLayer;
import org.apache.maven.archiva.layer.RepositoryQueryLayerFactory;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -61,6 +61,11 @@
*/
private RepositoryQueryLayerFactory repositoryQueryLayerFactory;
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase database;
+
private static final String ROLE_HINT = "bad-metadata";
/**
@@ -70,18 +75,17 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
if ( metadata.storedInGroupDirectory() )
{
try
{
- checkPluginMetadata( metadata, repository, reporter );
+ checkPluginMetadata( metadata, repository );
}
catch ( IOException e )
{
- addWarning( reporter, metadata, null, "Error getting plugin artifact directories versions: " + e );
+ addWarning( metadata, null, "Error getting plugin artifact directories versions: " + e );
}
}
else
@@ -98,36 +102,34 @@
}
if ( !found )
{
- addFailure( reporter, metadata, "missing-last-updated",
- "Missing lastUpdated element inside the metadata." );
+ addFailure( metadata, "missing-last-updated", "Missing lastUpdated element inside the metadata." );
}
if ( metadata.storedInArtifactVersionDirectory() )
{
- checkSnapshotMetadata( metadata, repository, reporter );
+ checkSnapshotMetadata( metadata, repository );
}
else
{
- checkMetadataVersions( metadata, repository, reporter );
+ checkMetadataVersions( metadata, repository );
try
{
- checkRepositoryVersions( metadata, repository, reporter );
+ checkRepositoryVersions( metadata, repository );
}
catch ( IOException e )
{
String reason = "Error getting plugin artifact directories versions: " + e;
- addWarning( reporter, metadata, null, reason );
+ addWarning( metadata, null, reason );
}
}
}
}
- private static void addWarning( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addWarning( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addWarning( metadata, ROLE_HINT, problem, reason );
+ database.addWarning( metadata, ROLE_HINT, problem, reason );
}
/**
@@ -137,12 +139,11 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkPluginMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkPluginMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
throws IOException
{
- File metadataDir =
- new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) ).getParentFile();
+ File metadataDir = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) )
+ .getParentFile();
List pluginDirs = getArtifactIdFiles( metadataDir );
Map prefixes = new HashMap();
@@ -153,22 +154,22 @@
String artifactId = plugin.getArtifactId();
if ( artifactId == null || artifactId.length() == 0 )
{
- addFailure( reporter, metadata, "missing-artifact-id:" + plugin.getPrefix(),
+ addFailure( metadata, "missing-artifact-id:" + plugin.getPrefix(),
"Missing or empty artifactId in group metadata for plugin " + plugin.getPrefix() );
}
String prefix = plugin.getPrefix();
if ( prefix == null || prefix.length() == 0 )
{
- addFailure( reporter, metadata, "missing-plugin-prefix:" + artifactId,
+ addFailure( metadata, "missing-plugin-prefix:" + artifactId,
"Missing or empty plugin prefix for artifactId " + artifactId + "." );
}
else
{
if ( prefixes.containsKey( prefix ) )
{
- addFailure( reporter, metadata, "duplicate-plugin-prefix:" + prefix,
- "Duplicate plugin prefix found: " + prefix + "." );
+ addFailure( metadata, "duplicate-plugin-prefix:" + prefix, "Duplicate plugin prefix found: "
+ + prefix + "." );
}
else
{
@@ -181,8 +182,8 @@
File pluginDir = new File( metadataDir, artifactId );
if ( !pluginDirs.contains( pluginDir ) )
{
- addFailure( reporter, metadata, "missing-plugin-from-repository:" + artifactId,
- "Metadata plugin " + artifactId + " not found in the repository" );
+ addFailure( metadata, "missing-plugin-from-repository:" + artifactId, "Metadata plugin "
+ + artifactId + " not found in the repository" );
}
else
{
@@ -196,8 +197,8 @@
for ( Iterator plugins = pluginDirs.iterator(); plugins.hasNext(); )
{
File plugin = (File) plugins.next();
- addFailure( reporter, metadata, "missing-plugin-from-metadata:" + plugin.getName(), "Plugin " +
- plugin.getName() + " is present in the repository but " + "missing in the metadata." );
+ addFailure( metadata, "missing-plugin-from-metadata:" + plugin.getName(), "Plugin " + plugin.getName()
+ + " is present in the repository but " + "missing in the metadata." );
}
}
}
@@ -209,27 +210,26 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkSnapshotMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkSnapshotMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
- RepositoryQueryLayer repositoryQueryLayer =
- repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
+ RepositoryQueryLayer repositoryQueryLayer = repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
Versioning versioning = metadata.getMetadata().getVersioning();
if ( versioning != null )
{
Snapshot snapshot = versioning.getSnapshot();
- String version = StringUtils.replace( metadata.getBaseVersion(), Artifact.SNAPSHOT_VERSION,
- snapshot.getTimestamp() + "-" + snapshot.getBuildNumber() );
- Artifact artifact =
- artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(), version );
+ String version = StringUtils.replace( metadata.getBaseVersion(), Artifact.SNAPSHOT_VERSION, snapshot
+ .getTimestamp()
+ + "-" + snapshot.getBuildNumber() );
+ Artifact artifact = artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(),
+ version );
artifact.isSnapshot(); // trigger baseVersion correction
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- addFailure( reporter, metadata, "missing-snapshot-artifact-from-repository:" + version,
- "Snapshot artifact " + version + " does not exist." );
+ addFailure( metadata, "missing-snapshot-artifact-from-repository:" + version, "Snapshot artifact "
+ + version + " does not exist." );
}
}
}
@@ -241,11 +241,9 @@
* @param repository the repository where the metadata was encountered
* @param reporter the ReportingDatabase to receive processing results
*/
- private void checkMetadataVersions( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkMetadataVersions( RepositoryMetadata metadata, ArtifactRepository repository )
{
- RepositoryQueryLayer repositoryQueryLayer =
- repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
+ RepositoryQueryLayer repositoryQueryLayer = repositoryQueryLayerFactory.createRepositoryQueryLayer( repository );
Versioning versioning = metadata.getMetadata().getVersioning();
if ( versioning != null )
@@ -254,13 +252,13 @@
{
String version = (String) versions.next();
- Artifact artifact =
- artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata.getArtifactId(), version );
+ Artifact artifact = artifactFactory.createProjectArtifact( metadata.getGroupId(), metadata
+ .getArtifactId(), version );
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- addFailure( reporter, metadata, "missing-artifact-from-repository:" + version, "Artifact version " +
- version + " is present in metadata but " + "missing in the repository." );
+ addFailure( metadata, "missing-artifact-from-repository:" + version, "Artifact version " + version
+ + " is present in metadata but " + "missing in the repository." );
}
}
}
@@ -275,14 +273,13 @@
* @param reporter the ReportingDatabase to receive processing results
* @throws java.io.IOException if there is a problem reading from the file system
*/
- private void checkRepositoryVersions( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ private void checkRepositoryVersions( RepositoryMetadata metadata, ArtifactRepository repository )
throws IOException
{
Versioning versioning = metadata.getMetadata().getVersioning();
List metadataVersions = versioning != null ? versioning.getVersions() : Collections.EMPTY_LIST;
- File versionsDir =
- new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) ).getParentFile();
+ File versionsDir = new File( repository.getBasedir(), repository.pathOfRemoteRepositoryMetadata( metadata ) )
+ .getParentFile();
// TODO: I don't know how this condition can happen, but it was seen on the main repository.
// Avoid hard failure
@@ -295,14 +292,14 @@
String version = path.getParentFile().getName();
if ( !metadataVersions.contains( version ) )
{
- addFailure( reporter, metadata, "missing-artifact-from-metadata:" + version, "Artifact version " +
- version + " found in the repository but " + "missing in the metadata." );
+ addFailure( metadata, "missing-artifact-from-metadata:" + version, "Artifact version " + version
+ + " found in the repository but " + "missing in the metadata." );
}
}
}
else
{
- addFailure( reporter, metadata, null, "Metadata's directory did not exist: " + versionsDir );
+ addFailure( metadata, null, "Metadata's directory did not exist: " + versionsDir );
}
}
@@ -339,10 +336,9 @@
return artifactIdFiles;
}
- private static void addFailure( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addFailure( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( metadata, ROLE_HINT, problem, reason );
+ database.addFailure( metadata, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumArtifactReportProcessor.java Fri Feb 23 11:05:21 2007
@@ -20,7 +20,7 @@
*/
import org.apache.commons.io.FileUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
@@ -48,10 +48,15 @@
* @plexus.requirement role-hint="md5"
*/
private Digester md5Digester;
+
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
private static final String ROLE_HINT = "checksum";
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
ArtifactRepository repository = artifact.getRepository();
@@ -68,11 +73,11 @@
// TODO: make md5 configurable
// verifyChecksum( repository, path + ".md5", file, md5Digester, reporter, artifact );
- verifyChecksum( repository, path + ".sha1", file, sha1Digester, reporter, artifact );
+ verifyChecksum( repository, path + ".sha1", file, sha1Digester, artifact );
}
private void verifyChecksum( ArtifactRepository repository, String path, File file, Digester digester,
- ReportingDatabase reporter, Artifact artifact )
+ Artifact artifact )
{
File checksumFile = new File( repository.getBasedir(), path );
if ( checksumFile.exists() )
@@ -83,23 +88,23 @@
}
catch ( DigesterException e )
{
- addFailure( reporter, artifact, "checksum-wrong", e.getMessage() );
+ addFailure( artifact, "checksum-wrong", e.getMessage() );
}
catch ( IOException e )
{
- addFailure( reporter, artifact, "checksum-io-exception", "Read file error: " + e.getMessage() );
+ addFailure( artifact, "checksum-io-exception", "Read file error: " + e.getMessage() );
}
}
else
{
- addFailure( reporter, artifact, "checksum-missing",
+ addFailure( artifact, "checksum-missing",
digester.getAlgorithm() + " checksum file does not exist." );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/ChecksumMetadataReportProcessor.java Fri Feb 23 11:05:21 2007
@@ -20,7 +20,7 @@
*/
import org.apache.commons.io.FileUtils;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.MetadataResultsDatabase;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.codehaus.plexus.digest.Digester;
@@ -48,32 +48,36 @@
*/
private Digester md5Digester;
+ /**
+ * @plexus.requirement
+ */
+ private MetadataResultsDatabase database;
+
private static final String ROLE_HINT = "checksum-metadata";
/**
* Validate the checksums of the metadata. Get the metadata file from the
* repository then validate the checksum.
*/
- public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository,
- ReportingDatabase reporter )
+ public void processMetadata( RepositoryMetadata metadata, ArtifactRepository repository )
{
if ( !"file".equals( repository.getProtocol() ) )
{
// We can't check other types of URLs yet. Need to use Wagon, with an exists() method.
- throw new UnsupportedOperationException(
- "Can't process repository '" + repository.getUrl() + "'. Only file based repositories are supported" );
+ throw new UnsupportedOperationException( "Can't process repository '" + repository.getUrl()
+ + "'. Only file based repositories are supported" );
}
//check if checksum files exist
String path = repository.pathOfRemoteRepositoryMetadata( metadata );
File file = new File( repository.getBasedir(), path );
- verifyChecksum( repository, path + ".md5", file, md5Digester, reporter, metadata );
- verifyChecksum( repository, path + ".sha1", file, sha1Digester, reporter, metadata );
+ verifyChecksum( repository, path + ".md5", file, md5Digester, metadata );
+ verifyChecksum( repository, path + ".sha1", file, sha1Digester, metadata );
}
private void verifyChecksum( ArtifactRepository repository, String path, File file, Digester digester,
- ReportingDatabase reporter, RepositoryMetadata metadata )
+ RepositoryMetadata metadata )
{
File checksumFile = new File( repository.getBasedir(), path );
if ( checksumFile.exists() )
@@ -84,25 +88,23 @@
}
catch ( DigesterException e )
{
- addFailure( reporter, metadata, "checksum-wrong", e.getMessage() );
+ addFailure( metadata, "checksum-wrong", e.getMessage() );
}
catch ( IOException e )
{
- addFailure( reporter, metadata, "checksum-io-exception", "Read file error: " + e.getMessage() );
+ addFailure( metadata, "checksum-io-exception", "Read file error: " + e.getMessage() );
}
}
else
{
- addFailure( reporter, metadata, "checksum-missing",
- digester.getAlgorithm() + " checksum file does not exist." );
+ addFailure( metadata, "checksum-missing", digester.getAlgorithm() + " checksum file does not exist." );
}
}
- private static void addFailure( ReportingDatabase reporter, RepositoryMetadata metadata, String problem,
- String reason )
+ private void addFailure( RepositoryMetadata metadata, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( metadata, ROLE_HINT, problem, reason );
+ database.addFailure( metadata, ROLE_HINT, problem, reason );
}
}
Modified: maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java?view=diff&rev=511053&r1=511052&r2=511053
==============================================================================
--- maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java (original)
+++ maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/processor/DependencyArtifactReportProcessor.java Fri Feb 23 11:05:21 2007
@@ -21,7 +21,7 @@
import org.apache.maven.archiva.layer.RepositoryQueryLayer;
import org.apache.maven.archiva.layer.RepositoryQueryLayerFactory;
-import org.apache.maven.archiva.reporting.database.ReportingDatabase;
+import org.apache.maven.archiva.reporting.database.ArtifactResultsDatabase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
@@ -49,34 +49,39 @@
*/
private RepositoryQueryLayerFactory layerFactory;
+ /**
+ * @plexus.requirement
+ */
+ private ArtifactResultsDatabase database;
+
private static final String POM = "pom";
private static final String ROLE_HINT = "dependency";
- public void processArtifact( Artifact artifact, Model model, ReportingDatabase reporter )
+ public void processArtifact( Artifact artifact, Model model )
{
RepositoryQueryLayer queryLayer = layerFactory.createRepositoryQueryLayer( artifact.getRepository() );
if ( !queryLayer.containsArtifact( artifact ) )
{
// TODO: is this even possible?
- addFailure( reporter, artifact, "missing-artifact", "Artifact does not exist in the repository" );
+ addFailure( artifact, "missing-artifact", "Artifact does not exist in the repository" );
}
if ( model != null && POM.equals( artifact.getType() ) )
{
List dependencies = model.getDependencies();
- processDependencies( dependencies, reporter, queryLayer, artifact );
+ processDependencies( dependencies, queryLayer, artifact );
}
}
- private static void addFailure( ReportingDatabase reporter, Artifact artifact, String problem, String reason )
+ private void addFailure( Artifact artifact, String problem, String reason )
{
// TODO: reason could be an i18n key derived from the processor and the problem ID and the
- reporter.addFailure( artifact, ROLE_HINT, problem, reason );
+ database.addFailure( artifact, ROLE_HINT, problem, reason );
}
- private void processDependencies( List dependencies, ReportingDatabase reporter,
- RepositoryQueryLayer repositoryQueryLayer, Artifact sourceArtifact )
+ private void processDependencies( List dependencies, RepositoryQueryLayer repositoryQueryLayer,
+ Artifact sourceArtifact )
{
if ( dependencies.size() > 0 )
{
@@ -100,19 +105,19 @@
if ( !repositoryQueryLayer.containsArtifact( artifact ) )
{
- String reason = MessageFormat.format(
- "Artifact''s dependency {0} does not exist in the repository",
- new String[]{getDependencyString( dependency )} );
- addFailure( reporter, sourceArtifact, "missing-dependency:" + getDependencyKey( dependency ),
- reason );
+ String reason = MessageFormat
+ .format( "Artifact''s dependency {0} does not exist in the repository",
+ new String[] { getDependencyString( dependency ) } );
+ addFailure( sourceArtifact, "missing-dependency:" + getDependencyKey( dependency ), reason );
}
}
catch ( InvalidVersionSpecificationException e )
{
String reason = MessageFormat.format( "Artifact''s dependency {0} contains an invalid version {1}",
- new String[]{getDependencyString( dependency ),
- dependency.getVersion()} );
- addFailure( reporter, sourceArtifact, "bad-version:" + getDependencyKey( dependency ), reason );
+ new String[] {
+ getDependencyString( dependency ),
+ dependency.getVersion() } );
+ addFailure( sourceArtifact, "bad-version:" + getDependencyKey( dependency ), reason );
}
}
}
@@ -156,7 +161,7 @@
}
return artifactFactory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), spec,
- dependency.getType(), dependency.getClassifier(),
- dependency.getScope() );
+ dependency.getType(), dependency.getClassifier(), dependency
+ .getScope() );
}
}