From e3377e87cffb4b76d3d5c62707b604407e656b19 Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Thu, 5 Apr 2012 11:25:16 +0000 Subject: QPID-3401 Added equals, toString() implementations to Topic and Queue. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1309768 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/jms/QpidDestination.java | 6 ++++ .../main/java/org/apache/qpid/jms/QpidQueue.java | 24 +++++++++++++++ .../org/apache/qpid/jms/QpidTemporaryQueue.java | 2 +- .../org/apache/qpid/jms/QpidTemporaryTopic.java | 2 +- .../main/java/org/apache/qpid/jms/QpidTopic.java | 35 ++++++++++++++++++++++ .../qpid/jms/TemporaryDestinationProvider.java | 2 +- 6 files changed, 68 insertions(+), 3 deletions(-) diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidDestination.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidDestination.java index a488679379..912a92d7ec 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidDestination.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidDestination.java @@ -170,4 +170,10 @@ public abstract class QpidDestination implements Destination, Referenceable return str; } } + + @Override + public String toString() + { + return address == null ? "" : address.toString(); + } } diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidQueue.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidQueue.java index a1183240d6..d37924566a 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidQueue.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidQueue.java @@ -41,4 +41,28 @@ public class QpidQueue extends QpidDestination implements Queue { return address.getName(); } + + @Override + public boolean equals(Object obj) + { + if (this == obj) + { + return true; + } + + if (!(obj instanceof QpidQueue)) + { + return false; + } + + QpidQueue queue = (QpidQueue)obj; + try + { + return getQueueName().equals(queue.getQueueName()); + } + catch (Exception e) + { + return false; + } + } } diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryQueue.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryQueue.java index ae6eb81f04..6234b1790b 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryQueue.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryQueue.java @@ -36,7 +36,7 @@ public class QpidTemporaryQueue extends QpidQueue implements TemporaryQueue @Override public void delete() throws JMSException { - provider.delete(); + provider.delete(getQueueName()); } } diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryTopic.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryTopic.java index 3942551ba5..e1bdf3a2eb 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryTopic.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTemporaryTopic.java @@ -36,7 +36,7 @@ public class QpidTemporaryTopic extends QpidTopic implements TemporaryTopic @Override public void delete() throws JMSException { - provider.delete(); + //provider.delete(); } } 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; + } } diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/TemporaryDestinationProvider.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/TemporaryDestinationProvider.java index 47e2b8a6c5..0767c9cd56 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/jms/TemporaryDestinationProvider.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/TemporaryDestinationProvider.java @@ -28,5 +28,5 @@ public interface TemporaryDestinationProvider public String generateTempTopicAddress(); - public void delete() throws JMSException; + public void delete(String queueName) throws JMSException; } -- cgit v1.2.1