Author: rfscholte
Date: Thu Dec 24 12:21:39 2015
New Revision: 1721613

URL: http://svn.apache.org/viewvc?rev=1721613&view=rev
Log:
Artifacts and Dependencies are 2 different kinds of beasts (type vs. extension, 
versionrange vs version). Separating them should make it more clear when to use 
what.

Added:
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinate.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DependencyCoordinate.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/TransferUtils.java
    
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/
    
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinateTest.java
Modified:
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/ArtifactResolver.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/DefaultArtifactResolver.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java
    
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java
    
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinateTest.java

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/ArtifactCoordinate.java
 Thu Dec 24 12:21:39 2015
@@ -21,13 +21,10 @@ package org.apache.maven.shared.artifact
 
 /**
  * <p>
- * Contains all elements of an Maven Artifact of Dependency to resolve and 
calculate its path for either a local or
+ * Contains all required elements of a Maven Artifact to resolve and calculate 
its path for either a local or
  * remote Maven2 repository.
  * </p>
  * <p>
- * The version can be a version range. Based on the groupId and artifactId it 
will be resolved to the actual version.
- * </p>
- * <p>
  * The type will be translated to an extension based on the artifact 
descriptor ({@code pom.xml} matching the groupId,
  * artifactId and version.
  * </p>
@@ -56,7 +53,7 @@ public interface ArtifactCoordinate
     /**
      * @return The type of the artifact.
      */
-    String getType();
+    String getExtension();
 
     /**
      * @return The classifier of the artifact.

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinate.java
 Thu Dec 24 12:21:39 2015
@@ -88,7 +88,7 @@ public class DefaultArtifactCoordinate
 
     private String version;
 
-    private String type;
+    private String extension;
 
     private String classifier;
 
@@ -135,17 +135,17 @@ public class DefaultArtifactCoordinate
     }
 
     @Override
-    public final String getType()
+    public final String getExtension()
     {
-        return type != null ? type : "jar";
+        return extension != null ? extension : "jar";
     }
 
     /**
-     * @param type The type to be used.
+     * @param extension The extension to be used.
      */
-    public final void setType( String type )
+    public final void setExtension( String extension )
     {
-        this.type = type;
+        this.extension = extension;
     }
 
     @Override
@@ -169,7 +169,7 @@ public class DefaultArtifactCoordinate
     public String toString()
     {
         StringBuilder sb =
-            new StringBuilder().append( groupId ).append( ':' ).append( 
artifactId ).append( ':' ).append( getType() );
+            new StringBuilder().append( groupId ).append( ':' ).append( 
artifactId ).append( ':' ).append( getExtension() );
 
         if ( classifier != null )
         {

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/TransferUtils.java
 Thu Dec 24 12:21:39 2015
@@ -20,11 +20,9 @@ package org.apache.maven.shared.artifact
  */
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
-import org.apache.maven.project.MavenProject;
 
 /**
  * Utility class
@@ -48,30 +46,15 @@ public final class TransferUtils
         coordinate.setGroupId( artifact.getGroupId() );
         coordinate.setArtifactId( artifact.getArtifactId() );
         coordinate.setVersion( artifact.getVersion() );
-        coordinate.setType( artifact.getType() );
+        coordinate.setExtension( artifact.getArtifactHandler().getExtension() 
);
         coordinate.setClassifier( artifact.getClassifier() );
 
         return coordinate;
     }
 
     /**
-     * @param dependency {@link Dependency}
-     * @return {@link ArtifactCoordinate}
-     */
-    public static ArtifactCoordinate toArtifactCoordinate( Dependency 
dependency )
-    {
-        DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate();
-
-        coordinate.setGroupId( dependency.getGroupId() );
-        coordinate.setArtifactId( dependency.getArtifactId() );
-        coordinate.setVersion( dependency.getVersion() );
-        coordinate.setType( dependency.getType() );
-        coordinate.setClassifier( dependency.getClassifier() );
-
-        return coordinate;
-    }
-
-    /**
+     * Special case: an extension is always of type {@code jar}, so can be 
transformed to an ArtifactCoordinate.
+     * 
      * @param extension {@link Extension}
      * @return {@link ArtifactCoordinate}
      */
@@ -87,22 +70,8 @@ public final class TransferUtils
     }
 
     /**
-     * @param project {@link MavenProject}
-     * @return {@link ArtifactCoordinate}
-     */
-    public static ArtifactCoordinate toArtifactCoordinate( MavenProject 
project )
-    {
-        DefaultArtifactCoordinate coordinate = new DefaultArtifactCoordinate();
-
-        coordinate.setGroupId( project.getGroupId() );
-        coordinate.setArtifactId( project.getArtifactId() );
-        coordinate.setVersion( project.getVersion() );
-        coordinate.setType( project.getPackaging() );
-
-        return coordinate;
-    }
-
-    /**
+     * Special case: a parent is always of type {@code pom}, so can be 
transformed to an ArtifactCoordinate.
+     * 
      * @param parent {@link Parent}
      * @return {@link ArtifactCoordinate}
      */
@@ -113,12 +82,14 @@ public final class TransferUtils
         coordinate.setGroupId( parent.getGroupId() );
         coordinate.setArtifactId( parent.getArtifactId() );
         coordinate.setVersion( parent.getVersion() );
-        coordinate.setType( "pom" );
+        coordinate.setExtension( "pom" );
 
         return coordinate;
     }
 
     /**
+     * Special case: a plugin is always of type {@code jar}, so can be 
transformed to an ArtifactCoordinate.
+     * 
      * @param plugin {@link Plugin}
      * @return {@link ArtifactCoordinate}
      */
@@ -129,44 +100,7 @@ public final class TransferUtils
         coordinate.setGroupId( plugin.getGroupId() );
         coordinate.setArtifactId( plugin.getArtifactId() );
         coordinate.setVersion( plugin.getVersion() );
-        coordinate.setType( "maven-plugin" );
 
         return coordinate;
     }
