Author: olamy
Date: Thu Aug  2 16:23:04 2012
New Revision: 1368580

URL: http://svn.apache.org/viewvc?rev=1368580&view=rev
Log:
lot of code cleanup for dependency tree

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
    archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml
    
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/Maven3DependencyTreeBuilder.java
    
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/dependency/tree/maven2/DependencyTreeBuilderTestMaven3.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java?rev=1368580&r1=1368579&r2=1368580&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultBrowseService.java
 Thu Aug  2 16:23:04 2012
@@ -57,8 +57,6 @@ import org.apache.commons.collections.Co
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
@@ -445,15 +443,17 @@ public class DefaultBrowseService
         */
         try
         {
-            DependencyResolutionResult result =
-                maven3DependencyTreeBuilder.buildDependencyTree( 
selectedRepos, groupId, artifactId, version, treeDependencyNodeVisitor );
-            log.debug( "result: {}", result );
+
+            maven3DependencyTreeBuilder.buildDependencyTree( selectedRepos, 
groupId, artifactId, version,
+                                                             
treeDependencyNodeVisitor );
+
         }
         catch ( Exception e )
         {
             log.error( e.getMessage(), e );
         }
 
+        log.debug( "treeEntrie: {}", treeEntries );
         return treeEntries;
     }
 

Modified: archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml?rev=1368580&r1=1368579&r2=1368580&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml (original)
+++ archiva/trunk/archiva-modules/plugins/maven2-repository/pom.xml Thu Aug  2 
16:23:04 2012
@@ -75,10 +75,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
       <artifactId>maven-artifact-manager</artifactId>
     </dependency>
     <dependency>

Modified: 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/Maven3DependencyTreeBuilder.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/Maven3DependencyTreeBuilder.java?rev=1368580&r1=1368579&r2=1368580&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/Maven3DependencyTreeBuilder.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/main/java/org/apache/archiva/dependency/tree/maven2/Maven3DependencyTreeBuilder.java
 Thu Aug  2 16:23:04 2012
@@ -31,52 +31,30 @@ import org.apache.archiva.admin.model.re
 import org.apache.archiva.common.plexusbridge.PlexusSisuBridge;
 import org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException;
 import org.apache.archiva.metadata.repository.storage.RepositoryPathTranslator;
-import 
org.apache.archiva.metadata.repository.storage.maven2.RepositoryModelResolver;
 import org.apache.archiva.proxy.common.WagonFactory;
-import org.apache.maven.RepositoryUtils;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Model;
 import org.apache.maven.model.building.DefaultModelBuilderFactory;
-import org.apache.maven.model.building.DefaultModelBuildingRequest;
 import org.apache.maven.model.building.ModelBuilder;
-import org.apache.maven.model.building.ModelBuildingException;
-import org.apache.maven.model.building.ModelBuildingRequest;
-import org.apache.maven.model.resolution.UnresolvableModelException;
-import org.apache.maven.project.DefaultDependencyResolutionRequest;
-import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.DependencyResolutionException;
-import org.apache.maven.project.DependencyResolutionResult;
-import org.apache.maven.project.MavenProject;
 import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
 import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
 import org.apache.maven.repository.internal.DefaultVersionResolver;
 import org.apache.maven.repository.internal.MavenRepositorySystemSession;
-import org.codehaus.plexus.util.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonatype.aether.RepositorySystem;
 import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.RequestTrace;
-import org.sonatype.aether.artifact.ArtifactType;
-import org.sonatype.aether.artifact.ArtifactTypeRegistry;
 import org.sonatype.aether.collection.CollectRequest;
 import org.sonatype.aether.collection.CollectResult;
 import org.sonatype.aether.collection.DependencyCollectionException;
 import org.sonatype.aether.connector.file.FileRepositoryConnectorFactory;
 import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.graph.DependencyFilter;
 import org.sonatype.aether.graph.DependencyVisitor;
 import org.sonatype.aether.impl.ArtifactDescriptorReader;
 import org.sonatype.aether.impl.VersionRangeResolver;
 import org.sonatype.aether.impl.VersionResolver;
 import org.sonatype.aether.impl.internal.DefaultServiceLocator;
