Author: tross Date: Fri Oct 30 15:53:30 2009 New Revision: 831351 URL: http://svn.apache.org/viewvc?rev=831351&view=rev Log: QPID-2181 - Alternate exchange on queue is not visible in management tools
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp qpid/trunk/qpid/cpp/src/tests/cli_tests.py qpid/trunk/qpid/python/commands/qpid-config qpid/trunk/qpid/specs/management-schema.xml Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=831351&r1=831350&r2=831351&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original) +++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Fri Oct 30 15:53:30 2009 @@ -953,6 +953,12 @@ void Queue::setAlternateExchange(boost::shared_ptr<Exchange> exchange) { alternateExchange = exchange; + if (mgmtObject) { + if (exchange.get() != 0) + mgmtObject->set_altExchange(exchange->GetManagementObject()->getObjectId()); + else + mgmtObject->clr_altExchange(); + } } boost::shared_ptr<Exchange> Queue::getAlternateExchange() Modified: qpid/trunk/qpid/cpp/src/tests/cli_tests.py URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/cli_tests.py?rev=831351&r1=831350&r2=831351&view=diff ============================================================================== --- qpid/trunk/qpid/cpp/src/tests/cli_tests.py (original) +++ qpid/trunk/qpid/cpp/src/tests/cli_tests.py Fri Oct 30 15:53:30 2009 @@ -127,6 +127,7 @@ self.startQmf(); qmf = self.qmf exName = "testalt" + qName = "testqalt" altName = "amq.direct" ret = os.system(self.command(" add exchange topic %s --alternate-exchange=%s" % (exName, altName))) @@ -145,6 +146,19 @@ self.assertEqual(exchange._altExchange_.name, altName) self.assertEqual(found, True) + ret = os.system(self.command(" add queue %s --alternate-exchange=%s" % (qName, altName))) + self.assertEqual(ret, 0) + + queues = qmf.getObjects(_class="queue") + found = False + for queue in queues: + if queue.name == qName: + found = True + if not queue.altExchange: + self.fail("Alternate exchange not set") + self.assertEqual(queue._altExchange_.name, altName) + self.assertEqual(found, True) + def test_qpid_route(self): self.startQmf(); qmf = self.qmf Modified: qpid/trunk/qpid/python/commands/qpid-config URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/commands/qpid-config?rev=831351&r1=831350&r2=831351&view=diff ============================================================================== --- qpid/trunk/qpid/python/commands/qpid-config (original) +++ qpid/trunk/qpid/python/commands/qpid-config Fri Oct 30 15:53:30 2009 @@ -246,6 +246,8 @@ if LVQ in args and args[LVQ] == 1: print "--order lvq", if LVQNB in args and args[LVQNB] == 1: print "--order lvq-no-browse", if QUEUE_EVENT_GENERATION in args: print "--generate-queue-events=%d" % args[QUEUE_EVENT_GENERATION], + if q.altExchange: + print "--alternate-exchange=%s" % q._altExchange_.name, print def QueueListRecurse (self, filter): Modified: qpid/trunk/qpid/specs/management-schema.xml URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/specs/management-schema.xml?rev=831351&r1=831350&r2=831351&view=diff ============================================================================== --- qpid/trunk/qpid/specs/management-schema.xml (original) +++ qpid/trunk/qpid/specs/management-schema.xml Fri Oct 30 15:53:30 2009 @@ -129,10 +129,11 @@ <property name="vhostRef" type="objId" references="Vhost" access="RC" index="y" parentRef="y"/> <property name="name" type="sstr" access="RC" index="y"/> - <property name="durable" type="bool" access="RC"/> - <property name="autoDelete" type="bool" access="RC"/> - <property name="exclusive" type="bool" access="RC"/> - <property name="arguments" type="map" access="RO" desc="Arguments supplied in queue.declare"/> + <property name="durable" type="bool" access="RC"/> + <property name="autoDelete" type="bool" access="RC"/> + <property name="exclusive" type="bool" access="RC"/> + <property name="arguments" type="map" access="RO" desc="Arguments supplied in queue.declare"/> + <property name="altExchange" type="objId" references="Exchange" access="RO" optional="y"/> <statistic name="msgTotalEnqueues" type="count64" unit="message" desc="Total messages enqueued"/> <statistic name="msgTotalDequeues" type="count64" unit="message" desc="Total messages dequeued"/> --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org