-
-    /**
-     * @param artifact {@link Artifact}
-     * @return {@link Dependency}
-     */
-    public static Dependency toDependency( Artifact artifact )
-    {
-        Dependency dependency = new Dependency();
-
-        dependency.setGroupId( artifact.getGroupId() );
-        dependency.setArtifactId( artifact.getArtifactId() );
-        dependency.setVersion( artifact.getVersion() );
-        dependency.setType( artifact.getType() );
-        dependency.setClassifier( artifact.getClassifier() );
-        dependency.setScope( artifact.getScope() );
-
-        return dependency;
-    }
-
-    /**
-     * @param coordinate {@link ArtifactCoordinate}
-     * @return {@link Dependency}
-     */
-    public static Dependency toDependency( ArtifactCoordinate coordinate )
-    {
-        Dependency dependency = new Dependency();
-
-        dependency.setGroupId( coordinate.getGroupId() );
-        dependency.setArtifactId( coordinate.getArtifactId() );
-        dependency.setVersion( coordinate.getVersion() );
-        dependency.setType( coordinate.getType() );
-        dependency.setClassifier( coordinate.getClassifier() );
-
-        return dependency;
-    }
-
 }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java
 Thu Dec 24 12:21:39 2015
@@ -33,8 +33,6 @@ import org.codehaus.plexus.component.ann
 import org.sonatype.aether.RepositorySystem;
 import org.sonatype.aether.RepositorySystemSession;
 import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.artifact.ArtifactType;
-import org.sonatype.aether.artifact.ArtifactTypeRegistry;
 import org.sonatype.aether.repository.LocalRepository;
 import org.sonatype.aether.repository.LocalRepositoryManager;
 import org.sonatype.aether.util.DefaultRepositoryCache;
@@ -89,11 +87,7 @@ public class Maven30RepositoryManager
         // LRM.getPathForLocalArtifact() won't throw an Exception, so 
translate reflection error to RuntimeException
         try
         {
-            ArtifactTypeRegistry typeRegistry =
-                (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                       
ArtifactHandlerManager.class, artifactHandlerManager );
-
-            aetherArtifact = toArtifact( coordinate, typeRegistry );
+            aetherArtifact = toArtifact( coordinate );
 
             session = (RepositorySystemSession) Invoker.invoke( 
buildingRequest, "getRepositorySession" );
         }
@@ -175,18 +169,16 @@ public class Maven30RepositoryManager
      * @param typeRegistry {link ArtifactType}
      * @return {@link Artifact}
      */
-    protected Artifact toArtifact( ArtifactCoordinate coordinate, 
ArtifactTypeRegistry typeRegistry )
+    protected Artifact toArtifact( ArtifactCoordinate coordinate )
     {
         if ( coordinate == null )
         {
             return null;
         }
 
-        ArtifactType artifactType = typeRegistry.get( coordinate.getType() );
-
         Artifact result =
             new DefaultArtifact( coordinate.getGroupId(), 
coordinate.getArtifactId(), coordinate.getClassifier(),
-                                 artifactType.getExtension(), 
coordinate.getVersion(), null, artifactType );
+                                 coordinate.getExtension(), 
coordinate.getVersion() );
 
         return result;
     }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java
 Thu Dec 24 12:21:39 2015
@@ -36,7 +36,6 @@ import org.eclipse.aether.RepositorySyst
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.ArtifactType;
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
 import org.eclipse.aether.artifact.DefaultArtifact;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
@@ -87,11 +86,7 @@ public class Maven31RepositoryManager
         // LRM.getPathForLocalArtifact() won't throw an Exception, so 
translate reflection error to RuntimeException
         try
         {
-            ArtifactTypeRegistry typeRegistry =
-                (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                       
ArtifactHandlerManager.class, artifactHandlerManager );
-
-            aetherArtifact = toArtifact( coordinate, typeRegistry );
+            aetherArtifact = toArtifact( coordinate );
 
             session = (RepositorySystemSession) Invoker.invoke( 
buildingRequest, "getRepositorySession" );
         }
@@ -184,18 +179,16 @@ public class Maven31RepositoryManager
      * @param typeRegistry {@link ArtifactType}
      * @return {@link Artifact}
      */
-    protected Artifact toArtifact( ArtifactCoordinate coordinate, 
ArtifactTypeRegistry typeRegistry )
+    protected Artifact toArtifact( ArtifactCoordinate coordinate )
     {
         if ( coordinate == null )
         {
             return null;
         }
 
-        ArtifactType artifactType = typeRegistry.get( coordinate.getType() );
-
         Artifact result =
             new DefaultArtifact( coordinate.getGroupId(), 
coordinate.getArtifactId(), coordinate.getClassifier(),
-                                 artifactType.getExtension(), 
coordinate.getVersion(), null, artifactType );
+                                 coordinate.getExtension(), 
coordinate.getVersion() );
 
         return result;
     }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/ArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/ArtifactResolver.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/ArtifactResolver.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/ArtifactResolver.java
 Thu Dec 24 12:21:39 2015
@@ -51,33 +51,33 @@ public interface ArtifactResolver
     ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, 
ArtifactCoordinate coordinate )
         throws ArtifactResolverException;
 
