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());
+ }
+
}