Author: joakime Date: Wed Oct 17 09:56:51 2007 New Revision: 585574 URL: http://svn.apache.org/viewvc?rev=585574&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/IndexContentConsumer.java Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.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/IndexContentConsumer.java?rev=585574&r1=585573&r2=585574&view=diff ============================================================================== --- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java (original) +++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java Wed Oct 17 09:56:51 2007 @@ -31,8 +31,10 @@ import org.apache.maven.archiva.indexer.RepositoryIndexException; import org.apache.maven.archiva.indexer.filecontent.FileContentRecord; 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.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; @@ -82,14 +84,14 @@ private FileTypes filetypes; /** - * @plexus.requirement role-hint="lucene" + * @plexus.requirement */ - private RepositoryContentIndexFactory indexFactory; - + private RepositoryContentFactory repositoryFactory; + /** - * @plexus.requirement + * @plexus.requirement role-hint="lucene" */ - private BidirectionalRepositoryLayoutFactory layoutFactory; + private RepositoryContentIndexFactory indexFactory; private List<String> propertyNameTriggers = new ArrayList<String>(); @@ -97,12 +99,10 @@ private RepositoryContentIndex index; - private ManagedRepositoryConfiguration repository; + private ManagedRepositoryContent repository; private File repositoryDir; - private BidirectionalRepositoryLayout repositoryLayout; - public String getId() { return this.id; @@ -128,21 +128,18 @@ return this.includes; } - public void beginScan( ManagedRepositoryConfiguration repository ) + public void beginScan( ManagedRepositoryConfiguration repo ) throws ConsumerException { - this.repository = repository; - this.repositoryDir = new File( repository.getLocation() ); - this.index = indexFactory.createFileContentIndex( repository ); - try { - this.repositoryLayout = layoutFactory.getLayout( this.repository.getLayout() ); + this.repository = repositoryFactory.getManagedRepositoryContent( repo.getId() ); + this.repositoryDir = new File( repository.getRepoRoot() ); + this.index = indexFactory.createFileContentIndex( repository.getRepository() ); } - catch ( LayoutException e ) + catch ( RepositoryException e ) { - throw new ConsumerException( - "Unable to initialize consumer due to unknown repository layout: " + e.getMessage(), e ); + throw new ConsumerException( "Unable to start IndexContentConsumer: " + e.getMessage(), e ); } } @@ -160,7 +157,8 @@ // Test for possible artifact reference syntax. try { - ArchivaArtifact artifact = this.repositoryLayout.toArtifact( path ); + ArtifactReference ref = repository.toArtifactReference( path ); + ArchivaArtifact artifact = new ArchivaArtifact( ref ); record.setArtifact( artifact ); } catch ( LayoutException e )