-import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
 import org.sonatype.aether.repository.LocalRepository;
-import org.sonatype.aether.resolution.DependencyRequest;
 import org.sonatype.aether.spi.connector.ArtifactDownload;
 import org.sonatype.aether.spi.connector.ArtifactUpload;
 import org.sonatype.aether.spi.connector.MetadataDownload;
@@ -84,12 +62,7 @@ import org.sonatype.aether.spi.connector
 import org.sonatype.aether.spi.connector.RepositoryConnector;
 import org.sonatype.aether.spi.connector.RepositoryConnectorFactory;
 import org.sonatype.aether.transfer.NoRepositoryConnectorException;
-import org.sonatype.aether.util.DefaultRepositorySystemSession;
-import org.sonatype.aether.util.DefaultRequestTrace;
-import org.sonatype.aether.util.artifact.ArtifacIdUtils;
 import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.util.artifact.JavaScopes;
-import org.sonatype.aether.version.VersionConstraint;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -98,9 +71,7 @@ import javax.inject.Named;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashMap;
-import java.util.IdentityHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -152,9 +123,8 @@ public class Maven3DependencyTreeBuilder
         builder = defaultModelBuilderFactory.newInstance();
     }
 
-    public DependencyResolutionResult buildDependencyTree( List<String> 
repositoryIds, String groupId,
-                                                           String artifactId, 
String version,
-                                                           DependencyVisitor 
dependencyVisitor )
+    public void buildDependencyTree( List<String> repositoryIds, String 
groupId, String artifactId, String version,
+                                     DependencyVisitor dependencyVisitor )
         throws Exception
     {
         Artifact projectArtifact = factory.createProjectArtifact( groupId, 
artifactId, version );
@@ -172,7 +142,7 @@ public class Maven3DependencyTreeBuilder
         if ( repository == null )
         {
             // metadata could not be resolved
-            return new DefaultDependencyResolutionResult();
+            return;
         }
 
         // MRM-1411
@@ -199,158 +169,14 @@ public class Maven3DependencyTreeBuilder
             }
         }
 
-        Model model = buildProject(
-            new RepositoryModelResolver( repository, pathTranslator, 
wagonFactory, remoteRepositories, networkProxies,
-                                         repository ), groupId, artifactId, 
version );
-
-        MavenProject project = new MavenProject( model );
-
-        DefaultRepositorySystemSession repositorySystemSession = new 
DefaultRepositorySystemSession();
-
-        // FIXME take care of relative path for getLocation
-        repositorySystemSession.setLocalRepositoryManager(
-            new SimpleLocalRepositoryManager( new File( 
repository.getLocation() ) ) );
-
-        DefaultProjectBuildingRequest projectBuildingRequest = new 
DefaultProjectBuildingRequest();
-
-        project.setProjectBuildingRequest( projectBuildingRequest );
-
-        projectBuildingRequest.setRepositorySession( repositorySystemSession );
-
-        DefaultDependencyResolutionRequest request =
-            new DefaultDependencyResolutionRequest( project, 
projectBuildingRequest.getRepositorySession() );
-
-        //DependencyFilter dependencyFilter
-        //request.setResolutionFilter(  )
-
-        //DependencyResolutionResult result = 
projectDependenciesResolver.resolve( request );
-
-        //DependencyNode dependencyNode = buildDependencyNode( null, 
result.getDependencyGraph(), projectArtifact, null );
-        /*DependencyNode dependencyNode = 
dependencyGraphBuilder.buildDependencyGraph( project, new ArtifactFilter()
-        {
-            public boolean include( Artifact artifact )
-            {
-                return true;
-            }
-        } );*/
-
-        DependencyResolutionResult resolutionResult = resolve( request );
-
-        log.debug( "dependency graph build" );
-
         // FIXME take care of relative path
-        test( repository.getLocation(), groupId, artifactId, version, 
dependencyVisitor );
+        resolve( repository.getLocation(), groupId, artifactId, version, 
dependencyVisitor );
 
-        return resolutionResult;
     }
 