-    /**
-     * This will resolve the dependencies of the coordinate, not resolving the 
the artifact of the coordinate itself. If
-     * the coordinate needs to be resolved too, use
-     * {@link #resolveDependencies(ProjectBuildingRequest, Collection, 
Collection, TransformableFilter)} passing
-     * {@code Collections.singletonList(coordinate)}
-     * 
-     * @param buildingRequest {@link ProjectBuildingRequest}
-     * @param coordinate {@link ArtifactCoordinate}
-     * @param filter {@link TransformableFilter}
-     * @return the resolved dependencies.
-     * @throws ArtifactResolverException in case of an error.
-     */
-    Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest 
buildingRequest, ArtifactCoordinate coordinate,
-                                                  TransformableFilter filter )
-                                                      throws 
ArtifactResolverException;
-
-    /**
-     * @param buildingRequest the project building request, never {@code null}
-     * @param dependencies the dependencies to resolve, never {@code null}
-     * @param managedDependencies managed dependencies, can be {@code null}
-     * @param filter a filter, can be {@code null}
-     * @return the resolved dependencies.
-     * @throws ArtifactResolverException in case of an error.
-     */
-    Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest 
buildingRequest,
-                                                  Collection<Dependency> 
dependencies,
-                                                  Collection<Dependency> 
managedDependencies,
-                                                  TransformableFilter filter )
-                                                      throws 
ArtifactResolverException;
+//    /**
+//     * This will resolve the dependencies of the coordinate, not resolving 
the the artifact of the coordinate itself. If
+//     * the coordinate needs to be resolved too, use
+//     * {@link #resolveDependencies(ProjectBuildingRequest, Collection, 
Collection, TransformableFilter)} passing
+//     * {@code Collections.singletonList(coordinate)}
+//     * 
+//     * @param buildingRequest {@link ProjectBuildingRequest}
+//     * @param coordinate {@link ArtifactCoordinate}
+//     * @param filter {@link TransformableFilter}
+//     * @return the resolved dependencies.
+//     * @throws ArtifactResolverException in case of an error.
+//     */
+//    Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest 
buildingRequest, ArtifactCoordinate coordinate,
+//                                                  TransformableFilter filter 
)
+//                                                      throws 
ArtifactResolverException;
+//
+//    /**
+//     * @param buildingRequest the project building request, never {@code 
null}
+//     * @param dependencies the dependencies to resolve, never {@code null}
+//     * @param managedDependencies managed dependencies, can be {@code null}
+//     * @param filter a filter, can be {@code null}
+//     * @return the resolved dependencies.
+//     * @throws ArtifactResolverException in case of an error.
+//     */
+//    Iterable<ArtifactResult> resolveDependencies( ProjectBuildingRequest 
buildingRequest,
+//                                                  Collection<Dependency> 
dependencies,
+//                                                  Collection<Dependency> 
managedDependencies,
+//                                                  TransformableFilter filter 
)
+//                                                      throws 
ArtifactResolverException;
 }

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/DefaultArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/DefaultArtifactResolver.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/DefaultArtifactResolver.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/DefaultArtifactResolver.java
 Thu Dec 24 12:21:39 2015
@@ -82,45 +82,45 @@ public class DefaultArtifactResolver
         }
     }
 
