Author: bentmann Date: Thu Jul 2 19:08:35 2009 New Revision: 790712 URL: http://svn.apache.org/viewvc?rev=790712&view=rev Log: [MNG-4227] DefaultArtifactVersion equals implementation does not handle null
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java?rev=790712&r1=790711&r2=790712&view=diff ============================================================================== --- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java (original) +++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java Thu Jul 2 19:08:35 2009 @@ -56,6 +56,16 @@ @Override public boolean equals( Object other ) { + if ( this == other ) + { + return true; + } + + if ( !( other instanceof ArtifactVersion ) ) + { + return false; + } + return compareTo( other ) == 0; } Modified: maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java?rev=790712&r1=790711&r2=790712&view=diff ============================================================================== --- maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java (original) +++ maven/components/trunk/maven-compat/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java Thu Jul 2 19:08:35 2009 @@ -177,6 +177,16 @@ assertEquals( v1.hashCode(), v2.hashCode() ); } + public void testEqualsNullSafe() + { + assertFalse( newArtifactVersion( "1" ).equals( null ) ); + } + + public void testEqualsTypeSafe() + { + assertFalse( newArtifactVersion( "1" ).equals( "non-an-artifact-version-instance" ) ); + } + private void assertVersionOlder( String left, String right ) { assertTrue( left + " should be older than " + right, @@ -192,4 +202,5 @@ assertTrue( right + " should be equal to " + left, newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) == 0 ); } + }