Author: niallp
Date: Sun Jan 31 17:47:55 2010
New Revision: 905081

URL: http://svn.apache.org/viewvc?rev=905081&view=rev
Log:
Port LANG-520 to 2.x branch - Changing the hashCode() method to return 
toHashCode()

Modified:
    
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/builder/HashCodeBuilder.java
    
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/builder/HashCodeBuilderTest.java

Modified: 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/builder/HashCodeBuilder.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/builder/HashCodeBuilder.java?rev=905081&r1=905080&r2=905081&view=diff
==============================================================================
--- 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/builder/HashCodeBuilder.java
 (original)
+++ 
commons/proper/lang/branches/LANG_2_X/src/main/java/org/apache/commons/lang/builder/HashCodeBuilder.java
 Sun Jan 31 17:47:55 2010
@@ -968,4 +968,16 @@
         return iTotal;
     }
 
+    /**
+     * <p>
+     * The computed <code>hashCode</code> from toHashCode() is returned due to 
the likelyhood 
+     * of bugs in mis-calling toHashCode() and the unlikelyness of it 
mattering what the hashCode for 
+     * HashCodeBuilder itself is.
+     * 
+     * @return <code>hashCode</code> based on the fields appended
+     */
+    public int hashCode() {
+        return toHashCode();
+    }
+
 }

Modified: 
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/builder/HashCodeBuilderTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/builder/HashCodeBuilderTest.java?rev=905081&r1=905080&r2=905081&view=diff
==============================================================================
--- 
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/builder/HashCodeBuilderTest.java
 (original)
+++ 
commons/proper/lang/branches/LANG_2_X/src/test/java/org/apache/commons/lang/builder/HashCodeBuilderTest.java
 Sun Jan 31 17:47:55 2010
@@ -533,4 +533,13 @@
         b.hashCode();
     }
 
+    /**
+     * Ensures LANG-520 remains true
+     */
+    public void testToHashCodeEqualsHashCode() {
+        HashCodeBuilder hcb = new HashCodeBuilder(17, 37).append(new 
Object()).append('a');
+        assertEquals("hashCode() is no longer returning the same value as 
toHashCode() - see LANG-520", 
+                     hcb.toHashCode(), hcb.hashCode());
+    }
+
 }


Reply via email to