-    @Override
-    public Iterable<ArtifactResult> resolveDependencies( 
ProjectBuildingRequest buildingRequest,
-                                                         
Collection<Dependency> coordinates,
-                                                         
Collection<Dependency> managedDependencies,
-                                                         TransformableFilter 
filter )
-                                                             throws 
ArtifactResolverException
-    {
-        try
-        {
-            String hint = isMaven31() ? "maven31" : "maven3";
-
-            ArtifactResolver effectiveArtifactResolver = container.lookup( 
ArtifactResolver.class, hint );
-
-            return effectiveArtifactResolver.resolveDependencies( 
buildingRequest, coordinates, null, filter );
-        }
-        catch ( ComponentLookupException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-    }
-
-    @Override
-    public Iterable<ArtifactResult> resolveDependencies( 
ProjectBuildingRequest buildingRequest,
-                                                         ArtifactCoordinate 
coordinate, TransformableFilter filter )
-                                                             throws 
ArtifactResolverException
-    {
-        try
-        {
-            String hint = isMaven31() ? "maven31" : "maven3";
-
-            ArtifactResolver effectiveArtifactResolver = container.lookup( 
ArtifactResolver.class, hint );
-
-            return effectiveArtifactResolver.resolveDependencies( 
buildingRequest, coordinate, filter );
-        }
-        catch ( ComponentLookupException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-    }
+//    @Override
+//    public Iterable<ArtifactResult> resolveDependencies( 
ProjectBuildingRequest buildingRequest,
+//                                                         
Collection<Dependency> coordinates,
+//                                                         
Collection<Dependency> managedDependencies,
+//                                                         TransformableFilter 
filter )
+//                                                             throws 
ArtifactResolverException
+//    {
+//        try
+//        {
+//            String hint = isMaven31() ? "maven31" : "maven3";
+//
+//            ArtifactResolver effectiveArtifactResolver = container.lookup( 
ArtifactResolver.class, hint );
+//
+//            return effectiveArtifactResolver.resolveDependencies( 
buildingRequest, coordinates, null, filter );
+//        }
+//        catch ( ComponentLookupException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//    }
+//
+//    @Override
+//    public Iterable<ArtifactResult> resolveDependencies( 
ProjectBuildingRequest buildingRequest,
+//                                                         ArtifactCoordinate 
coordinate, TransformableFilter filter )
+//                                                             throws 
ArtifactResolverException
+//    {
+//        try
+//        {
+//            String hint = isMaven31() ? "maven31" : "maven3";
+//
+//            ArtifactResolver effectiveArtifactResolver = container.lookup( 
ArtifactResolver.class, hint );
+//
+//            return effectiveArtifactResolver.resolveDependencies( 
buildingRequest, coordinate, filter );
+//        }
+//        catch ( ComponentLookupException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//    }
 
     /**
      * @return true if the current Maven version is Maven 3.1.

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java
 Thu Dec 24 12:21:39 2015
@@ -132,141 +132,141 @@ public class Maven30ArtifactResolver
         }
     }
 
-    @Override
-    // CHECKSTYLE_OFF: LineLength
-    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                   ArtifactCoordinate coordinate,
-                                                                               
                   TransformableFilter dependencyFilter )
-                                                                               
                       // CHECKSTYLE_ON:
-                                                                               
                       // LineLength
-                                                                               
                       throws ArtifactResolverException
-    {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
-
-        Dependency aetherRoot = toDependency( coordinate, typeRegistry );
-
-        @SuppressWarnings( "unchecked" )
-        List<RemoteRepository> aetherRepositories =
-            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
-                                                     
buildingRequest.getRemoteRepositories() );
-
-        CollectRequest request = new CollectRequest( aetherRoot, 
aetherRepositories );
-
-        return resolveDependencies( buildingRequest, aetherRepositories, 
dependencyFilter, request );
-    }
-
-    @Override
-    // CHECKSTYLE_OFF: LineLength
-    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                   Collection<org.apache.maven.model.Dependency> 
mavenDependencies,
-                                                                               
                   Collection<org.apache.maven.model.Dependency> 
managedMavenDependencies,
-                                                                               
                   TransformableFilter filter )
-                                                                               
                       // CHECKSTYLE_ON:
-                                                                               
                       // LineLength
-                                                                               
                       throws ArtifactResolverException
-    {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
-
-        List<Dependency> aetherDependencies = new ArrayList<Dependency>( 
mavenDependencies.size() );
-
-        final Class<?>[] argClasses =
-            new Class<?>[] { org.apache.maven.model.Dependency.class, 
ArtifactTypeRegistry.class };
-
-        for ( org.apache.maven.model.Dependency mavenDependency : 
mavenDependencies )
-        {
-            Object[] args = new Object[] { mavenDependency, typeRegistry };
-
-            Dependency aetherDependency =
-                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
-
-            aetherDependencies.add( aetherDependency );
-        }
-
-        List<Dependency> aetherManagedDependencies = new 
ArrayList<Dependency>( managedMavenDependencies.size() );
-
-        for ( org.apache.maven.model.Dependency mavenDependency : 
managedMavenDependencies )
-        {
-            Object[] args = new Object[] { mavenDependency, typeRegistry };
-
-            Dependency aetherDependency =
-                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
-
-            aetherManagedDependencies.add( aetherDependency );
-        }
-
-        @SuppressWarnings( "unchecked" )
-        List<RemoteRepository> aetherRepositories =
-            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
-                                                     
buildingRequest.getRemoteRepositories() );
-
-        CollectRequest request =
-            new CollectRequest( aetherDependencies, aetherManagedDependencies, 
aetherRepositories );
-
-        return resolveDependencies( buildingRequest, aetherRepositories, 
filter, request );
-    }
-
-    // CHECKSTYLE_OFF: LineLength
-    private Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                    List<RemoteRepository> aetherRepositories,
-                                                                               
                    TransformableFilter dependencyFilter,
-                                                                               
                    CollectRequest request )
-                                                                               
                        throws ArtifactResolverException
-    // CHECKSTYLE_ON :LineLength
-    {
-        try
-        {
-            DependencyFilter depFilter = null;
-            if ( dependencyFilter != null )
-            {
-                depFilter = dependencyFilter.transform( new 
SonatypeAetherFilterTransformer() );
-            }
-
-            RepositorySystemSession session =
-                (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
-
-            List<ArtifactResult> dependencyResults =
-                repositorySystem.resolveDependencies( session, request, 
depFilter );
-
-            Collection<ArtifactRequest> artifactRequests = new 
ArrayList<ArtifactRequest>( dependencyResults.size() );
-
-            for ( ArtifactResult artifactResult : dependencyResults )
-            {
-                artifactRequests.add( new ArtifactRequest( 
artifactResult.getArtifact(), aetherRepositories, null ) );
-            }
-
-            final List<ArtifactResult> artifactResults = 
repositorySystem.resolveArtifacts( session, artifactRequests );
-
-            // Keep it lazy! Often artifactsResults aren't used, so 
transforming up front is too expensive
-            return new 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult>()
-            {
-                @Override
-                public 
Iterator<org.apache.maven.shared.artifact.resolve.ArtifactResult> iterator()
-                {
-                    
Collection<org.apache.maven.shared.artifact.resolve.ArtifactResult> artResults =
-                        new 
ArrayList<org.apache.maven.shared.artifact.resolve.ArtifactResult>( 
artifactResults.size() );
-
-                    for ( ArtifactResult artifactResult : artifactResults )
-                    {
-                        artResults.add( new Maven30ArtifactResult( 
artifactResult ) );
-                    }
-
-                    return artResults.iterator();
-                }
-            };
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-        catch ( DependencyCollectionException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-    }
+//    @Override
+//    // CHECKSTYLE_OFF: LineLength
+//    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                     ArtifactCoordinate coordinate,
+//                                                                             
                     TransformableFilter dependencyFilter )
+//                                                                             
                         // CHECKSTYLE_ON:
+//                                                                             
                         // LineLength
+//                                                                             
                         throws ArtifactResolverException
+//    {
+//        ArtifactTypeRegistry typeRegistry =
+//            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
+//                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
+//
+//        Dependency aetherRoot = toDependency( coordinate, typeRegistry );
+//
+//        @SuppressWarnings( "unchecked" )
+//        List<RemoteRepository> aetherRepositories =
+//            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
+//                                                     
buildingRequest.getRemoteRepositories() );
+//
+//        CollectRequest request = new CollectRequest( aetherRoot, 
aetherRepositories );
+//
+//        return resolveDependencies( buildingRequest, aetherRepositories, 
dependencyFilter, request );
+//    }
+//
+//    @Override
+//    // CHECKSTYLE_OFF: LineLength
+//    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                     Collection<org.apache.maven.model.Dependency> 
mavenDependencies,
+//                                                                             
                     Collection<org.apache.maven.model.Dependency> 
managedMavenDependencies,
+//                                                                             
                     TransformableFilter filter )
+//                                                                             
                         // CHECKSTYLE_ON:
+//                                                                             
                         // LineLength
+//                                                                             
                         throws ArtifactResolverException
+//    {
+//        ArtifactTypeRegistry typeRegistry =
+//            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
+//                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
+//
+//        List<Dependency> aetherDependencies = new ArrayList<Dependency>( 
mavenDependencies.size() );
+//
+//        final Class<?>[] argClasses =
+//            new Class<?>[] { org.apache.maven.model.Dependency.class, 
ArtifactTypeRegistry.class };
+//
+//        for ( org.apache.maven.model.Dependency mavenDependency : 
mavenDependencies )
+//        {
+//            Object[] args = new Object[] { mavenDependency, typeRegistry };
+//
+//            Dependency aetherDependency =
+//                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
+//
+//            aetherDependencies.add( aetherDependency );
+//        }
+//
+//        List<Dependency> aetherManagedDependencies = new 
ArrayList<Dependency>( managedMavenDependencies.size() );
+//
+//        for ( org.apache.maven.model.Dependency mavenDependency : 
managedMavenDependencies )
+//        {
+//            Object[] args = new Object[] { mavenDependency, typeRegistry };
+//
+//            Dependency aetherDependency =
+//                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
+//
+//            aetherManagedDependencies.add( aetherDependency );
+//        }
+//
+//        @SuppressWarnings( "unchecked" )
+//        List<RemoteRepository> aetherRepositories =
+//            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
+//                                                     
buildingRequest.getRemoteRepositories() );
+//
+//        CollectRequest request =
+//            new CollectRequest( aetherDependencies, 
aetherManagedDependencies, aetherRepositories );
+//
+//        return resolveDependencies( buildingRequest, aetherRepositories, 
filter, request );
+//    }
+
+//    // CHECKSTYLE_OFF: LineLength
+//    private 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                      List<RemoteRepository> aetherRepositories,
+//                                                                             
                      TransformableFilter dependencyFilter,
+//                                                                             
                      CollectRequest request )
+//                                                                             
                          throws ArtifactResolverException
+//    // CHECKSTYLE_ON :LineLength
+//    {
+//        try
+//        {
+//            DependencyFilter depFilter = null;
+//            if ( dependencyFilter != null )
+//            {
+//                depFilter = dependencyFilter.transform( new 
SonatypeAetherFilterTransformer() );
+//            }
+//
+//            RepositorySystemSession session =
+//                (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
+//
+//            List<ArtifactResult> dependencyResults =
+//                repositorySystem.resolveDependencies( session, request, 
depFilter );
+//
+//            Collection<ArtifactRequest> artifactRequests = new 
ArrayList<ArtifactRequest>( dependencyResults.size() );
+//
+//            for ( ArtifactResult artifactResult : dependencyResults )
+//            {
+//                artifactRequests.add( new ArtifactRequest( 
artifactResult.getArtifact(), aetherRepositories, null ) );
+//            }
+//
+//            final List<ArtifactResult> artifactResults = 
repositorySystem.resolveArtifacts( session, artifactRequests );
+//
+//            // Keep it lazy! Often artifactsResults aren't used, so 
transforming up front is too expensive
+//            return new 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult>()
+//            {
+//                @Override
+//                public 
Iterator<org.apache.maven.shared.artifact.resolve.ArtifactResult> iterator()
+//                {
+//                    
Collection<org.apache.maven.shared.artifact.resolve.ArtifactResult> artResults =
+//                        new 
ArrayList<org.apache.maven.shared.artifact.resolve.ArtifactResult>( 
artifactResults.size() );
+//
+//                    for ( ArtifactResult artifactResult : artifactResults )
+//                    {
+//                        artResults.add( new Maven30ArtifactResult( 
artifactResult ) );
+//                    }
+//
+//                    return artResults.iterator();
+//                }
+//            };
+//        }
+//        catch ( ArtifactResolutionException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//        catch ( DependencyCollectionException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//    }
 
     /**
      * Based on 
RepositoryUtils#toDependency(org.apache.maven.model.Dependency, 
ArtifactTypeRegistry)
@@ -277,10 +277,10 @@ public class Maven30ArtifactResolver
      */
     private static Dependency toDependency( ArtifactCoordinate coordinate, 
ArtifactTypeRegistry stereotypes )
     {
-        ArtifactType stereotype = stereotypes.get( coordinate.getType() );
+        ArtifactType stereotype = stereotypes.get( coordinate.getExtension() );
         if ( stereotype == null )
         {
-            stereotype = new DefaultArtifactType( coordinate.getType() );
+            stereotype = new DefaultArtifactType( coordinate.getExtension() );
         }
 
         Artifact artifact =

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java
 Thu Dec 24 12:21:39 2015
@@ -134,142 +134,142 @@ public class Maven31ArtifactResolver
         }
     }
 
