summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRupert Smith <rupertlssmith@apache.org>2007-06-12 09:52:29 +0000
committerRupert Smith <rupertlssmith@apache.org>2007-06-12 09:52:29 +0000
commit0145654a749697a52194aad13b55351667022b8e (patch)
tree2466cb7dbdbe88907f96e8cde357fae9aff71fa4 /java
parent9889573f94c99b252395262f73afe1c9055d59e7 (diff)
downloadqpid-python-0145654a749697a52194aad13b55351667022b8e.tar.gz
QPID-465, now throws UnsupportedOperationException when sending to a null queue in QueueSender.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@546441 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/QueueSenderAdapter.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/QueueSenderAdapter.java b/java/client/src/main/java/org/apache/qpid/client/QueueSenderAdapter.java
index a219f7d655..9eb826ba62 100644
--- a/java/client/src/main/java/org/apache/qpid/client/QueueSenderAdapter.java
+++ b/java/client/src/main/java/org/apache/qpid/client/QueueSenderAdapter.java
@@ -2,12 +2,12 @@ package org.apache.qpid.client;
import javax.jms.Destination;
import javax.jms.IllegalStateException;
+import javax.jms.InvalidDestinationException;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueSender;
-import javax.jms.InvalidDestinationException;
public class QueueSenderAdapter implements QueueSender
{
@@ -25,6 +25,7 @@ public class QueueSenderAdapter implements QueueSender
public Queue getQueue() throws JMSException
{
checkPreConditions();
+
return _queue;
}
@@ -40,15 +41,13 @@ public class QueueSenderAdapter implements QueueSender
_delegate.send(queue, msg);
}
- public void publish(Message msg, int deliveryMode, int priority, long timeToLive)
- throws JMSException
+ public void publish(Message msg, int deliveryMode, int priority, long timeToLive) throws JMSException
{
checkPreConditions();
_delegate.send(msg, deliveryMode, priority, timeToLive);
}
- public void send(Queue queue, Message msg, int deliveryMode, int priority, long timeToLive)
- throws JMSException
+ public void send(Queue queue, Message msg, int deliveryMode, int priority, long timeToLive) throws JMSException
{
checkPreConditions(queue);
_delegate.send(queue, msg, deliveryMode, priority, timeToLive);
@@ -63,36 +62,42 @@ public class QueueSenderAdapter implements QueueSender
public int getDeliveryMode() throws JMSException
{
checkPreConditions();
+
return _delegate.getDeliveryMode();
}
public Destination getDestination() throws JMSException
{
checkPreConditions();
+
return _delegate.getDestination();
}
public boolean getDisableMessageID() throws JMSException
{
checkPreConditions();
+
return _delegate.getDisableMessageID();
}
public boolean getDisableMessageTimestamp() throws JMSException
{
checkPreConditions();
+
return _delegate.getDisableMessageTimestamp();
}
public int getPriority() throws JMSException
{
checkPreConditions();
+
return _delegate.getPriority();
}
public long getTimeToLive() throws JMSException
{
checkPreConditions();
+
return _delegate.getTimeToLive();
}
@@ -102,8 +107,7 @@ public class QueueSenderAdapter implements QueueSender
_delegate.send(dest, msg);
}
- public void send(Message msg, int deliveryMode, int priority, long timeToLive)
- throws JMSException
+ public void send(Message msg, int deliveryMode, int priority, long timeToLive) throws JMSException
{
checkPreConditions();
_delegate.send(msg, deliveryMode, priority, timeToLive);
@@ -159,15 +163,21 @@ public class QueueSenderAdapter implements QueueSender
AMQSession session = ((BasicMessageProducer) _delegate).getSession();
- if (session == null || session.isClosed())
+ if ((session == null) || session.isClosed())
{
throw new javax.jms.IllegalStateException("Invalid Session");
}
+ if (queue == null)
+ {
+ throw new UnsupportedOperationException("Queue is null.");
+ }
+
if (!(queue instanceof AMQDestination))
{
throw new InvalidDestinationException("Queue: " + queue + " is not a valid Qpid queue");
}
+
AMQDestination destination = (AMQDestination) queue;
if (!destination.isValidated() && checkQueueBeforePublish())
{
@@ -185,7 +195,8 @@ public class QueueSenderAdapter implements QueueSender
}
else
{
- throw new InvalidDestinationException("Queue: " + queue + " is not a valid destination (no bindings on server");
+ throw new InvalidDestinationException("Queue: " + queue
+ + " is not a valid destination (no bindings on server");
}
}
}