You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2016/03/14 21:02:25 UTC

qpid-interop-test git commit: QPIDIT-22: Updated c++ shims for latest changes to Proton c++ API. WIP - JMS shims not working, issues with AMQP types

Repository: qpid-interop-test
Updated Branches:
  refs/heads/cpp-api-changes [created] ab84b0eee


QPIDIT-22: Updated c++ shims for latest changes to Proton c++ API. WIP - JMS shims not working, issues with AMQP types


Project: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/commit/ab84b0ee
Tree: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/tree/ab84b0ee
Diff: http://git-wip-us.apache.org/repos/asf/qpid-interop-test/diff/ab84b0ee

Branch: refs/heads/cpp-api-changes
Commit: ab84b0eee90b33912ccad8e9a0ee8b5660f413a0
Parents: bcd3684
Author: Kim van der Riet <kp...@apache.org>
Authored: Mon Mar 14 16:00:01 2016 -0400
Committer: Kim van der Riet <kp...@apache.org>
Committed: Mon Mar 14 16:00:01 2016 -0400

----------------------------------------------------------------------
 shims/qpid-jms/java-build.sh                    |   2 +-
 .../src/qpidit/shim/AmqpReceiver.cpp            |  36 +++---
 .../src/qpidit/shim/AmqpReceiver.hpp            |   6 +
 .../src/qpidit/shim/AmqpSender.cpp              | 116 +++++++++---------
 .../src/qpidit/shim/AmqpSender.hpp              |   7 ++
 .../src/qpidit/shim/JmsReceiver.cpp             |  40 +++----
 .../src/qpidit/shim/JmsReceiver.hpp             |   4 +-
 .../src/qpidit/shim/JmsSender.cpp               |  42 +++----
 .../src/qpidit/shim/JmsSender.hpp               |   4 +-
 .../qpid-interop-test/jms/jms_message_tests.py  | 119 -------------------
 10 files changed, 134 insertions(+), 242 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-jms/java-build.sh
