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:47:38 UTC

svn commit: r585569 - in /maven/archiva/trunk/archiva-base/archiva-repository-layer/src: main/java/org/apache/maven/archiva/repository/project/ main/java/org/apache/maven/archiva/repository/project/resolvers/ test/java/org/apache/maven/archiva/reposito...

Author: joakime
Date: Wed Oct 17 09:47:33 2007
New Revision: 585569

URL: http://svn.apache.org/viewvc?rev=585569&view=rev
Log:
Updating from bidirlayout to RepoContent techniques.


Modified:
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ManagedRepositoryProjectResolver.java
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java?rev=585569&r1=585568&r2=585569&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java Wed Oct 17 09:47:33 2007
@@ -23,13 +23,12 @@
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationNames;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+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.BidirectionalRepositoryLayout;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayoutFactory;
-import org.apache.maven.archiva.repository.layout.LayoutException;
+import org.apache.maven.archiva.repository.project.resolvers.ManagedRepositoryProjectResolver;
 import org.apache.maven.archiva.repository.project.resolvers.NopProjectResolver;
 import org.apache.maven.archiva.repository.project.resolvers.ProjectModelResolverStack;
-import org.apache.maven.archiva.repository.project.resolvers.ManagedRepositoryProjectResolver;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
@@ -53,11 +52,11 @@
      * @plexus.requirement
      */
     private ArchivaConfiguration archivaConfiguration;
-
+    
     /**
      * @plexus.requirement
      */
-    private BidirectionalRepositoryLayoutFactory layoutFactory;
+    private RepositoryContentFactory repositoryFactory;
 
     /**
      * @plexus.requirement role-hint="model400"
@@ -68,7 +67,7 @@
      * @plexus.requirement role-hint="model300"
      */
     private ProjectModelReader project300Reader;
-
+    
     private ProjectModelResolverStack currentResolverStack = new ProjectModelResolverStack();
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
@@ -99,24 +98,15 @@
     private ManagedRepositoryProjectResolver toResolver( ManagedRepositoryConfiguration repo )
         throws RepositoryException
     {
-        try
-        {
-            BidirectionalRepositoryLayout layout = layoutFactory.getLayout( repo.getLayout() );
-            ProjectModelReader reader = project400Reader;
-
-            if ( StringUtils.equals( "legacy", repo.getLayout() ) )
-            {
-                reader = project300Reader;
-            }
+        ManagedRepositoryContent repoContent = repositoryFactory.getManagedRepositoryContent( repo.getId() );
+        ProjectModelReader reader = project400Reader;
 
-            ManagedRepositoryProjectResolver resolver = new ManagedRepositoryProjectResolver( repo, reader, layout );
-            return resolver;
-        }
-        catch ( LayoutException e )
+        if ( StringUtils.equals( "legacy", repo.getLayout() ) )
         {
-            throw new RepositoryException(
-                "Unable to create RepositoryProjectResolver due to invalid layout spec: " + repo );
+            reader = project300Reader;
         }
+
+        return new ManagedRepositoryProjectResolver( repoContent, reader );
     }
 
     private void update()

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ManagedRepositoryProjectResolver.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ManagedRepositoryProjectResolver.java?rev=585569&r1=585568&r2=585569&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ManagedRepositoryProjectResolver.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/resolvers/ManagedRepositoryProjectResolver.java Wed Oct 17 09:47:33 2007
@@ -19,11 +19,10 @@
  * under the License.
  */
 
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaArtifact;
 import org.apache.maven.archiva.model.ArchivaProjectModel;
 import org.apache.maven.archiva.model.VersionedReference;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.project.ProjectModelException;
 import org.apache.maven.archiva.repository.project.ProjectModelReader;
 import org.apache.maven.archiva.repository.project.ProjectModelResolver;
