diff options
| author | Gordon Sim <gsim@apache.org> | 2013-08-09 10:50:29 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-08-09 10:50:29 +0000 |
| commit | 218d860ad96b274d237fde984061b455c0ce90d8 (patch) | |
| tree | 4afedc531d425e85816554050a34fe279ecf8554 /cpp/src/qpid | |
| parent | 2db23c3b2f217524bde25b3daa905ee93affc299 (diff) | |
| download | qpid-python-218d860ad96b274d237fde984061b455c0ce90d8.tar.gz | |
QPID-5060: remove exchange and durable for properties map, as they apply to topic itself rather than queue and are tracked by explicit properties
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1512245 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/broker/amqp/Topic.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/amqp/Topic.cpp b/cpp/src/qpid/broker/amqp/Topic.cpp index 77561d1111..4bb581628b 100644 --- a/cpp/src/qpid/broker/amqp/Topic.cpp +++ b/cpp/src/qpid/broker/amqp/Topic.cpp @@ -47,6 +47,13 @@ bool testProperty(const std::string& k, const qpid::types::Variant::Map& m) else return i->second; } +qpid::types::Variant::Map filter(const qpid::types::Variant::Map& properties) +{ + qpid::types::Variant::Map filtered = properties; + filtered.erase(DURABLE); + filtered.erase(EXCHANGE); + return filtered; +} } Topic::Topic(Broker& broker, const std::string& n, const qpid::types::Variant::Map& properties) @@ -60,7 +67,7 @@ Topic::Topic(Broker& broker, const std::string& n, const qpid::types::Variant::M qpid::management::ManagementAgent* agent = broker.getManagementAgent(); if (agent != 0) { topic = _qmf::Topic::shared_ptr(new _qmf::Topic(agent, this, name, exchange->GetManagementObject()->getObjectId(), durable)); - topic->set_properties(policy.asMap()); + topic->set_properties(filter(properties)); agent->addObject(topic); } } |