----------------------------------------------------------------------
diff --git a/shims/qpid-jms/java-build.sh b/shims/qpid-jms/java-build.sh
index 0ddc0ea..587c5ca 100755
--- a/shims/qpid-jms/java-build.sh
+++ b/shims/qpid-jms/java-build.sh
@@ -12,7 +12,7 @@ for d in ${QPID_JMS_CLIENT_LOCATION}/*; do
 done
 
 # TODO: get this from the above list, which needs sorting to find latest version by default
-JMS_VERSION=0.8.0-SNAPSHOT
+JMS_VERSION=0.9.0-SNAPSHOT
 echo "Current qpid-jms client version: ${JMS_VERSION}"
 
 JMS_API=${MVN_LOCAL_REPOSITORY}/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar:${QPID_JMS_CLIENT_LOCATION}/${JMS_VERSION}/qpid-jms-client-${JMS_VERSION}.jar

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.cpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.cpp b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.cpp
index 972f139..25985fa 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.cpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.cpp
@@ -24,6 +24,7 @@
 #include <iostream>
 #include <json/json.h>
 #include "proton/container.hpp"
+#include "proton/decimal.hpp"
 #include "proton/event.hpp"
 #include "qpidit/QpidItErrors.hpp"
 
@@ -61,52 +62,51 @@ namespace qpidit
                     _receivedValueList.append("None");
                 } else if (_amqpType.compare("boolean") == 0) {
                     checkMessageType(msg, proton::BOOLEAN);
-                    _receivedValueList.append(msg.body().get<proton::amqp_boolean>() ? "True": "False");
+                    _receivedValueList.append(msg.body().get<bool>() ? "True": "False");
                 } else if (_amqpType.compare("ubyte") == 0) {
                     checkMessageType(msg, proton::UBYTE);
-                    _receivedValueList.append(toHexStr<proton::amqp_ubyte>(msg.body().get<proton::amqp_ubyte>()));
+                    _receivedValueList.append(toHexStr<uint8_t>(msg.body().get<uint8_t>()));
                 } else if (_amqpType.compare("ushort") == 0) {
                     checkMessageType(msg, proton::USHORT);
-                    _receivedValueList.append(toHexStr<proton::amqp_ushort>(msg.body().get<proton::amqp_ushort>()));
+                    _receivedValueList.append(toHexStr<uint16_t>(msg.body().get<uint16_t>()));
                 } else if (_amqpType.compare("uint") == 0) {
                     checkMessageType(msg, proton::UINT);
-                    _receivedValueList.append(toHexStr<proton::amqp_uint>(msg.body().get<proton::amqp_uint>()));
+                    _receivedValueList.append(toHexStr<uint32_t>(msg.body().get<uint32_t>()));
                 } else if (_amqpType.compare("ulong") == 0) {
                     checkMessageType(msg, proton::ULONG);
-                    _receivedValueList.append(toHexStr<proton::amqp_ulong>(msg.body().get<proton::amqp_ulong>()));
+                    _receivedValueList.append(toHexStr<uint64_t>(msg.body().get<uint64_t>()));
                 } else if (_amqpType.compare("byte") == 0) {
                     checkMessageType(msg, proton::BYTE);
-                    _receivedValueList.append(toHexStr<proton::amqp_byte>(msg.body().get<proton::amqp_byte>()));
+                    _receivedValueList.append(toHexStr<int8_t>(msg.body().get<int8_t>()));
                 } else if (_amqpType.compare("short") == 0) {
                     checkMessageType(msg, proton::SHORT);
-                    _receivedValueList.append(toHexStr<proton::amqp_short>(msg.body().get<proton::amqp_short>()));
+                    _receivedValueList.append(toHexStr<int16_t>(msg.body().get<int16_t>()));
                 } else if (_amqpType.compare("int") == 0) {
                     checkMessageType(msg, proton::INT);
-                    _receivedValueList.append(toHexStr<proton::amqp_int>(msg.body().get<proton::amqp_int>()));
+                    _receivedValueList.append(toHexStr<int32_t>(msg.body().get<int32_t>()));
                 } else if (_amqpType.compare("long") == 0) {
                     checkMessageType(msg, proton::LONG);
-                    _receivedValueList.append(toHexStr<proton::amqp_long>(msg.body().get<proton::amqp_long>()));
+                    _receivedValueList.append(toHexStr<int64_t>(msg.body().get<int64_t>()));
                 } else if (_amqpType.compare("float") == 0) {
                     checkMessageType(msg, proton::FLOAT);
-                    proton::amqp_float f = msg.body().get<proton::amqp_float>();
+                    float f = msg.body().get<float>();
                     _receivedValueList.append(toHexStr<uint32_t>(*((uint32_t*)&f), true));
                 } else if (_amqpType.compare("double") == 0) {
                     checkMessageType(msg, proton::DOUBLE);
-                    proton::amqp_double d = msg.body().get<proton::amqp_double>();
+                    double d = msg.body().get<double>();
                     _receivedValueList.append(toHexStr<uint64_t>(*((uint64_t*)&d), true));
                 } else if (_amqpType.compare("decimal32") == 0) {
                     checkMessageType(msg, proton::DECIMAL32);
-                    _receivedValueList.append(toHexStr<uint32_t>(msg.body().get<proton::amqp_decimal32>(), true));
+                    _receivedValueList.append(byteArrayToHexStr(msg.body().get<proton::decimal32>()));
                 } else if (_amqpType.compare("decimal64") == 0) {
                     checkMessageType(msg, proton::DECIMAL64);
-                    _receivedValueList.append(toHexStr<uint64_t>(msg.body().get<proton::amqp_decimal64>(), true));
+                    _receivedValueList.append(byteArrayToHexStr(msg.body().get<proton::decimal64>()));
                 } else if (_amqpType.compare("decimal128") == 0) {
                     checkMessageType(msg, proton::DECIMAL128);
-                    proton::amqp_decimal128 d128(msg.body().get<proton::amqp_decimal128>());
-                    _receivedValueList.append(stringToHexStr(std::string(d128.value.bytes, 16)));
+                    _receivedValueList.append(byteArrayToHexStr(msg.body().get<proton::decimal128>()));
                 } else if (_amqpType.compare("char") == 0) {
                     checkMessageType(msg, proton::CHAR);
-                    wchar_t c = msg.body().get<proton::amqp_char>();
+                    wchar_t c = msg.body().get<wchar_t>();
                     std::stringstream oss;
                     if (c < 0x7f && std::iswprint(c)) {
                         oss << (char)c;
@@ -117,12 +117,12 @@ namespace qpidit
                 } else if (_amqpType.compare("timestamp") == 0) {
                     checkMessageType(msg, proton::TIMESTAMP);
                     std::ostringstream oss;
-                    oss << "0x" << std::hex << msg.body().get<proton::amqp_timestamp>().milliseconds;
+                    oss << "0x" << std::hex << msg.body().get<proton::timestamp>().milliseconds();
                     _receivedValueList.append(oss.str());
                 } else if (_amqpType.compare("uuid") == 0) {
                     checkMessageType(msg, proton::UUID);
                     std::ostringstream oss;
-                    oss << msg.body().get<proton::amqp_uuid>();
+                    oss << msg.body().get<proton::uuid>();
                     _receivedValueList.append(oss.str());
                 } else if (_amqpType.compare("binary") == 0) {
                     checkMessageType(msg, proton::BINARY);

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.hpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.hpp b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.hpp
index 8b011f0..aed9678 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.hpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpReceiver.hpp
@@ -66,6 +66,12 @@ namespace qpidit
                 oss << (sizeof(T) == 1 ? (int)val & 0xff : sizeof(T) == 2 ? val & 0xffff : sizeof(T) == 4 ? val & 0xffffffff : val);
                 return oss.str();
             }
+
+            template<size_t N> static std::string byteArrayToHexStr(const proton::byte_array<N>& val) {
+                std::ostringstream oss;
+                oss << val;
+                return oss.str();
+            }
         };
 
     } /* namespace shim */

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.cpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.cpp b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.cpp
index 138eb45..9b3613c 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.cpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.cpp
@@ -21,10 +21,10 @@
 
 #include "qpidit/shim/AmqpSender.hpp"
 
-#include <iomanip>
 #include <iostream>
 #include <json/json.h>
 #include "proton/container.hpp"
+#include "proton/decimal.hpp"
 #include "proton/event.hpp"
 
 namespace qpidit
