diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2010-04-09 15:37:06 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2010-04-09 15:37:06 +0000 |
| commit | 0db7d33b5193a195dbd0cbda3160ed91c107247d (patch) | |
| tree | b03ad5028fa70afbce6f6839f74fe473d9e1be63 /java/client | |
| parent | 178f17b6a82df278116c026c7f67443cb92b52c2 (diff) | |
| download | qpid-python-0db7d33b5193a195dbd0cbda3160ed91c107247d.tar.gz | |
This is a fix for QPID-2493
Added test cases as well.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@932467 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java | 21 | ||||
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java | 2 |
2 files changed, 22 insertions, 1 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 f66387e734..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 @@ -21,9 +21,11 @@ package org.apache.qpid.client.message; */ +import java.util.List; import java.util.Map; import javax.jms.JMSException; +import javax.jms.MessageFormatException; import org.apache.mina.common.ByteBuffer; import org.apache.qpid.AMQException; @@ -54,6 +56,25 @@ public class AMQPEncodedMapMessage extends JMSMapMessage { return MIME_TYPE; } + + @ Override + public void setObject(String propName, Object value) throws JMSException + { + checkWritable(); + checkPropertyName(propName); + 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 == null)) + { + _map.put(propName, value); + } + else + { + throw new MessageFormatException("Cannot set property " + propName + " to value " + value + "of type " + + value.getClass().getName() + "."); + } + } // The super clas methods resets the buffer @ Override diff --git a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java index 73f3afab03..306ffeeadf 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java @@ -445,7 +445,7 @@ public class JMSMapMessage extends AbstractBytesTypedMessage implements javax.jm } } - private void checkPropertyName(String propName) + protected void checkPropertyName(String propName) { if ((propName == null) || propName.equals("")) { |
