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 19:14:27 UTC

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

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;
     }