@@ -83,55 +83,48 @@ namespace qpidit
             if (_amqpType.compare("null") == 0) {
                 std::string testValueStr(testValue.asString());
                 if (testValueStr.compare("None") != 0) { throw qpidit::InvalidTestValueError(_amqpType, testValueStr); }
-                msg.body(proton::amqp_null());
+                proton::value v; //proton::null n;
+                msg.body(v); //msg.body(n);
             } else if (_amqpType.compare("boolean") == 0) {
                 std::string testValueStr(testValue.asString());
                 if (testValueStr.compare("True") == 0) {
-                    msg.body(proton::amqp_boolean(true));
+                    msg.body(true);
                 } else if (testValueStr.compare("False") == 0) {
-                    msg.body(proton::amqp_boolean(false));
+                    msg.body(false);
                 } else {
                     throw qpidit::InvalidTestValueError(_amqpType, testValueStr);
                 }
             } else if (_amqpType.compare("ubyte") == 0) {
-                setIntegralValue<proton::amqp_ubyte>(msg, testValue.asString(), true);
+                setIntegralValue<uint8_t>(msg, testValue.asString(), true);
             } else if (_amqpType.compare("ushort") == 0) {
-                setIntegralValue<proton::amqp_ushort>(msg, testValue.asString(), true);
+                setIntegralValue<uint16_t>(msg, testValue.asString(), true);
             } else if (_amqpType.compare("uint") == 0) {
-                setIntegralValue<proton::amqp_uint>(msg, testValue.asString(), true);
+                setIntegralValue<uint32_t>(msg, testValue.asString(), true);
             } else if (_amqpType.compare("ulong") == 0) {
-                setIntegralValue<proton::amqp_ulong>(msg, testValue.asString(), true);
+                setIntegralValue<uint64_t>(msg, testValue.asString(), true);
             } else if (_amqpType.compare("byte") == 0) {
-                setIntegralValue<proton::amqp_byte>(msg, testValue.asString(), false);
+                setIntegralValue<int8_t>(msg, testValue.asString(), false);
             } else if (_amqpType.compare("short") == 0) {
-                setIntegralValue<proton::amqp_short>(msg, testValue.asString(), false);
+                setIntegralValue<int16_t>(msg, testValue.asString(), false);
             } else if (_amqpType.compare("int") == 0) {
-                setIntegralValue<proton::amqp_int>(msg, testValue.asString(), false);
+                setIntegralValue<int32_t>(msg, testValue.asString(), false);
             } else if (_amqpType.compare("long") == 0) {
-                setIntegralValue<proton::amqp_long>(msg, testValue.asString(), false);
+                setIntegralValue<int64_t>(msg, testValue.asString(), false);
             } else if (_amqpType.compare("float") == 0) {
-                setFloatValue<proton::amqp_float, uint32_t>(msg, testValue.asString());
+                setFloatValue<float, uint32_t>(msg, testValue.asString());
             } else if (_amqpType.compare("double") == 0) {
-                setFloatValue<proton::amqp_double, uint64_t>(msg, testValue.asString());
+                setFloatValue<double, uint64_t>(msg, testValue.asString());
             } else if (_amqpType.compare("decimal32") == 0) {
-                proton::amqp_decimal32 val;
-                val.value = std::strtoul(testValue.asString().data(), NULL, 16);
+                proton::decimal32 val;
+                hexStringToBytearray(val, testValue.asString().substr(2));
                 msg.body(val);
             } else if (_amqpType.compare("decimal64") == 0) {
-                proton::amqp_decimal64 val;
-                val.value = std::strtoul(testValue.asString().data(), NULL, 16);
+                proton::decimal64 val;
+                hexStringToBytearray(val, testValue.asString().substr(2));
                 msg.body(val);
             } else if (_amqpType.compare("decimal128") == 0) {
-                std::string testValueStr(testValue.asString());
-                if (testValueStr.size() != 34) { throw qpidit::InvalidTestValueError(_amqpType, testValueStr); }
-
-                const std::string s1 = testValueStr.substr(2, 16);
-                uint64_t p1 = std::strtoul(s1.data(), NULL, 16);
-                const std::string s2 = testValueStr.substr(18, 16);
-                uint64_t p2 = std::strtoul(s2.data(), NULL, 16);
-
-                proton::amqp_decimal128 val;
-                uint64ToChar16((char*)val.value.bytes, p1, p2);
+                proton::decimal128 val;
+                hexStringToBytearray(val, testValue.asString().substr(2));
                 msg.body(val);
             } else if (_amqpType.compare("char") == 0) {
                 std::string charStr = testValue.asString();
@@ -143,31 +136,34 @@ namespace qpidit
                 } else {
                     //TODO throw format error
                 }
