[MSHARED-631] Several filters do not preserve order of artifacts filtered
This closes #20
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1811599 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
index debc6af..d80ea25 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
@@ -29,7 +29,7 @@
import org.apache.maven.project.ProjectBuildingResult;
import java.lang.reflect.InvocationTargetException;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -179,7 +179,7 @@
public Set<Artifact> filter( Set<Artifact> artifacts )
{
- Set<Artifact> result = new HashSet<Artifact>();
+ Set<Artifact> result = new LinkedHashSet<Artifact>();
for ( Artifact artifact : artifacts )
{
if ( artifactIsATransitiveDependency( artifact ) )
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ProjectTransitivityFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ProjectTransitivityFilter.java
index e05c68b..ca3a70d 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ProjectTransitivityFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ProjectTransitivityFilter.java
@@ -19,7 +19,7 @@
* under the License.
*/
-import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
@@ -57,7 +57,7 @@
if ( excludeTransitive )
{
- result = new HashSet<Artifact>();
+ result = new LinkedHashSet<Artifact>();
for ( Artifact artifact : artifacts )
{
if ( artifactIsADirectDependency( artifact ) )
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ScopeFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ScopeFilter.java
index 61c3afe..320f069 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ScopeFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ScopeFilter.java
@@ -19,7 +19,7 @@
* under the License.
*/
-import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
@@ -73,7 +73,7 @@
throw new ArtifactFilterException( "Invalid Scope in includeScope: " + includeScope );
}
- results = new HashSet<Artifact>();
+ results = new LinkedHashSet<Artifact>();
if ( Artifact.SCOPE_PROVIDED.equals( includeScope ) || Artifact.SCOPE_SYSTEM.equals( includeScope ) )
{
@@ -100,7 +100,7 @@
{
throw new ArtifactFilterException( "Invalid Scope in excludeScope: " + excludeScope );
}
- results = new HashSet<Artifact>();
+ results = new LinkedHashSet<Artifact>();
// plexus ScopeArtifactFilter doesn't handle the provided scope so
// we
// need special handling for it.
@@ -131,7 +131,7 @@
private Set<Artifact> includeSingleScope( Set<Artifact> artifacts, String scope )
{
- Set<Artifact> results = new HashSet<Artifact>();
+ Set<Artifact> results = new LinkedHashSet<Artifact>();
for ( Artifact artifact : artifacts )
{
if ( scope.equals( artifact.getScope() ) )
@@ -144,7 +144,7 @@
private Set<Artifact> excludeSingleScope( Set<Artifact> artifacts, String scope )
{
- Set<Artifact> results = new HashSet<Artifact>();
+ Set<Artifact> results = new LinkedHashSet<Artifact>();
for ( Artifact artifact : artifacts )
{
if ( !scope.equals( artifact.getScope() ) )