diff options
Diffstat (limited to 'qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java')
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java index f41897aa00..2551415a16 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java @@ -44,4 +44,39 @@ public class QpidTopic extends QpidDestination implements Topic return address.getSubject() == null ? "" : address.getSubject(); } + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + + if (!(obj instanceof QpidTopic)) + { + return false; + } + + QpidTopic topic = (QpidTopic)obj; + + try + { + if (!address.getName().equals(topic.getAddress().getName())) + { + return false; + } + + // The subject being the topic name + if (!address.getSubject().equals(topic.getAddress().getSubject())) + { + return false; + } + } + catch (Exception e) + { + return false; + } + + return true; + } } |