summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/main
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2013-04-01 14:59:57 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2013-04-01 14:59:57 +0000
commit12f08eee5b5e0d3b77537e66180c74d7ac845ef4 (patch)
tree3069825f784635d9c3c6c80867822aaad58f50e0 /qpid/java/client/src/main
parent6f54aa2713204fb1f2696e627e5d4a170e9aca48 (diff)
downloadqpid-python-12f08eee5b5e0d3b77537e66180c74d7ac845ef4.tar.gz
QPID-3769 Modified the equals and hashcode methods in AMQTopic to fall
back to AMQDestination for address strings. For BURL the existing impl will continue to work. Added AMQAnyDestination to the tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1463158 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src/main')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
index 51b6c7e478..96cd209447 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.client;
+import org.apache.qpid.client.AMQDestination.DestSyntax;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.messaging.Address;
@@ -216,13 +217,27 @@ public class AMQTopic extends AMQDestination implements Topic
public boolean equals(Object o)
{
- return (o instanceof AMQTopic)
+ if (getDestSyntax() == DestSyntax.ADDR)
+ {
+ return super.equals(o);
+ }
+ else
+ {
+ return (o instanceof AMQTopic)
&& ((AMQTopic)o).getExchangeName().equals(getExchangeName())
&& ((AMQTopic)o).getRoutingKey().equals(getRoutingKey());
+ }
}
public int hashCode()
{
- return getExchangeName().hashCode() + getRoutingKey().hashCode();
+ if (getDestSyntax() == DestSyntax.ADDR)
+ {
+ return super.hashCode();
+ }
+ else
+ {
+ return getExchangeName().hashCode() + getRoutingKey().hashCode();
+ }
}
}