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");