From 033eb9e75a08ce2d68485e826d303e48cf7bb157 Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Wed, 11 May 2011 18:03:36 +0000 Subject: QPID-3254 Added logic to resolve the address to ensure corner cases such addresses without subjects are handled properly. The address resolotuion code will determine the defaults for subject (and routing key) by querying the name specified in the address. I also added null checks for getRoutingKey() method and getTopicName() method in both AMQTopic and AMQAnyDestination classes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1102002 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/qpid/client/AMQAnyDestination.java | 13 +++++++++- .../java/org/apache/qpid/client/AMQSession.java | 28 +++++++++++++++------- .../main/java/org/apache/qpid/client/AMQTopic.java | 20 ++++++++++++---- 3 files changed, 46 insertions(+), 15 deletions(-) (limited to 'java') diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQAnyDestination.java b/java/client/src/main/java/org/apache/qpid/client/AMQAnyDestination.java index a201f7d61e..999b22299c 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQAnyDestination.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQAnyDestination.java @@ -72,6 +72,17 @@ public class AMQAnyDestination extends AMQDestination implements Queue, Topic public String getTopicName() throws JMSException { - return super.getRoutingKey().toString(); + if (getRoutingKey() != null) + { + return getRoutingKey().asString(); + } + else if (getSubject() != null) + { + return getSubject(); + } + else + { + return null; + } } } diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java index d1e7aae94a..f85b1e655d 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession.java @@ -1050,7 +1050,23 @@ public abstract class AMQSession