diff options
author | Ted Ross <tross@apache.org> | 2011-03-07 19:13:56 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2011-03-07 19:13:56 +0000 |
commit | 92da7592b082b3fc9e847b80d6db8538fb29be29 (patch) | |
tree | 680b3ec8b6c64ced348840dcc27e1ddefbafee2d /qpid/cpp/src/qmf/ConsoleSession.cpp | |
parent | f1836df4057851f07b1346e7141b863158493987 (diff) | |
download | qpid-python-92da7592b082b3fc9e847b80d6db8538fb29be29.tar.gz |
QPID_3122 - Added backward-compatible map keys in QMFv2 consoles for earlier development agents.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1078895 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qmf/ConsoleSession.cpp')
-rw-r--r-- | qpid/cpp/src/qmf/ConsoleSession.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/qpid/cpp/src/qmf/ConsoleSession.cpp b/qpid/cpp/src/qmf/ConsoleSession.cpp index 2136a7d449..7b839930e1 100644 --- a/qpid/cpp/src/qmf/ConsoleSession.cpp +++ b/qpid/cpp/src/qmf/ConsoleSession.cpp @@ -429,7 +429,23 @@ void ConsoleSessionImpl::handleAgentUpdate(const string& agentName, const Varian iter = content.find("_values"); if (iter == content.end()) return; - Variant::Map attrs(iter->second.asMap()); + const Variant::Map& in_attrs(iter->second.asMap()); + Variant::Map attrs; + + // + // Copy the map from the message to "attrs". Translate any old-style + // keys to their new key values in the process. + // + for (iter = in_attrs.begin(); iter != in_attrs.end(); iter++) { + if (iter->first == "epoch") + attrs[protocol::AGENT_ATTR_EPOCH] = iter->second; + else if (iter->first == "timestamp") + attrs[protocol::AGENT_ATTR_TIMESTAMP] = iter->second; + else if (iter->first == "heartbeat_interval") + attrs[protocol::AGENT_ATTR_HEARTBEAT_INTERVAL] = iter->second; + else + attrs[iter->first] = iter->second; + } iter = attrs.find(protocol::AGENT_ATTR_EPOCH); if (iter != attrs.end()) |