-    private DependencyResolutionResult resolve( 
DefaultDependencyResolutionRequest request )
-        throws DependencyResolutionException
-    {
-
-        RequestTrace trace = DefaultRequestTrace.newChild( null, request );
-
-        DefaultDependencyResolutionResult result = new 
DefaultDependencyResolutionResult();
 
-        MavenProject project = request.getMavenProject();
-        RepositorySystemSession session = request.getRepositorySession();
-        DependencyFilter filter = request.getResolutionFilter();
-
-        ArtifactTypeRegistry stereotypes = session.getArtifactTypeRegistry();
-
-        CollectRequest collect = new CollectRequest();
-        collect.setRequestContext( "project" );
-        collect.setRepositories( project.getRemoteProjectRepositories() );
-
-        if ( project.getDependencyArtifacts() == null )
-        {
-            for ( org.apache.maven.model.Dependency dependency : 
project.getDependencies() )
-            {
-                if ( StringUtils.isEmpty( dependency.getGroupId() ) || 
StringUtils.isEmpty( dependency.getArtifactId() )
-                    || StringUtils.isEmpty( dependency.getVersion() ) )
-                {
-                    // guard against case where best-effort resolution for 
invalid models is requested
-                    continue;
-                }
-                collect.addDependency( RepositoryUtils.toDependency( 
dependency, stereotypes ) );
-            }
-        }
-        else
-        {
-            Map<String, org.apache.maven.model.Dependency> dependencies =
-                new HashMap<String, org.apache.maven.model.Dependency>();
-            for ( org.apache.maven.model.Dependency dependency : 
project.getDependencies() )
-            {
-                String classifier = dependency.getClassifier();
-                if ( classifier == null )
-                {
-                    ArtifactType type = stereotypes.get( dependency.getType() 
);
-                    if ( type != null )
-                    {
-                        classifier = type.getClassifier();
-                    }
-                }
-                String key = ArtifacIdUtils.toVersionlessId( 
dependency.getGroupId(), dependency.getArtifactId(),
-                                                             
dependency.getType(), classifier );
-                dependencies.put( key, dependency );
-            }
-            for ( Artifact artifact : project.getDependencyArtifacts() )
-            {
-                String key = artifact.getDependencyConflictId();
-                org.apache.maven.model.Dependency dependency = 
dependencies.get( key );
-                Collection<Exclusion> exclusions = dependency != null ? 
dependency.getExclusions() : null;
-                org.sonatype.aether.graph.Dependency dep = 
RepositoryUtils.toDependency( artifact, exclusions );
-                if ( !JavaScopes.SYSTEM.equals( dep.getScope() ) && 
dep.getArtifact().getFile() != null )
-                {
-                    // enable re-resolution
-                    org.sonatype.aether.artifact.Artifact art = 
dep.getArtifact();
-                    art = art.setFile( null ).setVersion( art.getBaseVersion() 
);
-                    dep = dep.setArtifact( art );
-                }
-                collect.addDependency( dep );
-            }
-        }
-
-        DependencyManagement depMngt = project.getDependencyManagement();
-        if ( depMngt != null )
-        {
-            for ( org.apache.maven.model.Dependency dependency : 
depMngt.getDependencies() )
-            {
-                collect.addManagedDependency( RepositoryUtils.toDependency( 
dependency, stereotypes ) );
-            }
-        }
-
-        collect.setRoot( new org.sonatype.aether.graph.Dependency(
-            new org.sonatype.aether.util.artifact.DefaultArtifact( 
project.getGroupId(), project.getArtifactId(), null,
-                                                                   
project.getVersion() ), "compile" ) );
-
-        DependencyRequest depRequest = new DependencyRequest( collect, filter 
);
-        depRequest.setTrace( trace );
-
-        org.sonatype.aether.graph.DependencyNode node;
-        try
-        {
-            collect.setTrace( DefaultRequestTrace.newChild( trace, depRequest 
) );
-            node = repoSystem.collectDependencies( session, collect 
).getRoot();
-            result.setDependencyGraph( node );
-        }
-        catch ( DependencyCollectionException e )
-        {
-            result.setDependencyGraph( e.getResult().getRoot() );
-            result.setCollectionErrors( e.getResult().getExceptions() );
-
-            throw new DependencyResolutionException( result,
-                                                     "Could not resolve 
dependencies for project " + project.getId()
-                                                         + ": " + 
e.getMessage(), e );
-        }
-
-        depRequest.setRoot( node );
-
-        return result;
-    }
-
-    private void test( String localRepoDir, String groupId, String artifactId, 
String version,
-                       DependencyVisitor dependencyVisitor )
+    private void resolve( String localRepoDir, String groupId, String 
artifactId, String version,
+                          DependencyVisitor dependencyVisitor )
     {
 
         RepositorySystem system = newRepositorySystem();
@@ -449,56 +275,12 @@ public class Maven3DependencyTreeBuilder
         LocalRepository localRepo = new LocalRepository( localRepoDir );
         session.setLocalRepositoryManager( system.newLocalRepositoryManager( 
localRepo ) );
 
-        //session.setTransferListener( new ConsoleTransferListener() );
-        //session.setRepositoryListener( new ConsoleRepositoryListener() );
+        //session.setTransferListener(  );
+        //session.setRepositoryListener( n );
 
         return session;
     }
 
