You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by ab...@apache.org on 2006/05/08 23:48:22 UTC
svn commit: r405179 - in /lucene/nutch/trunk/src:
java/org/apache/nutch/crawl/MapWritable.java
test/org/apache/nutch/crawl/TestMapWritable.java
Author: ab
Date: Mon May 8 14:48:21 2006
New Revision: 405179
URL: http://svn.apache.org/viewcvs?rev=405179&view=rev
Log:
Fix NUTCH-263.
Modified:
lucene/nutch/trunk/src/java/org/apache/nutch/crawl/MapWritable.java
lucene/nutch/trunk/src/test/org/apache/nutch/crawl/TestMapWritable.java
Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/MapWritable.java
URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/MapWritable.java?rev=405179&r1=405178&r2=405179&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/MapWritable.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/MapWritable.java Mon May 8 14:48:21 2006
@@ -224,16 +224,20 @@
public boolean equals(Object obj) {
if (obj instanceof MapWritable) {
MapWritable map = (MapWritable) obj;
+ if (fSize != map.fSize) return false;
+ HashSet set1 = new HashSet();
KeyValueEntry e1 = fFirst;
- KeyValueEntry e2 = map.fFirst;
- while (e1 != null && e2 != null) {
- if (!e1.equals(e2)) {
- return false;
- }
+ while (e1 != null) {
+ set1.add(e1);
e1 = e1.fNextEntry;
+ }
+ HashSet set2 = new HashSet();
+ KeyValueEntry e2 = map.fFirst;
+ while (e2 != null) {
+ set2.add(e2);
e2 = e2.fNextEntry;
}
- return true;
+ return set1.equals(set2);
}
return false;
}
@@ -451,6 +455,10 @@
return entry.fKey.equals(fKey) && entry.fValue.equals(fValue);
}
return false;
+ }
+
+ public int hashCode() {
+ return toString().hashCode();
}
}
Modified: lucene/nutch/trunk/src/test/org/apache/nutch/crawl/TestMapWritable.java
URL: http://svn.apache.org/viewcvs/lucene/nutch/trunk/src/test/org/apache/nutch/crawl/TestMapWritable.java?rev=405179&r1=405178&r2=405179&view=diff
==============================================================================
--- lucene/nutch/trunk/src/test/org/apache/nutch/crawl/TestMapWritable.java (original)
+++ lucene/nutch/trunk/src/test/org/apache/nutch/crawl/TestMapWritable.java Mon May 8 14:48:21 2006
@@ -91,6 +91,16 @@
}
testWritable(c);
}
+
+ public void testEquals() {
+ MapWritable map1 = new MapWritable();
+ MapWritable map2 = new MapWritable();
+ map1.put(new UTF8("key1"), new UTF8("val1"));
+ map1.put(new UTF8("key2"), new UTF8("val2"));
+ map2.put(new UTF8("key2"), new UTF8("val2"));
+ map2.put(new UTF8("key1"), new UTF8("val1"));
+ assertTrue(map1.equals(map2));
+ }
public void testPerformance() throws Exception {
File file = new File(System.getProperty("java.io.tmpdir"), "mapTestFile");