summaryrefslogtreecommitdiff
path: root/cpp/src/qpid
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-08-09 10:50:29 +0000
committerGordon Sim <gsim@apache.org>2013-08-09 10:50:29 +0000
commit218d860ad96b274d237fde984061b455c0ce90d8 (patch)
tree4afedc531d425e85816554050a34fe279ecf8554 /cpp/src/qpid
parent2db23c3b2f217524bde25b3daa905ee93affc299 (diff)
downloadqpid-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.cpp9
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);
}
}