use Set instead of Map since the Map value is unused

git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1595985 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
index dd1746c..dbc387a 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven31DependencyGraphBuilder.java
@@ -43,9 +43,9 @@
 import java.util.ArrayList;

 import java.util.Collection;

 import java.util.Collections;

-import java.util.HashMap;

+import java.util.HashSet;

 import java.util.List;

-import java.util.Map;

+import java.util.Set;

 

 /**

  * Wrapper around Eclipse Aether dependency resolver, used in Maven 3.1.

@@ -66,7 +66,7 @@
     private ArtifactFactory factory;

 

     /**

-     * Builds the dependency graph for Maven 3 point 1+.

+     * Builds the dependency graph for Maven 3.1+.

      *

      * @param project the project

      * @param filter artifact filter (can be <code>null</code>)

@@ -80,7 +80,7 @@
     }

 

     /**

-     * Builds the dependency graph for Maven 3 point 1+ including any dependencies from any projects in the reactor.

+     * Builds the dependency graph for Maven 3.1+ including any dependencies from any projects in the reactor.

      *

      * @param project the project

      * @param filter artifact filter (can be <code>null</code>)

@@ -129,8 +129,8 @@
         catch ( DependencyResolutionException e )

         {

             // Ignore any resolution failure for deps that are part of the reactor but have not yet been built.

-            // NB Typing has been removed because DependencyResolutionResult returns Sonatype aether in 3.0.4 and

-            // Eclipse aether in 3.1.1 and while dep-tree is a single module we can only compile against one of them.

+            // NB Typing has been removed because DependencyResolutionResult returns Sonatype Aether in 3.0.4 and

+            // Eclipse Aether in 3.1.1 and while dep-tree is a single module we can only compile against one of them.

             //

             // NB While applying this code to Maven3DependencyGraphBuilder is trivial it won't work because

             // in Maven 3, MavenProject.getProjectReferences isn't populated. So we would need to have the reactor

@@ -140,9 +140,10 @@
             // NB There doesn't seem to be any way to apply this to Maven2DependencyGraphBuilder as there is no

             // concept of partial resolution like there is is 3 and 3.1

             final DependencyResolutionResult result = e.getResult();

+

             final List<Dependency> reactorDeps =

                 getReactorDependencies( reactorProjects, result.getUnresolvedDependencies() );

-            Invoker.invoke( result.getUnresolvedDependencies(), "removeAll", Collection.class, reactorDeps );

+            result.getUnresolvedDependencies().removeAll( reactorDeps );

             Invoker.invoke( result.getResolvedDependencies(), "addAll", Collection.class, reactorDeps );

 

             if ( !result.getUnresolvedDependencies().isEmpty() )

@@ -150,18 +151,19 @@
                 throw new DependencyGraphBuilderException( "Could not resolve the following dependencies : "

                     + result.getUnresolvedDependencies(), e );

             }

+

             getLogger().debug( "Resolved dependencies after ignoring reactor dependencies : " + reactorDeps );

+

             return result;

         }

     }

 

     private List<Dependency> getReactorDependencies( Collection<MavenProject> reactorProjects, List<?> dependencies )

     {

-        // Create ProjectMap

-        final Map<ArtifactKey, MavenProject> projectMap = new HashMap<ArtifactKey, MavenProject>();

+        final Set<ArtifactKey> reactorProjectsIds = new HashSet<ArtifactKey>();

         for ( final MavenProject project : reactorProjects )

         {

-            projectMap.put( new ArtifactKey( project ), project );

+            reactorProjectsIds.add( new ArtifactKey( project ) );

         }

 

         final List<Dependency> reactorDeps = new ArrayList<Dependency>();

@@ -169,14 +171,16 @@
         {

             final Dependency dependency = (Dependency) untypedDependency;

             final org.eclipse.aether.artifact.Artifact depArtifact = dependency.getArtifact();

-            final ArtifactKey key = new ArtifactKey(

-                    depArtifact.getGroupId(), depArtifact.getArtifactId(), depArtifact.getVersion()

-            );

-            if ( projectMap.containsKey( key ) )

+

+            final ArtifactKey key =

+                new ArtifactKey( depArtifact.getGroupId(), depArtifact.getArtifactId(), depArtifact.getVersion() );

+

+            if ( reactorProjectsIds.contains( key ) )

             {

                 reactorDeps.add( dependency );

             }

         }

+

         return reactorDeps;

     }

 

diff --git a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
index 5200b44..bd93bfe 100644
--- a/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
+++ b/src/main/java/org/apache/maven/shared/dependency/graph/internal/Maven3DependencyGraphBuilder.java
@@ -43,9 +43,9 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
+import java.util.Set;
 
 /**
  * Wrapper around Maven 3 dependency resolver.
@@ -125,9 +125,10 @@
             // NB There doesn't seem to be any way to apply this to Maven2DependencyGraphBuilder as there is no
             // concept of partial resolution like there is is 3 and 3.1
             final DependencyResolutionResult result = e.getResult();
+
             final List<Dependency> reactorDeps =
                 getReactorDependencies( reactorProjects, result.getUnresolvedDependencies() );
-            Invoker.invoke( result.getUnresolvedDependencies(), "removeAll", Collection.class, reactorDeps );
+            result.getUnresolvedDependencies().removeAll( reactorDeps );
             Invoker.invoke( result.getResolvedDependencies(), "addAll", Collection.class, reactorDeps );
 
             if ( !result.getUnresolvedDependencies().isEmpty() )
@@ -135,7 +136,9 @@
                 throw new DependencyGraphBuilderException( "Could not resolve the following dependencies : "
                     + result.getUnresolvedDependencies(), e );
             }
+
             getLogger().debug( "Resolved dependencies after ignoring reactor dependencies : " + reactorDeps );
+
             return result;
         }
     }
@@ -143,28 +146,27 @@
     private List<org.sonatype.aether.graph.Dependency> getReactorDependencies( Collection<MavenProject> reactorProjects,
                                                                                List<?> dependencies )
     {
-        // Create ProjectMap
-        final Map<ArtifactKey, MavenProject> projectMap = new HashMap<ArtifactKey, MavenProject>();
+        final Set<ArtifactKey> reactorProjectsIds = new HashSet<ArtifactKey>();
         for ( final MavenProject project : reactorProjects )
         {
-            projectMap.put( new ArtifactKey( project ), project );
+            reactorProjectsIds.add( new ArtifactKey( project ) );
         }
 
-        final List<org.sonatype.aether.graph.Dependency> reactorDeps =
-            new ArrayList<org.sonatype.aether.graph.Dependency>();
+        final List<Dependency> reactorDeps = new ArrayList<Dependency>();
         for ( final Object untypedDependency : dependencies )
         {
-            final org.sonatype.aether.graph.Dependency dependency =
-                (org.sonatype.aether.graph.Dependency) untypedDependency;
+            final Dependency dependency = (Dependency) untypedDependency;
             final org.sonatype.aether.artifact.Artifact depArtifact = dependency.getArtifact();
-            final ArtifactKey key = new ArtifactKey(
-                    depArtifact.getGroupId(), depArtifact.getArtifactId(), depArtifact.getVersion()
-            );
-            if ( projectMap.containsKey( key ) )
+
+            final ArtifactKey key =
+                new ArtifactKey( depArtifact.getGroupId(), depArtifact.getArtifactId(), depArtifact.getVersion() );
+
+            if ( reactorProjectsIds.contains( key ) )
             {
                 reactorDeps.add( dependency );
             }
         }
+
         return reactorDeps;
     }