-    @Override
-    // CHECKSTYLE_OFF: LineLength
-    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                   ArtifactCoordinate coordinate,
-                                                                               
                   TransformableFilter dependencyFilter )
-                                                                               
                       throws ArtifactResolverException
-    // CHECKSTYLE_ON: LineLength
-    {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
-
-        Dependency aetherRoot = toDependency( coordinate, typeRegistry );
-
-        @SuppressWarnings( "unchecked" )
-        List<RemoteRepository> aetherRepositories =
-            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
-                                                     
buildingRequest.getRemoteRepositories() );
-
-        CollectRequest request = new CollectRequest( aetherRoot, 
aetherRepositories );
-
-        return resolveDependencies( buildingRequest, aetherRepositories, 
dependencyFilter, request );
-    }
-
-    @Override
-    // CHECKSTYLE_OFF: LineLength
-    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                   Collection<org.apache.maven.model.Dependency> 
mavenDependencies,
-                                                                               
                   Collection<org.apache.maven.model.Dependency> 
managedMavenDependencies,
-                                                                               
                   TransformableFilter filter )
-                                                                               
                       throws ArtifactResolverException
-    // CHECKSTYLE_ON: LineLength
-    {
-        ArtifactTypeRegistry typeRegistry =
-            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
-                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
-
-        List<Dependency> aetherDeps = new ArrayList<Dependency>( 
mavenDependencies.size() );
-
-        final Class<?>[] argClasses =
-            new Class<?>[] { org.apache.maven.model.Dependency.class, 
ArtifactTypeRegistry.class };
-
-        for ( org.apache.maven.model.Dependency mavenDependency : 
mavenDependencies )
-        {
-            Object[] args = new Object[] { mavenDependency, typeRegistry };
-
-            Dependency aetherDependency =
-                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
-
-            aetherDeps.add( aetherDependency );
-        }
-
-        List<Dependency> aetherManagedDeps = new ArrayList<Dependency>( 
managedMavenDependencies.size() );
-
-        for ( org.apache.maven.model.Dependency mavenDependency : 
managedMavenDependencies )
-        {
-            Object[] args = new Object[] { mavenDependency, typeRegistry };
-
-            Dependency aetherDependency =
-                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
-
-            aetherManagedDeps.add( aetherDependency );
-        }
-
-        @SuppressWarnings( "unchecked" )
-        List<RemoteRepository> aetherRepos =
-            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
-                                                     
buildingRequest.getRemoteRepositories() );
-
-        CollectRequest request = new CollectRequest( aetherDeps, 
aetherManagedDeps, aetherRepos );
-
-        return resolveDependencies( buildingRequest, aetherRepos, filter, 
request );
-    }
-
-    // CHECKSTYLE_OFF: LineLength
-    private Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
-                                                                               
                    List<RemoteRepository> aetherRepositories,
