You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/07/20 20:13:50 UTC
svn commit: r795939 -
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
Author: bentmann
Date: Mon Jul 20 18:13:49 2009
New Revision: 795939
URL: http://svn.apache.org/viewvc?rev=795939&view=rev
Log:
o Optimized performance (the string concatenation in getId() severely affected ReactorArtifactRepository which in turn is heavily used for key calculation/comparision in the plugin & metadata cache)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java?rev=795939&r1=795938&r2=795939&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java Mon Jul 20 18:13:49 2009
@@ -1598,18 +1598,27 @@
{
return false;
}
- else
- {
- MavenProject otherProject = (MavenProject) other;
- return getId().equals( otherProject.getId() );
- }
+ MavenProject that = (MavenProject) other;
+
+ return eq( getArtifactId(), that.getArtifactId() )
+ && eq( getGroupId(), that.getGroupId() )
+ && eq( getVersion(), that.getVersion() );
+ }
+
+ private static <T> boolean eq( T s1, T s2 )
+ {
+ return ( s1 != null ) ? s1.equals( s2 ) : s2 == null;
}
@Override
public int hashCode()
{
- return getId().hashCode();
+ int hash = 17;
+ hash = 31 * hash + getGroupId().hashCode();
+ hash = 31 * hash + getArtifactId().hashCode();
+ hash = 31 * hash + getVersion().hashCode();
+ return hash;
}
public List<Extension> getBuildExtensions()