Author: jonathan
Date: Mon Jan 18 17:42:05 2010
New Revision: 900475

URL: http://svn.apache.org/viewvc?rev=900475&view=rev
Log:
Applied John Dunning's patch from 
https://issues.apache.org/jira/browse/QPID-2335.

Allows management tools to report the query for a binding.


Modified:
    qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp
    qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.h

Modified: qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp?rev=900475&r1=900474&r2=900475&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.cpp Mon Jan 18 17:42:05 2010
@@ -82,8 +82,8 @@
            XmlBinding::vector::ConstPtr p = bindings.snapshot();
            if (!p || std::find_if(p->begin(), p->end(), MatchQueue(queue)) == 
p->end()) {
                Query query(xqilla.parse(X(queryText.c_str())));
-               XmlBinding::shared_ptr binding(new XmlBinding (routingKey, 
queue, this, query));
-               bindings.add(binding);
+               XmlBinding::shared_ptr binding(new XmlBinding (routingKey, 
queue, this, *bindingArguments, query));
+
                QPID_LOG(trace, "Bound successfully with query: " << queryText 
);
 
                 binding->parse_message_content = false;
@@ -101,6 +101,7 @@
                     }
                 }
 
+               bindings.add(binding);
                if (mgmtExchange != 0) {
                    mgmtExchange->inc_bindingCount();
                 ((_qmf::Queue*) 
queue->GetManagementObject())->inc_bindingCount();

Modified: qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.h?rev=900475&r1=900474&r2=900475&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/xml/XmlExchange.h Mon Jan 18 17:42:05 2010
@@ -49,8 +49,11 @@
         boost::shared_ptr<XQQuery> xquery;
         bool parse_message_content;
 
-        XmlBinding(const std::string& key, const Queue::shared_ptr queue, 
Exchange* parent, Query query):
-            Binding(key, queue, parent), xquery(query), 
parse_message_content(true) {}
+        XmlBinding(const std::string& key, const Queue::shared_ptr queue, 
Exchange* parent, 
+                  const ::qpid::framing::FieldTable& _arguments, Query query):
+            Binding(key, queue, parent, _arguments),
+             xquery(query),
+             parse_message_content(true) {}
     };
 
         



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to