-                                                                               
                    TransformableFilter dependencyFilter,
-                                                                               
                    CollectRequest request )
-                                                                               
                        throws ArtifactResolverException
-    // CHECKSTYLE_ON: LineLength
-    {
-        try
-        {
-            DependencyFilter depFilter = null;
-            if ( dependencyFilter != null )
-            {
-                depFilter = dependencyFilter.transform( new 
EclipseAetherFilterTransformer() );
-            }
-
-            DependencyRequest depRequest = new DependencyRequest( request, 
depFilter );
-
-            RepositorySystemSession session =
-                (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
-
-            DependencyResult dependencyResults = 
repositorySystem.resolveDependencies( session, depRequest );
-
-            Collection<ArtifactRequest> artifactRequests =
-                new ArrayList<ArtifactRequest>( 
dependencyResults.getArtifactResults().size() );
-
-            for ( ArtifactResult artifactResult : 
dependencyResults.getArtifactResults() )
-            {
-                artifactRequests.add( new ArtifactRequest( 
artifactResult.getArtifact(), aetherRepositories, null ) );
-            }
-
-            final List<ArtifactResult> artifactResults = 
repositorySystem.resolveArtifacts( session, artifactRequests );
-
-            // Keep it lazy! Often artifactsResults aren't used, so 
transforming up front is too expensive
-            return new 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult>()
-            {
-                @Override
-                public 
Iterator<org.apache.maven.shared.artifact.resolve.ArtifactResult> iterator()
-                {
-                    // CHECKSTYLE_OFF: LineLength
-                    
Collection<org.apache.maven.shared.artifact.resolve.ArtifactResult> artResults =
-                        new 
ArrayList<org.apache.maven.shared.artifact.resolve.ArtifactResult>( 
artifactResults.size() );
-                    // CHECKSTYLE_ON: LineLength
-
-                    for ( ArtifactResult artifactResult : artifactResults )
-                    {
-                        artResults.add( new Maven31ArtifactResult( 
artifactResult ) );
-                    }
-
-                    return artResults.iterator();
-                }
-            };
-        }
-        catch ( ArtifactResolutionException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-        catch ( DependencyResolutionException e )
-        {
-            throw new ArtifactResolverException( e.getMessage(), e );
-        }
-    }
+//    @Override
+//    // CHECKSTYLE_OFF: LineLength
+//    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                     ArtifactCoordinate coordinate,
+//                                                                             
                     TransformableFilter dependencyFilter )
+//                                                                             
                         throws ArtifactResolverException
+//    // CHECKSTYLE_ON: LineLength
+//    {
+//        ArtifactTypeRegistry typeRegistry =
+//            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
+//                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
+//
+//        Dependency aetherRoot = toDependency( coordinate, typeRegistry );
+//
+//        @SuppressWarnings( "unchecked" )
+//        List<RemoteRepository> aetherRepositories =
+//            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
+//                                                     
buildingRequest.getRemoteRepositories() );
+//
+//        CollectRequest request = new CollectRequest( aetherRoot, 
aetherRepositories );
+//
+//        return resolveDependencies( buildingRequest, aetherRepositories, 
dependencyFilter, request );
+//    }
+//
+//    @Override
+//    // CHECKSTYLE_OFF: LineLength
+//    public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                     Collection<org.apache.maven.model.Dependency> 
mavenDependencies,
+//                                                                             
                     Collection<org.apache.maven.model.Dependency> 
managedMavenDependencies,
+//                                                                             
                     TransformableFilter filter )
+//                                                                             
                         throws ArtifactResolverException
+//    // CHECKSTYLE_ON: LineLength
+//    {
+//        ArtifactTypeRegistry typeRegistry =
+//            (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, 
"newArtifactTypeRegistry",
+//                                                   
ArtifactHandlerManager.class, artifactHandlerManager );
+//
+//        List<Dependency> aetherDeps = new ArrayList<Dependency>( 
mavenDependencies.size() );
+//
+//        final Class<?>[] argClasses =
+//            new Class<?>[] { org.apache.maven.model.Dependency.class, 
ArtifactTypeRegistry.class };
+//
+//        for ( org.apache.maven.model.Dependency mavenDependency : 
mavenDependencies )
+//        {
+//            Object[] args = new Object[] { mavenDependency, typeRegistry };
+//
+//            Dependency aetherDependency =
+//                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
+//
+//            aetherDeps.add( aetherDependency );
+//        }
+//
+//        List<Dependency> aetherManagedDeps = new ArrayList<Dependency>( 
managedMavenDependencies.size() );
+//
+//        for ( org.apache.maven.model.Dependency mavenDependency : 
managedMavenDependencies )
+//        {
+//            Object[] args = new Object[] { mavenDependency, typeRegistry };
+//
+//            Dependency aetherDependency =
+//                (Dependency) Invoker.invoke( RepositoryUtils.class, 
"toDependency", argClasses, args );
+//
+//            aetherManagedDeps.add( aetherDependency );
+//        }
+//
+//        @SuppressWarnings( "unchecked" )
+//        List<RemoteRepository> aetherRepos =
+//            (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, 
"toRepos", List.class,
+//                                                     
buildingRequest.getRemoteRepositories() );
+//
+//        CollectRequest request = new CollectRequest( aetherDeps, 
aetherManagedDeps, aetherRepos );
+//
+//        return resolveDependencies( buildingRequest, aetherRepos, filter, 
request );
+//    }
+
+//    // CHECKSTYLE_OFF: LineLength
+//    private 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> 
resolveDependencies( ProjectBuildingRequest buildingRequest,
+//                                                                             
                      List<RemoteRepository> aetherRepositories,
+//                                                                             
                      TransformableFilter dependencyFilter,
+//                                                                             
                      CollectRequest request )
+//                                                                             
                          throws ArtifactResolverException