-    private String getVersionSelectedFromRange( VersionConstraint constraint )
-    {
-        if ( ( constraint == null ) || ( constraint.getVersion() != null ) )
-        {
-            return null;
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for ( org.sonatype.aether.version.VersionRange range : 
constraint.getRanges() )
-        {
-            if ( sb.length() > 0 )
-            {
-                sb.append( ',' );
-            }
-            sb.append( range );
-        }
-
-        return sb.toString();
-    }
-
-    private Artifact getDependencyArtifact( Dependency dep )
-    {
-        org.sonatype.aether.artifact.Artifact artifact = dep.getArtifact();
-
-        return factory.createDependencyArtifact( artifact.getGroupId(), 
artifact.getArtifactId(),
-                                                 
VersionRange.createFromVersion( artifact.getVersion() ),
-                                                 artifact.getExtension(), 
artifact.getClassifier(), dep.getScope(),
-                                                 dep.isOptional() );
-    }
-
-    private Model buildProject( RepositoryModelResolver modelResolver, String 
groupId, String artifactId,
-                                String version )
-        throws ModelBuildingException, UnresolvableModelException
-    {
-        DefaultModelBuildingRequest req = new DefaultModelBuildingRequest();
-        req.setProcessPlugins( false );
-        req.setModelSource( modelResolver.resolveModel( groupId, artifactId, 
version ) );
-        req.setModelResolver( modelResolver );
-        req.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL 
);
-        //MRM-1607. olamy this will resolve jdk profiles on the current 
running archiva jvm
-        req.setSystemProperties( System.getProperties() );
-
-        return builder.build( req ).getEffectiveModel();
-    }
 
     private ManagedRepository findArtifactInRepositories( List<String> 
repositoryIds, Artifact projectArtifact )
         throws RepositoryAdminException
@@ -521,82 +303,5 @@ public class Maven3DependencyTreeBuilder
         return null;
     }
 
