Author: gsim
Date: Fri Aug 23 16:06:41 2013
New Revision: 1516917

URL: http://svn.apache.org/r1516917
Log:
QPID-5090: Infer text/plain as content type over 0-10 for utf8 content

Modified:
    qpid/trunk/qpid/cpp/examples/messaging/spout.cpp
    qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp

Modified: qpid/trunk/qpid/cpp/examples/messaging/spout.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/examples/messaging/spout.cpp?rev=1516917&r1=1516916&r2=1516917&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/examples/messaging/spout.cpp (original)
+++ qpid/trunk/qpid/cpp/examples/messaging/spout.cpp Fri Aug 23 16:06:41 2013
@@ -142,13 +142,14 @@ int main(int argc, char** argv)
 
             Message message;
             options.setProperties(message);
+            Variant& obj = message.getContentObject();
             if (options.entries.size()) {
                 Variant::Map content;
                 options.setEntries(content);
-                message.getContentObject() = content;
+                obj = content;
             } else if (options.content.size()) {
-                message.setContent(options.content);
-                message.setContentType("text/plain");
+                obj = options.content;
+                obj.setEncoding("utf8");
             }
             std::time_t start = std::time(0);
             for (int count = 0; 

Modified: qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp?rev=1516917&r1=1516916&r2=1516917&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/amqp0_10/OutgoingMessage.cpp Fri Aug 23 
16:06:41 2013
@@ -21,6 +21,7 @@
 #include "qpid/client/amqp0_10/OutgoingMessage.h"
 #include "qpid/client/amqp0_10/AddressResolution.h"
 #include "qpid/amqp_0_10/Codecs.h"
+#include "qpid/types/encodings.h"
 #include "qpid/types/Variant.h"
 #include "qpid/messaging/Address.h"
 #include "qpid/messaging/Message.h"
@@ -45,6 +46,7 @@ const std::string SUBJECT("qpid.subject"
 const std::string X_APP_ID("x-amqp-0-10.app-id");
 const std::string X_ROUTING_KEY("x-amqp-0-10.routing-key");
 const std::string X_CONTENT_ENCODING("x-amqp-0-10.content-encoding");
+const std::string TEXT_PLAIN("text/plain");
 }
 
 void OutgoingMessage::convert(const qpid::messaging::Message& from)
@@ -60,6 +62,10 @@ void OutgoingMessage::convert(const qpid
         qpid::amqp_0_10::ListCodec::encode(from.getContentObject().asList(), 
content);
         
message.getMessageProperties().setContentType(qpid::amqp_0_10::ListCodec::contentType);
         message.setData(content);
+    } else if (from.getContentObject().getType() == qpid::types::VAR_STRING &&
+               (from.getContentObject().getEncoding() == 
qpid::types::encodings::UTF8 || from.getContentObject().getEncoding() == 
qpid::types::encodings::ASCII)) {
+        message.getMessageProperties().setContentType(TEXT_PLAIN);
+        message.setData(from.getContent());
     } else {
         message.setData(from.getContent());
         message.getMessageProperties().setContentType(from.getContentType());



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to