garyp       00/11/26 21:14:37

  Modified:    java/src/org/apache/xml/utils QName.java
  Log:
  Change signature for equals(QName) method to equals(Object) to properly 
override Object.equals for equal compares.
  Problem showed up in a hashtable.get() which was failing to find an object in 
the table.
  
  Revision  Changes    Path
  1.3       +15 -7     xml-xalan/java/src/org/apache/xml/utils/QName.java
  
  Index: QName.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/utils/QName.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- QName.java        2000/11/23 05:56:50     1.2
  +++ QName.java        2000/11/27 05:14:36     1.3
  @@ -437,16 +437,24 @@
      *
      * NEEDSDOC ($objectName$) @return
      */
  -  public boolean equals(QName qname)
  +  public boolean equals(Object object)
     {
   
  -    String thisnamespace = getNamespaceURI();
  -    String thatnamespace = qname.getNamespaceURI();
  +    if (object == this)
  +      return true;
   
  -    return getLocalName().equals(qname.getLocalName())
  -           && (((null != thisnamespace) && (null != thatnamespace))
  -               ? thisnamespace.equals(thatnamespace)
  -               : ((null == thisnamespace) && (null == thatnamespace)));
  +    if (object instanceof QName) {
  +      QName qname = (QName) object;
  +      String thisnamespace = getNamespaceURI();
  +      String thatnamespace = qname.getNamespaceURI();
  +
  +      return getLocalName().equals(qname.getLocalName())
  +             && (((null != thisnamespace) && (null != thatnamespace))
  +                 ? thisnamespace.equals(thatnamespace)
  +                 : ((null == thisnamespace) && (null == thatnamespace)));
  +    }
  +    else
  +      return false;
     }
   
     /**
  
  
  

Reply via email to