@@ -39,18 +38,14 @@
 public class ManagedRepositoryProjectResolver
     implements ProjectModelResolver, FilesystemBasedResolver
 {
-    private ManagedRepositoryConfiguration repository;
+    private ManagedRepositoryContent repository;
 
     private ProjectModelReader reader;
 
-    private BidirectionalRepositoryLayout layout;
-
-    public ManagedRepositoryProjectResolver( ManagedRepositoryConfiguration repository, ProjectModelReader reader,
-                                      BidirectionalRepositoryLayout layout )
+    public ManagedRepositoryProjectResolver( ManagedRepositoryContent repository, ProjectModelReader reader )
     {
         this.repository = repository;
         this.reader = reader;
-        this.layout = layout;
     }
 
     public ArchivaProjectModel resolveProjectModel( VersionedReference reference )
@@ -59,8 +54,7 @@
         ArchivaArtifact artifact = new ArchivaArtifact( reference.getGroupId(), reference.getArtifactId(), reference
             .getVersion(), "", "pom" );
 
-        String path = layout.toPath( artifact );
-        File repoFile = new File( this.repository.getLocation(), path );
+        File repoFile = repository.toFile( artifact );
 
         return reader.read( repoFile );
     }

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java?rev=585569&r1=585568&r2=585569&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/AbstractRepositoryLayerTestCase.java Wed Oct 17 09:47:33 2007
@@ -51,6 +51,21 @@
         repo.setUrl( url );
         return repo;
     }
+    
+    protected ManagedRepositoryContent createManagedRepositoryContent( String id, String name, File location, String layout )
+        throws Exception
+    {
+        ManagedRepositoryConfiguration repo = new ManagedRepositoryConfiguration();
+        repo.setId( id );
+        repo.setName( name );
+        repo.setLocation( location.getAbsolutePath() );
+        repo.setLayout( layout );
+
+        ManagedRepositoryContent repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, layout );
+        repoContent.setRepository( repo );
+
+        return repoContent;
+    }
 
     protected RemoteRepositoryContent createRemoteRepositoryContent( String id, String name, String url, String layout )
         throws Exception
@@ -59,6 +74,7 @@
         repo.setId( id );
         repo.setName( name );
         repo.setUrl( url );
+        repo.setLayout( layout );
 
         RemoteRepositoryContent repoContent = (RemoteRepositoryContent) lookup( RemoteRepositoryContent.class, layout );
         repoContent.setRepository( repo );

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java?rev=585569&r1=585568&r2=585569&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/project/filters/EffectiveProjectModelFilterTest.java Wed Oct 17 09:47:33 2007
@@ -20,13 +20,11 @@
  */
 
 import org.apache.maven.archiva.common.utils.VersionUtil;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaProjectModel;
 import org.apache.maven.archiva.model.Dependency;
 import org.apache.maven.archiva.model.Individual;
 import org.apache.maven.archiva.repository.AbstractRepositoryLayerTestCase;
-import org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout;
-import org.apache.maven.archiva.repository.layout.DefaultBidirectionalRepositoryLayout;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
 import org.apache.maven.archiva.repository.project.ProjectModelException;
 import org.apache.maven.archiva.repository.project.ProjectModelFilter;
 import org.apache.maven.archiva.repository.project.ProjectModelReader;
@@ -68,15 +66,14 @@
         return reader.read( pomFile );
     }
 
-    private ProjectModelResolver createDefaultRepositoryResolver()
+    private ProjectModelResolver createDefaultRepositoryResolver() throws Exception
     {
         File defaultRepoDir = new File( getBasedir(), DEFAULT_REPOSITORY );
 
-        ManagedRepositoryConfiguration repo = createRepository( "defaultTestRepo", "Default Test Repo", defaultRepoDir );
+        ManagedRepositoryContent repo = createManagedRepositoryContent( "defaultTestRepo", "Default Test Repo", defaultRepoDir, "default" );
 
         ProjectModelReader reader = new ProjectModel400Reader();
-        BidirectionalRepositoryLayout layout = new DefaultBidirectionalRepositoryLayout();
-        ManagedRepositoryProjectResolver resolver = new ManagedRepositoryProjectResolver( repo, reader, layout );
+        ManagedRepositoryProjectResolver resolver = new ManagedRepositoryProjectResolver( repo, reader );
 
         return resolver;
     }