+//    // CHECKSTYLE_ON: LineLength
+//    {
+//        try
+//        {
+//            DependencyFilter depFilter = null;
+//            if ( dependencyFilter != null )
+//            {
+//                depFilter = dependencyFilter.transform( new 
EclipseAetherFilterTransformer() );
+//            }
+//
+//            DependencyRequest depRequest = new DependencyRequest( request, 
depFilter );
+//
+//            RepositorySystemSession session =
+//                (RepositorySystemSession) Invoker.invoke( buildingRequest, 
"getRepositorySession" );
+//
+//            DependencyResult dependencyResults = 
repositorySystem.resolveDependencies( session, depRequest );
+//
+//            Collection<ArtifactRequest> artifactRequests =
+//                new ArrayList<ArtifactRequest>( 
dependencyResults.getArtifactResults().size() );
+//
+//            for ( ArtifactResult artifactResult : 
dependencyResults.getArtifactResults() )
+//            {
+//                artifactRequests.add( new ArtifactRequest( 
artifactResult.getArtifact(), aetherRepositories, null ) );
+//            }
+//
+//            final List<ArtifactResult> artifactResults = 
repositorySystem.resolveArtifacts( session, artifactRequests );
+//
+//            // Keep it lazy! Often artifactsResults aren't used, so 
transforming up front is too expensive
+//            return new 
Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult>()
+//            {
+//                @Override
+//                public 
Iterator<org.apache.maven.shared.artifact.resolve.ArtifactResult> iterator()
+//                {
+//                    // CHECKSTYLE_OFF: LineLength
+//                    
Collection<org.apache.maven.shared.artifact.resolve.ArtifactResult> artResults =
+//                        new 
ArrayList<org.apache.maven.shared.artifact.resolve.ArtifactResult>( 
artifactResults.size() );
+//                    // CHECKSTYLE_ON: LineLength
+//
+//                    for ( ArtifactResult artifactResult : artifactResults )
+//                    {
+//                        artResults.add( new Maven31ArtifactResult( 
artifactResult ) );
+//                    }
+//
+//                    return artResults.iterator();
+//                }
+//            };
+//        }
+//        catch ( ArtifactResolutionException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//        catch ( DependencyResolutionException e )
+//        {
+//            throw new ArtifactResolverException( e.getMessage(), e );
+//        }
+//    }
 
     /**
      * Based on 
RepositoryUtils#toDependency(org.apache.maven.model.Dependency, 
ArtifactTypeRegistry)
@@ -280,10 +280,10 @@ public class Maven31ArtifactResolver
      */
     private static Dependency toDependency( ArtifactCoordinate coordinate, 
ArtifactTypeRegistry stereotypes )
     {
-        ArtifactType stereotype = stereotypes.get( coordinate.getType() );
+        ArtifactType stereotype = stereotypes.get( coordinate.getExtension() );
         if ( stereotype == null )
         {
-            stereotype = new DefaultArtifactType( coordinate.getType() );
+            stereotype = new DefaultArtifactType( coordinate.getExtension() );
         }
 
         Artifact artifact =

Added: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinate.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinate.java?rev=1721613&view=auto
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinate.java
 (added)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinate.java
 Thu Dec 24 12:21:39 2015
@@ -0,0 +1,168 @@
+package org.apache.maven.shared.dependency;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Common usage of an DependencyCoordinate for a Mojo
+ * 
+ * <pre>
+ * &#64;Parameter
+ * private DefaultDependencyCoordinate[] dependencies;
+ * </pre>
+ * 
+ * and
+ * 
+ * <pre>
+ * private DefaultDependencyCoordinate dependency = new 
DefaultDependencyCoordinate();
+ * 
+ * &#64;Parameter( property = "groupId" )
+ * private String groupId;
+ * 
+ * &#64;Parameter( property = "artifactId" )
+ * private String artifactId;
+ * 
+ * &#64;Parameter( property = "version" )
+ * private String version;
+ * 
+ * &#64;Parameter( property = "classifier" )
+ * private String classifier;
+ * 
+ * &#64;Parameter( property = "type" )
+ * private String type;
+ * 
+ * public void setGroupId( String groupId )
+ * {
+ *   this.dependency.setGroupId( groupId );
+ * }
+ * 
+ * public void setArtifactId( String artifactId )
+ * {
+ *   this.dependency.setArtifactId( artifactId );
+ * }
+ * 
+ * public void setVersion( String version )
+ * {
+ *   this.dependency.setVersion( version );
+ * }
+ * 
+ * public void setClassifier( String classifier )
+ * {
+ *   this.dependency.setClassifier( classifier );
+ * }
+ * 
+ * public void setType( String type )
+ * {
+ *   this.dependency.setType( type );
+ * }
+ * </pre>
+ * <strong>Note: </strong> type is not the same as extension! 
+ * {@link org.apache.maven.artifact.handler.ArtifactHandler}s are used to map 
a type to an extension.  
+ * 
+ * 
+ * @author Robert Scholte
+ * @since 3.0
+ */
+public class DefaultDependencyCoordinate implements DependencyCoordinate
+{
+    private String groupId;
+    
+    private String artifactId;
+    
+    private String version;
+    
+    private String type;
+    
+    private String classifier;
+    
+    @Override
+    public final String getGroupId()
+    {
+        return groupId;
+    }
+
+    public final void setGroupId( String groupId )
+    {
+        this.groupId = groupId;
+    }
+
+    @Override
+    public final String getArtifactId()
+    {
+        return artifactId;
+    }
+
+    public final void setArtifactId( String artifactId )
+    {
+        this.artifactId = artifactId;
+    }
+
+    @Override
+    public final String getVersion()
+    {
+        return version;
+    }
+
+    public final void setVersion( String version )
+    {
+        this.version = version;
+    }
+
+    @Override
+    public final String getType()
+    {
+        return type != null ? type : "jar";
+    }
+
+    public void setType( String type )
+    {
+        this.type = type;
+    }
+    
+    @Override
+    public final String getClassifier()
+    {
+        return classifier;
+    }
+
+    public final void setClassifier( String classifier )
+    {
+        this.classifier = classifier;
+    }
+    
+    /**
+     * @see org.apache.maven.artifact.DefaultArtifact#toString()
+     */
+    @Override
+    public String toString()
+    {
+        StringBuilder sb =
+            new StringBuilder().append( groupId ).append( ':' ).append( 
artifactId ).append( ':' ).append( getType() );
+        
+        if ( classifier != null )
+        {
+            sb.append( ':' ).append( classifier );
+        }
+        
+        sb.append( ':' ).append( version );
+        
+        return sb.toString();
+    }
+    
+}

Added: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DependencyCoordinate.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DependencyCoordinate.java?rev=1721613&view=auto
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DependencyCoordinate.java
 (added)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/DependencyCoordinate.java
 Thu Dec 24 12:21:39 2015
@@ -0,0 +1,53 @@
+package org.apache.maven.shared.dependency;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * <p>
+ * Contains all required elements of a Maven Dependency to resolve and 
calculate its path for either a local or
+ * remote Maven2 repository.
+ * </p>
+ * <p>
+ * The version can be a version range. Based on the groupId and artifactId it 
will be resolved to the actual version.
+ * </p>
+ * <p>
+ * The type will be translated to an extension based on the artifact 
descriptor ({@code pom.xml} matching the groupId,
+ * artifactId and version.
+ * </p>
+ * 
+ * @author Robert Scholte
+ */
+public interface DependencyCoordinate
+{
+    String getGroupId();
+
+    String getArtifactId();
+
+    /**
+     * A version or versionRange
+     * 
+     * @return
+     */
+    String getVersion();
+
+    String getType();
+
+    String getClassifier();
+}
\ No newline at end of file

Added: 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/TransferUtils.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/TransferUtils.java?rev=1721613&view=auto
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/TransferUtils.java
 (added)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/main/java/org/apache/maven/shared/dependency/TransferUtils.java
 Thu Dec 24 12:21:39 2015
@@ -0,0 +1,111 @@
+package org.apache.maven.shared.dependency;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Extension;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * Utility class
+ * 
+ * @author Robert Scholte
+ *
+ */
+public final class TransferUtils
+{
+    private TransferUtils()
+    {
+    }
+    
+    public static DependencyCoordinate toDependencyCoordinate( Dependency 
dependency )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( dependency.getGroupId() );
+        coordinate.setArtifactId( dependency.getArtifactId() );
+        coordinate.setVersion( dependency.getVersion() );
+        coordinate.setType( dependency.getType() );
+        coordinate.setClassifier( dependency.getClassifier() );
+        
+        return coordinate;
+    }
+
+    public static DependencyCoordinate toDependencyCoordinate( Extension 
extension )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( extension.getGroupId() );
+        coordinate.setArtifactId( extension.getArtifactId() );
+        coordinate.setVersion( extension.getVersion() );
+        
+        return coordinate;
+    }
+
+    public static DependencyCoordinate toDependencyCoordinate( MavenProject 
project )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( project.getGroupId() );
+        coordinate.setArtifactId( project.getArtifactId() );
+        coordinate.setVersion( project.getVersion() );
+        coordinate.setType( project.getPackaging() );
+        
+        return coordinate;
+    }
+
+    public static DependencyCoordinate toDependencyCoordinate( Model model )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( model.getGroupId() );
+        coordinate.setArtifactId( model.getArtifactId() );
+        coordinate.setVersion( model.getVersion() );
+        coordinate.setType( model.getPackaging() );
+        
+        return coordinate;
+    }
+
+    public static DependencyCoordinate toDependencyCoordinate( Parent parent )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( parent.getGroupId() );
+        coordinate.setArtifactId( parent.getArtifactId() );
+        coordinate.setVersion( parent.getVersion() );
+        coordinate.setType( "pom" );
+        
+        return coordinate;
+    }
+
+    public static DependencyCoordinate toDependencyCoordinate( Plugin plugin )
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        
+        coordinate.setGroupId( plugin.getGroupId() );
+        coordinate.setArtifactId( plugin.getArtifactId() );
+        coordinate.setVersion( plugin.getVersion() );
+        
+        return coordinate;
+    }
+}

