You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2009/10/24 02:04:07 UTC

svn commit: r829285 - in /commons/proper/lang/trunk/src: java/org/apache/commons/lang/builder/HashCodeBuilder.java test/org/apache/commons/lang/builder/HashCodeBuilderTest.java

Author: bayard
Date: Sat Oct 24 00:04:07 2009
New Revision: 829285

URL: http://svn.apache.org/viewvc?rev=829285&view=rev
Log:
Changing the hashCode() method to return toHashCode() per the request in LANG-520

Modified:
    commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
    commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java

Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java?rev=829285&r1=829284&r2=829285&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/builder/HashCodeBuilder.java Sat Oct 24 00:04:07 2009
@@ -969,4 +969,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/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java?rev=829285&r1=829284&r2=829285&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java (original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/builder/HashCodeBuilderTest.java Sat Oct 24 00:04:07 2009
@@ -547,4 +547,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());
+    }
+
 }