sbailliez 2005/01/22 14:56:18 Modified: src/main/org/apache/tools/zip ZipEntry.java Log: Reactivate methods disabled in PR 33049. The equals method was a bit lousy and does not have a real meaning, so I keep it clear that the equals is related to the instance and nothing else. the hashCode method is actually the most important for performance. I have yet to find a way to unit test it programmatically as I don't understand the Zip task impl. at first glance. Revision Changes Path 1.25 +13 -14 ant/src/main/org/apache/tools/zip/ZipEntry.java Index: ZipEntry.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/zip/ZipEntry.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ZipEntry.java 11 Jan 2005 23:09:36 -0000 1.24 +++ ZipEntry.java 22 Jan 2005 22:56:17 -0000 1.25 @@ -400,32 +400,31 @@ this.name = name; } - /* Two zipentries are not necessarily equal if they have the same name. */ - /* + /** * Get the hashCode of the entry. * This uses the name as the hashcode. * @return a hashcode. * @since Ant 1.7 */ -/* public int hashCode() { + public int hashCode() { + // this method has severe consequences on performance. We cannot rely + // on the super.hashCode() method since super.getName() always return + // the empty string in the current implemention (there's no setter) + // so it is basically draining the performance of a hashmap lookup return getName().hashCode(); } -*/ - /* - * The equality method. + /** + * The equality method. In this case, the implementation returns 'this == o' + * which is basically the equals method of the Object class. * @param o the object to compare to * @return true if this object has the same name as <code>o</code> * @since Ant 1.7 */ -/* public boolean equals(Object o) { - if (o instanceof ZipEntry) { - ZipEntry other = (ZipEntry) o; - return other.getName().equals(getName()); - } - return false; + public boolean equals(Object o) { + return (this == o); } -*/ + /** * Helper for JDK 1.1 *
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]