Author: joakime Date: Wed Oct 17 10:01:25 2007 New Revision: 585576 URL: http://svn.apache.org/viewvc?rev=585576&view=rev Log: Upgrading bidirlayout usage to RepoContent usage to eliminate bugs around missing content from bad layout routines.
Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java?rev=585576&r1=585575&r2=585576&view=diff ============================================================================== --- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java (original) +++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-database-consumers/src/main/java/org/apache/maven/archiva/consumers/database/ArtifactUpdateDatabaseConsumer.java Wed Oct 17 10:01:25 2007 @@ -29,8 +29,10 @@ import org.apache.maven.archiva.database.ArchivaDAO; import org.apache.maven.archiva.database.ArchivaDatabaseException; import org.apache.maven.archiva.model.ArchivaArtifact; -import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout; -import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory; +import org.apache.maven.archiva.model.ArtifactReference; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.RepositoryContentFactory; +import org.apache.maven.archiva.repository.RepositoryException; import org.apache.maven.archiva.repository.layout.LayoutException; import org.codehaus.plexus.digest.Digester; import org.codehaus.plexus.digest.DigesterException; @@ -50,8 +52,8 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a> * @version $Id$ * @plexus.component role="org.apache.maven.archiva.consumers.KnownRepositoryContentConsumer" - * role-hint="update-db-artifact" - * instantiation-strategy="per-lookup" + * role-hint="update-db-artifact" + * instantiation-strategy="per-lookup" */ public class ArtifactUpdateDatabaseConsumer extends AbstractMonitoredConsumer @@ -61,7 +63,7 @@ private static final String DB_ERROR = "db-error"; - private static final String CHECKSUM_CALCULATION = null; + private static final String CHECKSUM_CALCULATION = "checksum-calc"; /** * @plexus.configuration default-value="update-db-artifact" @@ -91,7 +93,7 @@ /** * @plexus.requirement */ - private BidirectionalRepositoryLayoutFactory layoutFactory; + private RepositoryContentFactory repositoryFactory; /** * @plexus.requirement role-hint="sha1" @@ -103,12 +105,10 @@ */ private Digester digestMd5; - private ManagedRepositoryConfiguration repository; + private ManagedRepositoryContent repository; private File repositoryDir; - private BidirectionalRepositoryLayout layout; - private List<String> includes = new ArrayList<String>(); public String getId() @@ -136,19 +136,17 @@ return this.includes; } - public void beginScan( ManagedRepositoryConfiguration repository ) + public void beginScan( ManagedRepositoryConfiguration repo ) throws ConsumerException { - this.repository = repository; - this.repositoryDir = new File( repository.getLocation() ); - try { - this.layout = layoutFactory.getLayout( repository.getLayout() ); + this.repository = repositoryFactory.getManagedRepositoryContent( repo.getId() ); + this.repositoryDir = new File( repository.getRepoRoot() ); } - catch ( LayoutException e ) + catch(RepositoryException e) { - throw new ConsumerException( e.getMessage(), e ); + throw new ConsumerException( "Unable to start ArtifactUpdateDatabaseConsumer: " + e.getMessage(), e ); } } @@ -214,7 +212,7 @@ { try { - ArchivaArtifact artifact = layout.toArtifact( path ); + ArtifactReference artifact = repository.toArtifactReference( path ); ArchivaArtifact liveArtifact = dao.getArtifactDAO().createArtifact( artifact.getGroupId(), artifact.getArtifactId(),