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]

Reply via email to