Author: senaka
Date: Tue Oct 21 17:47:45 2008
New Revision: 706824

URL: http://svn.apache.org/viewvc?rev=706824&view=rev
Log:
Adding tests for JMS Map Messages

Modified:
    
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/MapMessageInputStream.java
    
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/LogAspect.java
    
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java

Modified: 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/MapMessageInputStream.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/MapMessageInputStream.java?rev=706824&r1=706823&r2=706824&view=diff
==============================================================================
--- 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/MapMessageInputStream.java
 (original)
+++ 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/MapMessageInputStream.java
 Tue Oct 21 17:47:45 2008
@@ -18,6 +18,7 @@
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.ds.MapDataSource;
+import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.transport.base.BaseConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -48,6 +49,10 @@
         this.encoding = encoding;
     }
 
+    public MapMessageInputStream(MapMessage message) {
+        this(message, MessageContext.DEFAULT_CHAR_SET_ENCODING);
+    } 
+
     private ByteArrayInputStream getByteStream() {
         if (byteStream != null) {
             return byteStream;

Modified: 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/LogAspect.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/LogAspect.java?rev=706824&r1=706823&r2=706824&view=diff
==============================================================================
--- 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/LogAspect.java
 (original)
+++ 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/LogAspect.java
 Tue Oct 21 17:47:45 2008
@@ -25,6 +25,7 @@
 import java.util.Enumeration;
 
 import javax.jms.BytesMessage;
+import javax.jms.MapMessage;
 import javax.jms.Message;
 import javax.jms.TextMessage;
 
@@ -65,6 +66,9 @@
                 } else if (message instanceof TextMessage) {
                     pw.print(((TextMessage)message).getText());
                     pw.flush();
+                } else if (message instanceof MapMessage) {
+                    MapMessage mapMessage = (MapMessage)message;
+                    IOUtils.copy(new MapMessageInputStream(mapMessage), out);
                 }
             } finally {
                 out.close();

Modified: 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java?rev=706824&r1=706823&r2=706824&view=diff
==============================================================================
--- 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java
 (original)
+++ 
webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/tests/src/test/java/org/apache/axis2/transport/jms/MockEchoEndpoint.java
 Tue Oct 21 17:47:45 2008
@@ -19,11 +19,14 @@
 
 package org.apache.axis2.transport.jms;
 
+import java.util.Enumeration;
+
 import javax.jms.BytesMessage;
 import javax.jms.Connection;
 import javax.jms.Destination;
 import javax.jms.ExceptionListener;
 import javax.jms.JMSException;
+import javax.jms.MapMessage;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageListener;
@@ -71,6 +74,14 @@
                     } else if (message instanceof TextMessage) {
                         reply = replySession.createTextMessage();
                         
((TextMessage)reply).setText(((TextMessage)message).getText());
+                    } else if (message instanceof MapMessage) {
+                        reply = replySession.createMapMessage();
+                        MapMessage mapMessage = (MapMessage)message;
+                        for (Enumeration e = mapMessage.getMapNames() ; 
e.hasMoreElements() ;) {
+                            String key = (String) e.nextElement();
+                            Object value = mapMessage.getObject(key);
+                            ((MapMessage)reply).setObject(key, value);
+                        }
                     } else {
                         // TODO
                         throw new UnsupportedOperationException("Unsupported 
message type");


Reply via email to