Author: joakime Date: Wed Oct 17 10:14:25 2007 New Revision: 585579 URL: http://svn.apache.org/viewvc?rev=585579&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-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java?rev=585579&r1=585578&r2=585579&view=diff ============================================================================== --- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java (original) +++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java Wed Oct 17 10:14:25 2007 @@ -31,7 +31,9 @@ import org.apache.maven.archiva.indexer.RepositoryIndexException; import org.apache.maven.archiva.indexer.hashcodes.HashcodesRecord; import org.apache.maven.archiva.model.ArchivaArtifact; -import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout; +import org.apache.maven.archiva.repository.ManagedRepositoryContent; +import org.apache.maven.archiva.repository.RepositoryContentFactory; +import org.apache.maven.archiva.repository.RepositoryException; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; import org.codehaus.plexus.registry.Registry; @@ -73,9 +75,9 @@ private ArchivaConfiguration configuration; /** - * @plexus.requirement role="org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout" + * @plexus.requirement */ - private Map bidirectionalLayoutMap; // TODO: replace with new bidir-repo-layout-factory + private RepositoryContentFactory repositoryFactory; /** * @plexus.requirement role-hint="lucene" @@ -108,7 +110,7 @@ IndexedRepositoryDetails pnl = getIndexedRepositoryDetails( artifact ); - String artifactPath = pnl.layout.toPath( artifact ); + String artifactPath = pnl.repository.toPath( artifact ); record.setFilename( artifactPath ); try @@ -184,23 +186,27 @@ { ManagedRepositoryConfiguration repository = it.next(); - IndexedRepositoryDetails pnl = new IndexedRepositoryDetails(); - - pnl.path = repository.getLocation(); - pnl.layout = (BidirectionalRepositoryLayout) this.bidirectionalLayoutMap.get( repository.getLayout() ); - - pnl.index = indexFactory.createHashcodeIndex( repository ); - - this.repositoryMap.put( repository.getId(), pnl ); + try + { + IndexedRepositoryDetails pnl = new IndexedRepositoryDetails(); + + pnl.repository = repositoryFactory.getManagedRepositoryContent( repository.getId() ); + + pnl.index = indexFactory.createHashcodeIndex( repository ); + + this.repositoryMap.put( repository.getId(), pnl ); + } + catch ( RepositoryException e ) + { + getLogger().error( "Unable to load repository content object: " + e.getMessage(), e ); + } } } } class IndexedRepositoryDetails { - public String path; - - public BidirectionalRepositoryLayout layout; + public ManagedRepositoryContent repository; public RepositoryContentIndex index; }