-    public static class DefaultDependencyResolutionResult
-        implements DependencyResolutionResult
-    {
-
-        private org.sonatype.aether.graph.DependencyNode root;
-
-        private List<Dependency> dependencies = new ArrayList<Dependency>();
-
-        private List<Dependency> resolvedDependencies = new 
ArrayList<Dependency>();
-
-        private List<Dependency> unresolvedDependencies = new 
ArrayList<Dependency>();
-
-        private List<Exception> collectionErrors = new ArrayList<Exception>();
-
-        private Map<Dependency, List<Exception>> resolutionErrors = new 
IdentityHashMap<Dependency, List<Exception>>();
-
-        public org.sonatype.aether.graph.DependencyNode getDependencyGraph()
-        {
-            return root;
-        }
-
-        public void setDependencyGraph( 
org.sonatype.aether.graph.DependencyNode root )
-        {
-            this.root = root;
-        }
-
-        public List<Dependency> getDependencies()
-        {
-            return dependencies;
-        }
-
-        public List<Dependency> getResolvedDependencies()
-        {
-            return resolvedDependencies;
-        }
-
-        public void addResolvedDependency( Dependency dependency )
-        {
-            dependencies.add( dependency );
-            resolvedDependencies.add( dependency );
-        }
-
-        public List<Dependency> getUnresolvedDependencies()
-        {
-            return unresolvedDependencies;
-        }
-
-        public List<Exception> getCollectionErrors()
-        {
-            return collectionErrors;
-        }
 
-        public void setCollectionErrors( List<Exception> exceptions )
-        {
-            if ( exceptions != null )
-            {
-                this.collectionErrors = exceptions;
-            }
-            else
-            {
-                this.collectionErrors = new ArrayList<Exception>();
-            }
-        }
-
-        public List<Exception> getResolutionErrors( Dependency dependency )
-        {
-            List<Exception> errors = resolutionErrors.get( dependency );
-            return ( errors != null ) ? errors : 
Collections.<Exception>emptyList();
-        }
-
-        public void setResolutionErrors( Dependency dependency, 
List<Exception> errors )
-        {
-            dependencies.add( dependency );
-            unresolvedDependencies.add( dependency );
-            resolutionErrors.put( dependency, errors );
-        }
-
-    }
 }

Modified: 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/dependency/tree/maven2/DependencyTreeBuilderTestMaven3.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/dependency/tree/maven2/DependencyTreeBuilderTestMaven3.java?rev=1368580&r1=1368579&r2=1368580&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/dependency/tree/maven2/DependencyTreeBuilderTestMaven3.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/maven2-repository/src/test/java/org/apache/archiva/dependency/tree/maven2/DependencyTreeBuilderTestMaven3.java
 Thu Aug  2 16:23:04 2012
@@ -25,7 +25,6 @@ import org.apache.archiva.configuration.
 import org.apache.archiva.configuration.Configuration;
 import org.apache.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
-import org.apache.maven.project.DependencyResolutionResult;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -74,6 +73,8 @@ public class DependencyTreeBuilderTestMa
     private DefaultRepositorySystem defaultRepositorySystem;
 
 
+    final Map<String, DependencyNode> nodes = new HashMap<String, 
DependencyNode>();
+
     @Inject
     @Named( value = "archivaConfiguration#test" )
     ArchivaConfiguration config;
@@ -86,8 +87,6 @@ public class DependencyTreeBuilderTestMa
 
         defaultRepositorySystem = (DefaultRepositorySystem) 
plexusSisuBridge.lookup( RepositorySystem.class );
 
-        final Map<String, DependencyNode> nodes = new HashMap<String, 
DependencyNode>();
-
         DefaultDependencyNode springContext = new DefaultDependencyNode(
             new Dependency( createArtifact( "org.springframework", 
"spring-context", "2.5.6" ), "compile" ) );
 
@@ -300,23 +299,20 @@ public class DependencyTreeBuilderTestMa
         throws Exception
     {
 
-        DependencyResolutionResult resolutionResult =
-            builder.buildDependencyTree( Collections.singletonList( 
TEST_REPO_ID ), TEST_GROUP_ID, TEST_ARTIFACT_ID,
-                                         TEST_VERSION, new DependencyVisitor()
+        builder.buildDependencyTree( Collections.singletonList( TEST_REPO_ID 
), TEST_GROUP_ID, TEST_ARTIFACT_ID,
+                                     TEST_VERSION, new DependencyVisitor()
+        {
+            public boolean visitEnter( DependencyNode dependencyNode )
             {
-                public boolean visitEnter( DependencyNode dependencyNode )
-                {
-                    return true;
-                }
+                return true;
+            }
 
-                public boolean visitLeave( DependencyNode dependencyNode )
-                {
-                    return true;
-                }
-            } );
+            public boolean visitLeave( DependencyNode dependencyNode )
+            {
+                return true;
+            }
+        } );
 
-        assertNotNull( resolutionResult );
-        assertEquals( 10, resolutionResult.getDependencies().size() );
 
     }
 }


Reply via email to