Modified: 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinateTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinateTest.java?rev=1721613&r1=1721612&r2=1721613&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinateTest.java
 (original)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/artifact/DefaultArtifactCoordinateTest.java
 Thu Dec 24 12:21:39 2015
@@ -1,6 +1,5 @@
 package org.apache.maven.shared.artifact;
 
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -44,7 +43,7 @@ public class DefaultArtifactCoordinateTe
         coordinate.setArtifactId( "ARTIFACTID" );
         coordinate.setVersion( "VERSION" );
         coordinate.setClassifier( "CLASSIFIER" );
-        coordinate.setType( "TYPE" );
-        assertEquals( "GROUPID:ARTIFACTID:TYPE:CLASSIFIER:VERSION", 
coordinate.toString() );
+        coordinate.setExtension( "EXTENSION" );
+        assertEquals( "GROUPID:ARTIFACTID:EXTENSION:CLASSIFIER:VERSION", 
coordinate.toString() );
     }
 }

Added: 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinateTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinateTest.java?rev=1721613&view=auto
==============================================================================
--- 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinateTest.java
 (added)
+++ 
maven/shared/trunk/maven-artifact-transfer/src/test/java/org/apache/maven/shared/dependency/DefaultDependencyCoordinateTest.java
 Thu Dec 24 12:21:39 2015
@@ -0,0 +1,50 @@
+package org.apache.maven.shared.dependency;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class DefaultDependencyCoordinateTest
+{
+
+    @Test
+    public void testToStringWithoutType()
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        coordinate.setGroupId( "GROUPID" );
+        coordinate.setArtifactId( "ARTIFACTID" );
+        coordinate.setVersion( "VERSION" );
+        assertEquals( "GROUPID:ARTIFACTID:jar:VERSION", coordinate.toString() 
);
+    }
+
+    @Test
+    public void testToStringWithClassifier()
+    {
+        DefaultDependencyCoordinate coordinate = new 
DefaultDependencyCoordinate();
+        coordinate.setGroupId( "GROUPID" );
+        coordinate.setArtifactId( "ARTIFACTID" );
+        coordinate.setVersion( "VERSION" );
+        coordinate.setClassifier( "CLASSIFIER" );
+        coordinate.setType( "TYPE" );
+        assertEquals( "GROUPID:ARTIFACTID:TYPE:CLASSIFIER:VERSION", 
coordinate.toString() );
+    }
+
+}


Reply via email to