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/10/17 18:56:52 UTC

svn commit: r585574 - /maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexContentConsumer.java

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 )