-                msg.body(proton::amqp_char(val));
+                msg.body(val);
             } else if (_amqpType.compare("timestamp") == 0) {
-                proton::amqp_timestamp val;
-                val.milliseconds = std::strtoul(testValue.asString().data(), NULL, 16);
+                proton::timestamp val(std::strtoul(testValue.asString().data(), NULL, 16));
                 msg.body(val);
             } else if (_amqpType.compare("uuid") == 0) {
-                std::string testValueStr(testValue.asString());
-                if (testValueStr.size() != 36) { throw qpidit::InvalidTestValueError(_amqpType, testValueStr); }
+                proton::uuid val;
+                std::string uuidStr(testValue.asString());
                 // Expected format: "00000000-0000-0000-0000-000000000000"
-                std::ostringstream oss1;
-                oss1 << testValueStr.substr(0, 8) << testValueStr.substr(9, 4) << testValueStr.substr(14, 4);
-                uint64_t p1 = std::strtoul(oss1.str().data(), NULL, 16);
-                std::ostringstream oss2;
-                oss2 << testValueStr.substr(19, 4) << testValueStr.substr(24);
-                uint64_t p2 = std::strtoul(oss2.str().data(), NULL, 16);
-
-                proton::amqp_uuid val;
-                uint64ToChar16((char*)val.value.bytes, p1, p2);
+                //                   ^        ^    ^    ^    ^
+                //    start index -> 0        9    14   19   24
+                hexStringToBytearray(val, uuidStr.substr(0, 8), 0, 4);
+                hexStringToBytearray(val, uuidStr.substr(9, 4), 4, 2);
+                hexStringToBytearray(val, uuidStr.substr(14, 4), 6, 2);
+                hexStringToBytearray(val, uuidStr.substr(19, 4), 8, 2);
+                hexStringToBytearray(val, uuidStr.substr(24, 12), 10, 6);
                 msg.body(val);
             } else if (_amqpType.compare("binary") == 0) {
-                setStringValue<proton::amqp_binary>(msg, testValue.asString());
+                //setStringValue<proton::amqp_binary>(msg, testValue.asString());
+                proton::amqp_binary val(testValue.asString());
+                msg.body(val);
             } else if (_amqpType.compare("string") == 0) {
-                setStringValue<proton::amqp_string>(msg, testValue.asString());
+                //setStringValue<proton::amqp_string>(msg, testValue.asString());
+                proton::amqp_string val(testValue.asString());
+                msg.body(val);
             } else if (_amqpType.compare("symbol") == 0) {
-                setStringValue<proton::amqp_symbol>(msg, testValue.asString());
+                //setStringValue<proton::amqp_symbol>(msg, testValue.asString());
+                proton::amqp_symbol val(testValue.asString());
+                msg.body(val);
             } else if (_amqpType.compare("list") == 0) {
                 std::vector<proton::value> list;
                 processList(list, testValue);
@@ -203,18 +199,20 @@ namespace qpidit
         proton::value AmqpSender::extractProtonValue(const Json::Value& val) {
             switch (val.type()) {
             case Json::nullValue:
-                proton::amqp_null n;
-                return proton::value(n);
+            {
+                proton::value v; //proton::null n;
+                return v; //proton::value(n);
+            }
             case Json::intValue:
-                return proton::value(proton::amqp_int(val.asInt()));
+                return proton::value(val.asInt());
             case Json::uintValue:
-                return proton::value(proton::amqp_uint(val.asUInt()));
+                return proton::value(val.asUInt());
             case Json::realValue:
-                return proton::value(proton::amqp_double(val.asDouble()));
+                return proton::value(val.asDouble());
             case Json::stringValue:
-                return proton::value(proton::amqp_string(val.asString()));
+                return proton::value(val.asString());
             case Json::booleanValue:
-                return proton::value(proton::amqp_boolean(val.asBool()));
+                return proton::value(val.asBool());
             default:;
             }
         }
@@ -242,17 +240,17 @@ namespace qpidit
                 } else {
                     proton::value v;
                     if ((*i).isNull())
-                        v = proton::amqp_null();
-                    if ((*i).isBool())
-                        v = proton::amqp_boolean((*i).asBool());
+                        ;
+                    else if ((*i).isBool())
+                        v = (*i).asBool();
                     else if ((*i).isInt())
-                        v = proton::amqp_int((*i).asInt());
+                        v = (*i).asInt();
                     else if ((*i).isUInt())
-                        v = proton::amqp_uint((*i).asUInt());
+                        v = (*i).asUInt();
                     else if ((*i).isDouble())
-                        v = proton::amqp_double((*i).asDouble());
+                        v = (*i).asDouble();
                     else if ((*i).isString())
-                        v = proton::amqp_string((*i).asString());
+                        v = (*i).asString();
                     else
                         ; // TODO handle this case
                     array.push_back(v);

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.hpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.hpp b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.hpp
index 79f5ba0..b44431b 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.hpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/AmqpSender.hpp
@@ -22,6 +22,7 @@
 #ifndef SRC_QPIDIT_SHIM_AMQPSENDER_HPP_
 #define SRC_QPIDIT_SHIM_AMQPSENDER_HPP_
 
+#include <iomanip>
 #include <json/value.h>
 #include "proton/handler.hpp"
 #include "proton/message.hpp"
@@ -61,6 +62,12 @@ namespace qpidit
             static void processList(std::vector<proton::value>& list, const Json::Value& testValues);
             static void processMap(std::map<std::string, proton::value>& map, const Json::Value& testValues);
 
+            template<size_t N> static void hexStringToBytearray(proton::byte_array<N>& ba, const std::string s, size_t fromArrayIndex = 0, size_t arrayLen = N) {
+                for (size_t i=0; i<arrayLen; ++i) {
+                    ba[fromArrayIndex + i] = (char)std::strtoul(s.substr(2*i, 2).c_str(), NULL, 16);
+                }
+            }
+
             // Set message body to floating type T through integral type U
             // Used to convert a hex string representation of a float or double to a float or double
             template<typename T, typename U> void setFloatValue(proton::message& msg, const std::string& testValueStr) {

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.cpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.cpp b/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.cpp
index ef899ec..2320824 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.cpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.cpp
@@ -35,7 +35,7 @@ namespace qpidit
         typedef enum {JMS_MESSAGE_TYPE=0, JMS_OBJECTMESSAGE_TYPE, JMS_MAPMESSAGE_TYPE, JMS_BYTESMESSAGE_TYPE, JMS_STREAMMESSAGE_TYPE, JMS_TEXTMESSAGE_TYPE} jmsMessageType_t;
         //static
         proton::amqp_symbol JmsReceiver::s_jmsMessageTypeAnnotationKey("x-opt-jms-msg-type");
-        std::map<std::string, proton::amqp_byte>JmsReceiver::s_jmsMessageTypeAnnotationValues = initializeJmsMessageTypeAnnotationMap();
+        std::map<std::string, int8_t>JmsReceiver::s_jmsMessageTypeAnnotationValues = initializeJmsMessageTypeAnnotationMap();
 
 
         JmsReceiver::JmsReceiver(const std::string& brokerUrl,
@@ -66,7 +66,7 @@ namespace qpidit
         void JmsReceiver::on_message(proton::event &e) {
             proton::message& msg = e.message();
             if (_received < _expected) {
-                switch (msg.message_annotations()[proton::amqp_symbol("x-opt-jms-msg-type")].get<proton::amqp_byte>()) {
+                switch (msg.message_annotations()[proton::amqp_symbol("x-opt-jms-msg-type")].get<int8_t>()) {
                 case JMS_MESSAGE_TYPE:
                     receiveJmsMessage(msg);
                     break;
@@ -138,27 +138,27 @@ namespace qpidit
                 }
                 proton::value val = i->second;
                 if (subType.compare("boolean") == 0) {
-                    _receivedSubTypeList.append(val.get<proton::amqp_boolean>() ? Json::Value("True") : Json::Value("False"));
+                    _receivedSubTypeList.append(val.get<bool>() ? Json::Value("True") : Json::Value("False"));
                 } else if (subType.compare("byte") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<int8_t>(val.get<proton::amqp_byte>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int8_t>(val.get<int8_t>())));
                 } else if (subType.compare("bytes") == 0) {
                     _receivedSubTypeList.append(Json::Value(val.get<proton::amqp_binary>()));
                 } else if (subType.compare("char") == 0) {
                     std::ostringstream oss;
-                    oss << (char)val.get<proton::amqp_char>();
+                    oss << (char)val.get<wchar_t>();
                     _receivedSubTypeList.append(Json::Value(oss.str()));
                 } else if (subType.compare("double") == 0) {
-                    proton::amqp_double d = val.get<proton::amqp_double>();
+                    double d = val.get<double>();
                     _receivedSubTypeList.append(Json::Value(toHexStr<int64_t>(*((int64_t*)&d), true, false)));
                 } else if (subType.compare("float") == 0) {
-                    proton::amqp_float f = val.get<proton::amqp_float>();
+                    float f = val.get<float>();
                     _receivedSubTypeList.append(Json::Value(toHexStr<int32_t>(*((int32_t*)&f), true, false)));
                 } else if (subType.compare("int") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<int32_t>(val.get<proton::amqp_int>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int32_t>(val.get<int32_t>())));
                 } else if (subType.compare("long") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<int64_t>(val.get<proton::amqp_long>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int64_t>(val.get<int64_t>())));
                 } else if (subType.compare("short") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<int16_t>(val.get<proton::amqp_short>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int16_t>(val.get<int16_t>())));
                 } else if (subType.compare("string") == 0) {
                     _receivedSubTypeList.append(Json::Value(val.get<proton::amqp_string>()));
                 } else {
@@ -226,27 +226,27 @@ namespace qpidit
             msg.body().get(l);
             for (std::vector<proton::value>::const_iterator i=l.begin(); i!=l.end(); ++i) {
                 if (subType.compare("boolean") == 0) {
-                    _receivedSubTypeList.append(i->get<proton::amqp_boolean>() ? Json::Value("True") : Json::Value("False"));
+                    _receivedSubTypeList.append(i->get<bool>() ? Json::Value("True") : Json::Value("False"));
                 } else if (subType.compare("byte") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<proton::amqp_byte>(i->get<proton::amqp_byte>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int8_t>(i->get<int8_t>())));
                 } else if (subType.compare("bytes") == 0) {
                     _receivedSubTypeList.append(Json::Value(i->get<proton::amqp_binary>()));
                 } else if (subType.compare("char") == 0) {
                     std::ostringstream oss;
-                    oss << (char)i->get<proton::amqp_char>();
+                    oss << (char)i->get<wchar_t>();
                     _receivedSubTypeList.append(Json::Value(oss.str()));
                 } else if (subType.compare("double") == 0) {
-                    proton::amqp_double d = i->get<proton::amqp_double>();
+                    double d = i->get<double>();
                     _receivedSubTypeList.append(Json::Value(toHexStr<int64_t>(*((int64_t*)&d), true, false)));
                 } else if (subType.compare("float") == 0) {
-                    proton::amqp_float f = i->get<proton::amqp_float>();
+                    float f = i->get<float>();
                     _receivedSubTypeList.append(Json::Value(toHexStr<int32_t>(*((int32_t*)&f), true, false)));
                 } else if (subType.compare("int") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<proton::amqp_int>(i->get<proton::amqp_int>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int32_t>(i->get<int32_t>())));
                 } else if (subType.compare("long") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<proton::amqp_long>(i->get<proton::amqp_long>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int64_t>(i->get<int64_t>())));
                 } else if (subType.compare("short") == 0) {
-                    _receivedSubTypeList.append(Json::Value(toHexStr<proton::amqp_short>(i->get<proton::amqp_short>())));
+                    _receivedSubTypeList.append(Json::Value(toHexStr<int16_t>(i->get<int16_t>())));
                 } else if (subType.compare("string") == 0) {
                     _receivedSubTypeList.append(Json::Value(i->get<proton::amqp_string>()));
                 } else {
@@ -264,8 +264,8 @@ namespace qpidit
         }
 
         //static
-        std::map<std::string, proton::amqp_byte> JmsReceiver::initializeJmsMessageTypeAnnotationMap() {
-            std::map<std::string, proton::amqp_byte> m;
+        std::map<std::string, int8_t> JmsReceiver::initializeJmsMessageTypeAnnotationMap() {
+            std::map<std::string, int8_t> m;
             m["JMS_MESSAGE_TYPE"] = JMS_MESSAGE_TYPE;
             m["JMS_OBJECTMESSAGE_TYPE"] = JMS_OBJECTMESSAGE_TYPE;
             m["JMS_MAPMESSAGE_TYPE"] = JMS_MAPMESSAGE_TYPE;

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.hpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.hpp b/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.hpp
index df96fde..22bd337 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.hpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/JmsReceiver.hpp
@@ -38,7 +38,7 @@ namespace qpidit
         {
         protected:
             static proton::amqp_symbol s_jmsMessageTypeAnnotationKey;
-            static std::map<std::string, proton::amqp_byte>s_jmsMessageTypeAnnotationValues;
+            static std::map<std::string, int8_t>s_jmsMessageTypeAnnotationValues;
 
             const std::string _brokerUrl;
             const std::string _jmsMessageType;
@@ -67,7 +67,7 @@ namespace qpidit
             void receiveJmsStreamMessage(const proton::message& msg);
             void receiveJmsTextMessage(const proton::message& msg);
 
-            static std::map<std::string, proton::amqp_byte> initializeJmsMessageTypeAnnotationMap();
+            static std::map<std::string, int8_t> initializeJmsMessageTypeAnnotationMap();
 
             // Format signed numbers in negative hex format if signedFlag is true, ie -0xNNNN, positive numbers in 0xNNNN format
             template<typename T> static std::string toHexStr(T val, bool fillFlag = false, bool signedFlag = true) {

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.cpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.cpp b/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.cpp
index 24e954b..e1874d9 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.cpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.cpp
@@ -37,7 +37,7 @@ namespace qpidit
         typedef enum {JMS_MESSAGE_TYPE=0, JMS_OBJECTMESSAGE_TYPE, JMS_MAPMESSAGE_TYPE, JMS_BYTESMESSAGE_TYPE, JMS_STREAMMESSAGE_TYPE, JMS_TEXTMESSAGE_TYPE} jmsMessageType_t;
         //static
         proton::amqp_symbol JmsSender::s_jmsMessageTypeAnnotationKey("x-opt-jms-msg-type");
-        std::map<std::string, proton::amqp_byte>JmsSender::s_jmsMessageTypeAnnotationValues = initializeJmsMessageTypeAnnotationMap();
+        std::map<std::string, int8_t>JmsSender::s_jmsMessageTypeAnnotationValues = initializeJmsMessageTypeAnnotationMap();
 
         JmsSender::JmsSender(const std::string& brokerUrl,
                              const std::string& jmsMessageType,
@@ -174,11 +174,11 @@ namespace qpidit
             std::string mapKey(oss.str());
             std::map<std::string, proton::value> m;
             if (subType.compare("boolean") == 0) {
-                if (testValueStr.compare("False") == 0) m[mapKey] = proton::amqp_boolean(false);
-                else if (testValueStr.compare("True") == 0) m[mapKey] = proton::amqp_boolean(true);
+                if (testValueStr.compare("False") == 0) m[mapKey] = false;
+                else if (testValueStr.compare("True") == 0) m[mapKey] = true;
                 else throw InvalidTestValueError(subType, testValueStr);
             } else if (subType.compare("byte") == 0) {
-                m[mapKey] = proton::amqp_byte(getIntegralValue<int8_t>(testValueStr));
+                m[mapKey] = int8_t(getIntegralValue<int8_t>(testValueStr));
             } else if (subType.compare("bytes") == 0) {
                 m[mapKey] = proton::amqp_binary(testValueStr);
             } else if (subType.compare("char") == 0) {
@@ -188,17 +188,17 @@ namespace qpidit
                 } else { // Format: 'c'
                     val = testValueStr[0];
                 }
-                m[mapKey] = proton::amqp_char(val);
+                m[mapKey] = val;
             } else if (subType.compare("double") == 0) {
-                m[mapKey] = proton::amqp_double(getFloatValue<double, uint64_t>(testValueStr));
+                m[mapKey] = getFloatValue<double, uint64_t>(testValueStr);
             } else if (subType.compare("float") == 0) {
-                m[mapKey] = proton::amqp_float(getFloatValue<float, uint32_t>(testValueStr));
+                m[mapKey] = getFloatValue<float, uint32_t>(testValueStr);
             } else if (subType.compare("int") == 0) {
-                m[mapKey] = proton::amqp_int(getIntegralValue<int32_t>(testValueStr));
+                m[mapKey] = getIntegralValue<int32_t>(testValueStr);
             } else if (subType.compare("long") == 0) {
-                m[mapKey] = proton::amqp_long(getIntegralValue<int64_t>(testValueStr));
+                m[mapKey] = getIntegralValue<int64_t>(testValueStr);
             } else if (subType.compare("short") == 0) {
-                m[mapKey] = proton::amqp_short(getIntegralValue<int16_t>(testValueStr));
+                m[mapKey] = getIntegralValue<int16_t>(testValueStr);
             } else if (subType.compare("string") == 0) {
                 m[mapKey] = proton::amqp_string(testValueStr);
             } else {
@@ -221,11 +221,11 @@ namespace qpidit
         proton::message& JmsSender::setStreamMessage(proton::message& msg, const std::string& subType, const std::string& testValueStr) {
             std::vector<proton::value> l;
             if (subType.compare("boolean") == 0) {
-                if (testValueStr.compare("False") == 0) l.push_back(proton::value(proton::amqp_boolean(false)));
-                else if (testValueStr.compare("True") == 0) l.push_back(proton::value(proton::amqp_boolean(true)));
+                if (testValueStr.compare("False") == 0) l.push_back(proton::value(false));
+                else if (testValueStr.compare("True") == 0) l.push_back(proton::value(true));
                 else throw InvalidTestValueError(subType, testValueStr);
             } else if (subType.compare("byte") == 0) {
-                l.push_back(proton::value(proton::amqp_byte(getIntegralValue<int8_t>(testValueStr))));
+                l.push_back(proton::value(int8_t(getIntegralValue<int8_t>(testValueStr))));
             } else if (subType.compare("bytes") == 0) {
                 l.push_back(proton::value(proton::amqp_binary(testValueStr)));
             } else if (subType.compare("char") == 0) {
@@ -235,17 +235,17 @@ namespace qpidit
                 } else { // Format: 'c'
                     val = testValueStr[0];
                 }
-                l.push_back(proton::value(proton::amqp_char(val)));
+                l.push_back(proton::value(val));
             } else if (subType.compare("double") == 0) {
-                l.push_back(proton::value(proton::amqp_double(getFloatValue<double, uint64_t>(testValueStr))));
+                l.push_back(proton::value(getFloatValue<double, uint64_t>(testValueStr)));
             } else if (subType.compare("float") == 0) {
-                l.push_back(proton::value(proton::amqp_float(getFloatValue<float, uint32_t>(testValueStr))));
+                l.push_back(proton::value(getFloatValue<float, uint32_t>(testValueStr)));
             } else if (subType.compare("int") == 0) {
-                l.push_back(proton::value(proton::amqp_int(getIntegralValue<int32_t>(testValueStr))));
+                l.push_back(proton::value(getIntegralValue<int32_t>(testValueStr)));
             } else if (subType.compare("long") == 0) {
-                l.push_back(proton::value(proton::amqp_long(getIntegralValue<int64_t>(testValueStr))));
+                l.push_back(proton::value(getIntegralValue<int64_t>(testValueStr)));
             } else if (subType.compare("short") == 0) {
-                l.push_back(proton::value(proton::amqp_short(getIntegralValue<int16_t>(testValueStr))));
+                l.push_back(proton::value(getIntegralValue<int16_t>(testValueStr)));
             } else if (subType.compare("string") == 0) {
                 l.push_back(proton::value(proton::amqp_string(testValueStr)));
             } else {
@@ -292,8 +292,8 @@ namespace qpidit
         }
 
         //static
-        std::map<std::string, proton::amqp_byte> JmsSender::initializeJmsMessageTypeAnnotationMap() {
-            std::map<std::string, proton::amqp_byte> m;
+        std::map<std::string, int8_t> JmsSender::initializeJmsMessageTypeAnnotationMap() {
+            std::map<std::string, int8_t> m;
             m["JMS_MESSAGE_TYPE"] = JMS_MESSAGE_TYPE;
             m["JMS_OBJECTMESSAGE_TYPE"] = JMS_OBJECTMESSAGE_TYPE;
             m["JMS_MAPMESSAGE_TYPE"] = JMS_MAPMESSAGE_TYPE;

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.hpp
----------------------------------------------------------------------
diff --git a/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.hpp b/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.hpp
index 7ffca2c..913f400 100644
--- a/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.hpp
+++ b/shims/qpid-proton-cpp/src/qpidit/shim/JmsSender.hpp
@@ -40,7 +40,7 @@ namespace qpidit
         {
         protected:
             static proton::amqp_symbol s_jmsMessageTypeAnnotationKey;
-            static std::map<std::string, proton::amqp_byte>s_jmsMessageTypeAnnotationValues;
+            static std::map<std::string, int8_t>s_jmsMessageTypeAnnotationValues;
 
             const std::string _brokerUrl;
             const std::string _jmsMessageType;
@@ -66,7 +66,7 @@ namespace qpidit
             static proton::amqp_binary getJavaObjectBinary(const std::string& javaClassName, const std::string& valAsString);
             static uint32_t getTotalNumMessages(const Json::Value& testValueMap);
 
-            static std::map<std::string, proton::amqp_byte> initializeJmsMessageTypeAnnotationMap();
+            static std::map<std::string, int8_t> initializeJmsMessageTypeAnnotationMap();
 
             // Set message body to floating type T through integral type U
             // Used to convert a hex string representation of a float or double to a float or double

http://git-wip-us.apache.org/repos/asf/qpid-interop-test/blob/ab84b0ee/src/py/qpid-interop-test/jms/jms_message_tests.py
----------------------------------------------------------------------
diff --git a/src/py/qpid-interop-test/jms/jms_message_tests.py b/src/py/qpid-interop-test/jms/jms_message_tests.py
index b92d98c..244b235 100755
--- a/src/py/qpid-interop-test/jms/jms_message_tests.py
+++ b/src/py/qpid-interop-test/jms/jms_message_tests.py
@@ -51,129 +51,10 @@ class JmsMessageTypes(TestTypeMap):
     TYPE_SUBMAP = {
         'boolean': ['True',
                     'False'],
-        'byte': ['-0x80',
-                 '-0x1',
-                 '0x0',
-                 '0x7f'],
-        'bytes': [b'',
-                  b'12345',
-                  b'Hello, world',
-                  b'\\x01\\x02\\x03\\x04\\x05abcde\\x80\\x81\\xfe\\xff',
-                  b'The quick brown fox jumped over the lazy dog 0123456789.' * 100],
-        'char': ['a',
-                 'Z',
-                 '\x01',
-                 '\x7f'],
-        'double': ['0x0000000000000000', # 0.0
-                   '0x8000000000000000', # -0.0
-                   '0x400921fb54442eea', # pi (3.14159265359) positive decimal
-                   '0xc005bf0a8b145fcf', # -e (-2.71828182846) negative decimal
-                   '0x0000000000000001', # Smallest positive denormalized number
-                   '0x8000000000000001', # Smallest negative denormalized number
-                   '0x000fffffffffffff', # Largest positive denormalized number
-                   '0x8010000000000000', # Largest negative denormalized number
-                   '0x7fefffffffffffff', # Largest positive normalized number
-                   '0xffefffffffffffff', # Largest negative normalized number
-                   '0x7ff0000000000000', # +Infinity
-                   '0xfff0000000000000', # -Infinity
-                   '0x7ff8000000000000'], # +NaN
-        'float': ['0x00000000', # 0.0
-                  '0x80000000', # -0.0
-                  '0x40490fdb', # pi (3.14159265359) positive decimal
-                  '0xc02df854', # -e (-2.71828182846) negative decimal
-                  '0x00000001', # Smallest positive denormalized number
-                  '0x80000001', # Smallest negative denormalized number
-                  '0x007fffff', # Largest positive denormalized number
-                  '0x807fffff', # Largest negative denormalized number
-                  '0x00800000', # Smallest positive normalized number
-                  '0x80800000', # Smallest negative normalized number
-                  '0x7f7fffff', # Largest positive normalized number
-                  '0xff7fffff', # Largest negative normalized number
-                  #'0x7f800000', # +Infinity  # PROTON-1149 - fails on RHEL7
-                  #'0xff800000', # -Infinity # PROTON-1149 - fails on RHEL7
-                  '0x7fc00000'], # +NaN
-        'int': ['-0x80000000',
-                '-0x81',
-                '-0x80',
-                '-0x1',
-                '0x0',
-                '0x7f',
-                '0x80',
-                '0x7fffffff'],
-        'long': ['-0x8000000000000000',
-                 '-0x81',
-                 '-0x80',
-                 '-0x1',
-                 '0x0',
-                 '0x7f',
-                 '0x80',
-                 '0x7fffffffffffffff'],
-        'short': ['-0x8000',
-                  '-0x1',
-                  '0x0',
-                  '0x7fff'],
-        'string': ['',
-                   'Hello, world',
-                   '"Hello, world"',
-                   "Charlie's \"peach\"",
-                   'Charlie\'s "peach"',
-                   'The quick brown fox jumped over the lazy dog 0123456789.' * 100]
         }
 
     TYPE_MAP = {
         'JMS_BYTESMESSAGE_TYPE': TYPE_SUBMAP,
-        'JMS_MAPMESSAGE_TYPE': TYPE_SUBMAP,
-#        'JMS_OBJECTMESSAGE_TYPE': {
-#            'java.lang.Boolean': ['true',
-#                                  'false'],
-#            'java.lang.Byte': ['-128',
-#                               '0',
-#                               '127'],
-#            'java.lang.Character': [u'a',
-#                                    u'Z'],
-#            'java.lang.Double': ['0.0',
-#                                 '3.141592654',
-#                                 '-2.71828182846'],
-#            'java.lang.Float': ['0.0',
-#                                '3.14159',
-#                                '-2.71828'],
-#            'java.lang.Integer': ['-2147483648',
-#                                  '-129',
-#                                  '-128',
-#                                  '-1',
-#                                  '0',
-#                                  '127',
-#                                  '128',
-#                                  '2147483647'],
-#            'java.lang.Long' : ['-9223372036854775808',
-#                                '-129',
-#                                '-128',
-#                                '-1',
-#                                '0',
-#                                '127',
-#                                '128',
-#                                '9223372036854775807'],
-#            'java.lang.Short': ['-32768',
-#                                '-129',
-#                                '-128',
-#                                '-1',
-#                                '0',
-#                                '127',
-#                                '128',
-#                                '32767'],
-#            'java.lang.String': [u'',
-#                                 u'Hello, world',
-#                                 u'"Hello, world"',
-#                                 u"Charlie's \"peach\"",
-#                                 u'Charlie\'s "peach"']
-#            },
-        'JMS_STREAMMESSAGE_TYPE': TYPE_SUBMAP,
-        'JMS_TEXTMESSAGE_TYPE': {'text': ['',
-                                          'Hello, world',
-                                          '"Hello, world"',
-                                          "Charlie's \"peach\"",
-                                          'Charlie\'s "peach"',
-                                          'The quick brown fox jumped over the lazy dog 0123456789.' * 100]}
         }
 
     BROKER_SKIP = {}


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