[shrinkwrap-issues] [JBoss JIRA] (SHRINKRES-190) implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl

Mathieu Lachance (JIRA) issues at jboss.org
Tue Jul 22 13:09:29 EDT 2014


Mathieu Lachance created SHRINKRES-190:
------------------------------------------

             Summary: implements equals and hashCode methods in MavenResolvedArtifactImpl / MavenArtifactInfoImpl
                 Key: SHRINKRES-190
                 URL: https://issues.jboss.org/browse/SHRINKRES-190
             Project: ShrinkWrap Resolvers
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
    Affects Versions: 2.1.1
            Reporter: Mathieu Lachance


I'm currently to find an effective way to filter out many dependencies that I could provide within a "dummy" pom.xml.

I'd like to do the following:
{code:java}
    public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveDependencies() {
    	return Arrays.asList(
    			Maven.resolver()
					.loadPomFromFile("pom.xml")
					.importTestDependencies().resolve()
					.withoutTransitivity()
					.asResolvedArtifact());
    }
    
    public static List<MavenResolvedArtifact> resolveAllArquillianDependencies() {
    	return Arrays.asList(
    			Maven.resolver()
					.loadPomFromFile("src/test/resources/arquillian.pom.xml")
					.importTestDependencies().resolve()
					.withoutTransitivity()
					.asResolvedArtifact());
    }
    
    public static List<MavenResolvedArtifact> resolveAllTestNonTransitiveNonArquillianDependencies() {
    	List<MavenResolvedArtifact> testDependencies = resolveAllTestNonTransitiveDependencies();
    	
    	List<MavenResolvedArtifact> arquillianDependencies = resolveAllArquillianDependencies();
    	
    	List<MavenResolvedArtifact> filteredTestDependencies = new ArrayList<MavenResolvedArtifact>();
    	for (MavenResolvedArtifact testDependency : testDependencies) {
    		if (!arquillianDependencies.contains(testDependency)) {
    			filteredTestDependencies.add(testDependency);
    		}
    	}
    	return filteredTestDependencies;
    }
{code}

The problem is that MavenResolvedArtifactImpl does not implements equals and hashCode needed for using Collection::contains method.

I think it would be safe to delegate MavenResolvedArtifactImpl / MavenArtifactInfoImpl equals and hashCode methods to MavenCoordinateImpl

Thanks,

see also:
https://issues.jboss.org/browse/SHRINKRES-30



--
This message was sent by Atlassian JIRA
(v6.2.6#6264)


More information about the shrinkwrap-issues mailing list