diff options
Diffstat (limited to 'java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java')
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java index be71c8c657..6e22292ee0 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java @@ -23,12 +23,11 @@ package org.apache.qpid.client.message; import java.util.List; import java.util.Map; -import java.util.UUID; -import java.nio.ByteBuffer; import javax.jms.JMSException; import javax.jms.MessageFormatException; +import org.apache.mina.common.ByteBuffer; import org.apache.qpid.AMQException; import org.apache.qpid.transport.codec.BBDecoder; import org.apache.qpid.transport.codec.BBEncoder; @@ -66,7 +65,7 @@ public class AMQPEncodedMapMessage extends JMSMapMessage if ((value instanceof Boolean) || (value instanceof Byte) || (value instanceof Short) || (value instanceof Integer) || (value instanceof Long) || (value instanceof Character) || (value instanceof Float) || (value instanceof Double) || (value instanceof String) || (value instanceof byte[]) - || (value instanceof List) || (value instanceof Map) || (value instanceof UUID) || (value == null)) + || (value instanceof List) || (value instanceof Map) || (value == null)) { _map.put(propName, value); } @@ -81,19 +80,18 @@ public class AMQPEncodedMapMessage extends JMSMapMessage @ Override public ByteBuffer getData() { - BBEncoder encoder = new BBEncoder(1024); - encoder.writeMap(_map); - return encoder.segment(); + writeMapToData(); + return _data; } @ Override - protected void populateMapFromData(ByteBuffer data) throws JMSException + protected void populateMapFromData() throws JMSException { - if (data != null) + if (_data != null) { - data.rewind(); + _data.rewind(); BBDecoder decoder = new BBDecoder(); - decoder.init(data); + decoder.init(_data.buf()); _map = decoder.readMap(); } else @@ -102,8 +100,16 @@ public class AMQPEncodedMapMessage extends JMSMapMessage } } + @ Override + protected void writeMapToData() + { + BBEncoder encoder = new BBEncoder(1024); + encoder.writeMap(_map); + _data = ByteBuffer.wrap(encoder.segment()); + } + // for testing - public Map<String,Object> getMap() + Map<String,Object> getMap() { return _map; } |