Author: gsim
Date: Wed May 28 06:56:59 2008
New Revision: 660953
URL: http://svn.apache.org/viewvc?rev=660953&view=rev
Log:
QPID-1098: correction to queue query when queue is not known
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
incubator/qpid/trunk/qpid/python/tests_0-10/query.py
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp?rev=660953&r1=660952&r2=660953&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionAdapter.cpp Wed May 28
06:56:59 2008
@@ -220,17 +220,22 @@
QueueQueryResult SessionAdapter::QueueHandlerImpl::query(const string& name)
{
- Queue::shared_ptr queue = getQueue(name);
- Exchange::shared_ptr alternateExchange = queue->getAlternateExchange();
+ Queue::shared_ptr queue = session.getBroker().getQueues().find(name);
+ if (queue) {
- return QueueQueryResult(queue->getName(),
- alternateExchange ? alternateExchange->getName() :
"",
- queue->isDurable(),
- queue->hasExclusiveOwner(),
- queue->isAutoDelete(),
- queue->getSettings(),
- queue->getMessageCount(),
- queue->getConsumerCount());
+ Exchange::shared_ptr alternateExchange = queue->getAlternateExchange();
+
+ return QueueQueryResult(queue->getName(),
+ alternateExchange ?
alternateExchange->getName() : "",
+ queue->isDurable(),
+ queue->hasExclusiveOwner(),
+ queue->isAutoDelete(),
+ queue->getSettings(),
+ queue->getMessageCount(),
+ queue->getConsumerCount());
+ } else {
+ return QueueQueryResult();
+ }
}
void SessionAdapter::QueueHandlerImpl::declare(const string& name, const
string& alternateExchange,
Modified: incubator/qpid/trunk/qpid/python/tests_0-10/query.py
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/python/tests_0-10/query.py?rev=660953&r1=660952&r2=660953&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/python/tests_0-10/query.py (original)
+++ incubator/qpid/trunk/qpid/python/tests_0-10/query.py Wed May 28 06:56:59
2008
@@ -30,6 +30,11 @@
result = session.queue_query(queue="my-queue")
self.assertEqual("my-queue", result.queue)
+ def test_queue_query_unknown(self):
+ session = self.session
+ result = session.queue_query(queue="I don't exist")
+ self.assert_(not result.queue)
+
def test_exchange_query(self):
"""
Test that the exchange_query method works as expected