From 1d4fa18cdb67242f4ff2b3e1d563b6da9b66b78e Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Fri, 15 Feb 2013 14:05:52 +0000 Subject: QPID-3833: convert int properties to strings if requested git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1446586 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'qpid/cpp/src') diff --git a/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp b/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp index db7a0f02d5..b78b69b2d6 100644 --- a/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp +++ b/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp @@ -29,6 +29,7 @@ #include "qpid/framing/TypeFilter.h" #include "qpid/framing/SendContent.h" #include "qpid/log/Statement.h" +#include "boost/lexical_cast.hpp" using namespace qpid::framing; @@ -51,7 +52,12 @@ std::string MessageTransfer::getAnnotationAsString(const std::string& key) const { const qpid::framing::MessageProperties* mp = getProperties(); if (mp && mp->hasApplicationHeaders()) { - return mp->getApplicationHeaders().getAsString(key); + FieldTable::ValuePtr value = mp->getApplicationHeaders().get(key); + if (value) { + if (value->convertsTo()) return value->get(); + else if (value->convertsTo()) return boost::lexical_cast(value->get()); + } + return std::string(); } else { return std::string(); } -- cgit v1.2.1