You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2011/03/01 19:21:27 UTC

svn commit: r1075961 - in /qpid/trunk/qpid/java: client/src/main/java/org/apache/qpid/client/message/ common/src/main/java/org/apache/qpid/transport/codec/ systests/src/main/java/org/apache/qpid/client/message/

Author: rajith
Date: Tue Mar  1 18:21:27 2011
New Revision: 1075961

URL: http://svn.apache.org/viewvc?rev=1075961&view=rev
Log:
QPID-3098
This commit allows a MapMessage to accept an UUID object in it's setObject method.
Added test cases for directly setting UUID objects or inside Maps and Lists that gets set into the MapMessage body.

Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java
    qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/AbstractEncoder.java
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java?rev=1075961&r1=1075960&r2=1075961&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessage.java Tue Mar  1 18:21:27 2011
@@ -23,6 +23,7 @@ package org.apache.qpid.client.message;
 
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 import javax.jms.JMSException;
 import javax.jms.MessageFormatException;
@@ -65,7 +66,7 @@ public class AMQPEncodedMapMessage exten
         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))
+                || (value instanceof List) || (value instanceof Map) || (value instanceof UUID) || (value == null))
         {
             _map.put(propName, value);
         }

Modified: qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/AbstractEncoder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/AbstractEncoder.java?rev=1075961&r1=1075960&r2=1075961&view=diff
==============================================================================
--- qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/AbstractEncoder.java (original)
+++ qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/codec/AbstractEncoder.java Tue Mar  1 18:21:27 2011
@@ -63,6 +63,7 @@ abstract class AbstractEncoder implement
         ENCODINGS.put(Double.class, Type.DOUBLE);
         ENCODINGS.put(Character.class, Type.CHAR);
         ENCODINGS.put(byte[].class, Type.VBIN32);
+        ENCODINGS.put(UUID.class, Type.UUID);
     }
 
     private final Map<String,byte[]> str8cache = new LinkedHashMap<String,byte[]>()

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java?rev=1075961&r1=1075960&r2=1075961&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/message/AMQPEncodedMapMessageTest.java Tue Mar  1 18:21:27 2011
@@ -27,6 +27,7 @@ import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.UUID;
 
 import javax.jms.Connection;
 import javax.jms.JMSException;
@@ -51,6 +52,7 @@ public class AMQPEncodedMapMessageTest e
     private Session _session;
     MessageConsumer _consumer;
     MessageProducer _producer;
+    UUID myUUID = UUID.randomUUID();
     
     public void setUp() throws Exception
     {
@@ -119,7 +121,8 @@ public class AMQPEncodedMapMessageTest e
         m.setFloat("Float", Integer.MAX_VALUE + 5000);
         m.setInt("Int", Integer.MAX_VALUE - 5000);
         m.setShort("Short", (short)58);
-        m.setString("String", "Hello");            
+        m.setString("String", "Hello"); 
+        m.setObject("uuid", myUUID);
         _producer.send(m);
         
         AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT);
@@ -140,6 +143,7 @@ public class AMQPEncodedMapMessageTest e
         assertEquals(Integer.MAX_VALUE - 5000,m.getInt("Int"));
         assertEquals((short)58,m.getShort("Short"));
         assertEquals("Hello",m.getString("String"));
+        assertEquals(myUUID,(UUID)m.getObject("uuid"));
     }
     
     
@@ -149,7 +153,11 @@ public class AMQPEncodedMapMessageTest e
         
         List<Integer> myList = getList();
         
-        m.setObject("List", myList);            
+        m.setObject("List", myList);   
+        
+        List<UUID> uuidList = new ArrayList<UUID>();
+        uuidList.add(myUUID);
+        m.setObject("uuid-list", uuidList);
         _producer.send(m);
         
         AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT);
@@ -167,6 +175,10 @@ public class AMQPEncodedMapMessageTest e
             assertEquals(i,j.intValue());
             i++;
         }
+        
+        List<UUID> list2 = (List<UUID>)msg.getObject("uuid-list");
+        assertNotNull("UUID List not received",list2);
+        assertEquals(myUUID,list2.get(0));        
     }
     
     public void testMessageWithMapEntries() throws JMSException
@@ -174,8 +186,12 @@ public class AMQPEncodedMapMessageTest e
         MapMessage m = _session.createMapMessage();
         
         Map<String,String> myMap = getMap();
+        m.setObject("Map", myMap);          
+        
+        Map<String,UUID> uuidMap = new HashMap<String,UUID>();
+        uuidMap.put("uuid", myUUID);
+        m.setObject("uuid-map", uuidMap);      
         
-        m.setObject("Map", myMap);            
         _producer.send(m);
         
         AMQPEncodedMapMessage msg = (AMQPEncodedMapMessage)_consumer.receive(RECEIVE_TIMEOUT);
@@ -191,6 +207,10 @@ public class AMQPEncodedMapMessageTest e
             assertEquals("String" + i,map.get("Key" + i));
             i++;
         }
+        
+        Map<String,UUID> map2 = (Map<String,UUID>)msg.getObject("uuid-map");
+        assertNotNull("Map not received",map2);
+        assertEquals(myUUID,map2.get("uuid"));   
     }
     
     public void testMessageWithNestedListsAndMaps() throws JMSException



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org