Author: gsim
Date: Fri Feb 15 14:05:52 2013
New Revision: 1446586

URL: http://svn.apache.org/r1446586
Log:
QPID-3833: convert int properties to strings if requested

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp?rev=1446586&r1=1446585&r2=1446586&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp Fri Feb 
15 14:05:52 2013
@@ -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::getAnnotati
 {
     const qpid::framing::MessageProperties* mp = 
getProperties<qpid::framing::MessageProperties>();
     if (mp && mp->hasApplicationHeaders()) {
-        return mp->getApplicationHeaders().getAsString(key);
+        FieldTable::ValuePtr value = mp->getApplicationHeaders().get(key);
+        if (value) {
+            if (value->convertsTo<std::string>()) return 
value->get<std::string>();
+            else if (value->convertsTo<int>()) return 
boost::lexical_cast<std::string>(value->get<int>());
+        }
+        return std::string();
     } else {
         return std::string();
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to