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;
}
/**