You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2013/02/15 15:05:52 UTC

svn commit: r1446586 - /qpid/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp

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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org