From b8ec325b490be376cb7696dec95dbb2b2cc37c9c Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Wed, 17 Oct 2007 16:56:51 +0000 Subject: [PATCH] Upgrading bidirlayout usage to RepoContent usage to eliminate bugs around missing content from bad layout routines. git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@585574 13f79535-47bb-0310-9956-ffa450edef68 --- .../lucene/IndexContentConsumer.java | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java b/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java index aefaba8ad..95a9a561a 100644 --- a/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java +++ b/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java @@ -31,8 +31,10 @@ import org.apache.maven.archiva.indexer.RepositoryContentIndexFactory; 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 @@ public class IndexContentConsumer 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 propertyNameTriggers = new ArrayList(); @@ -97,12 +99,10 @@ public class IndexContentConsumer 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 @@ public class IndexContentConsumer 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 @@ public class IndexContentConsumer // 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 ) -- 2.39.5