summaryrefslogtreecommitdiff
path: root/java/client
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2010-04-09 15:37:06 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2010-04-09 15:37:06 +0000
commit0db7d33b5193a195dbd0cbda3160ed91c107247d (patch)
treeb03ad5028fa70afbce6f6839f74fe473d9e1be63 /java/client
parent178f17b6a82df278116c026c7f67443cb92b52c2 (diff)
downloadqpid-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.java21
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/JMSMapMessage.java2
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(""))
{