Hi Senaka,

Some quick comments:
* I sent some comments in the other thread
(http://markmail.org/message/vcnfattmwvt4jd7i), but I didn't see an
answer yet. Maybe you missed the post? I think we should first
concentrate on that part of the code.
* MapMessageInputStream is no longer used; is that correct? If yes,
please remove it.
* Can you try to reduce the amount of duplicate code related to
MapMessages in JMSSender? That would make it more readable.

Cheers,

Andreas


On Mon, Nov 3, 2008 at 15:45, Senaka Fernando <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> Sorry that I forgot to mention in the commit message; this commit has
> introduced Map Message support that is NOT USING STREAMS (I accept the fact
> that this again might not be 100%) as suggested by Andreas. However, it is
> still partial and I still have a lot of refactoring to do before I can say
> this is final. Meanwhile I'd like to know, especially from Andreas whether
> this meets the requirements expected.
>
> Thanks,
> Senaka
>
> On Mon, Nov 3, 2008 at 7:54 PM, <[EMAIL PROTECTED]> wrote:
>
>> Author: senaka
>> Date: Mon Nov  3 06:24:12 2008
>> New Revision: 710062
>>
>> URL: http://svn.apache.org/viewvc?rev=710062&view=rev
>> Log:
>> Intermediate working version of JMS Map Message support.
>>
>> Modified:
>>
>>  
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
>>
>>  
>> 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/testkit/src/main/java/org/apache/axis2/transport/testkit/tests/echo/XMLMapRequestResponseMessageTestCase.java
>>
>> Modified:
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.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/JMSUtils.java?rev=710062&r1=710061&r2=710062&view=diff
>>
>> ==============================================================================
>> ---
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
>> (original)
>> +++
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/jms/src/main/java/org/apache/axis2/transport/jms/JMSUtils.java
>> Mon Nov  3 06:24:12 2008
>> @@ -15,7 +15,11 @@
>>  */
>>  package org.apache.axis2.transport.jms;
>>
>> +import org.apache.axiom.om.OMAbstractFactory;
>>  import org.apache.axiom.om.OMElement;
>> +import org.apache.axiom.om.OMFactory;
>> +import org.apache.axiom.om.OMNamespace;
>> +import org.apache.axiom.om.ds.MapDataSource;
>>  import org.apache.axiom.soap.SOAPEnvelope;
>>  import org.apache.axis2.AxisFault;
>>  import org.apache.axis2.Constants;
>> @@ -345,16 +349,6 @@
>>             TextMessageBuilder textMessageBuilder;
>>             if (builder instanceof TextMessageBuilder) {
>>                 textMessageBuilder = (TextMessageBuilder)builder;
>> -            } else if (message instanceof MapMessage) {
>> -                MapMessage mapMsg = (MapMessage) message;
>> -                String contentType = getProperty(mapMsg,
>> BaseConstants.CONTENT_TYPE);
>> -
>> -                if (contentType != null) {
>> -                    return new MapMessageInputStream(mapMsg,
>> BuilderUtil.getCharSetEncoding(contentType));
>> -                } else {
>> -                    return new MapMessageInputStream(mapMsg,
>> MessageContext.DEFAULT_CHAR_SET_ENCODING);
>> -                }
>> -
>>             } else {
>>                 textMessageBuilder = new
>> TextMessageBuilderAdapter(builder);
>>             }
>> @@ -362,6 +356,11 @@
>>             OMElement documentElement
>>                     = textMessageBuilder.processDocument(content,
>> contentType, msgContext);
>>
>> msgContext.setEnvelope(TransportUtils.createSOAPEnvelope(documentElement));
>> +        } else if (message instanceof MapMessage) {
>> +            Map payloadMap = getMessageMapPayload(message);
>> +            OMFactory omBuilderFactory = OMAbstractFactory.getOMFactory();
>> +            OMElement payload = omBuilderFactory.createOMElement(new
>> MapDataSource(payloadMap, "map", omBuilderFactory.createOMNamespace("
>> http://ws.apache.org/commons/ns/payload";, "ns")),
>> "map",omBuilderFactory.createOMNamespace("
>> http://ws.apache.org/commons/ns/payload";, "ns"));
>> +
>>  msgContext.setEnvelope(TransportUtils.createSOAPEnvelope(payload));
>>         }
>>     }
>>
>> @@ -708,7 +707,7 @@
>>     }
>>
>>
>> -    public Map getMessageMapPayload(Object message) {
>> +    public static Map getMessageMapPayload(Object message) {
>>
>>         if (message instanceof MapMessage) {
>>             MapMessage mapMessage = (MapMessage) message;
>>
>> 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=710062&r1=710061&r2=710062&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
>> Mon Nov  3 06:24:12 2008
>> @@ -57,8 +57,7 @@
>>         if (byteStream != null) {
>>             return byteStream;
>>         } else {
>> -            JMSUtils utils = new JMSUtils();
>> -            Map payloadMap = utils.getMessageMapPayload(message);
>> +            Map payloadMap = JMSUtils.getMessageMapPayload(message);
>>             if (payloadMap != null) {
>>                 QName wrapperQName = BaseConstants.DEFAULT_MAP_WRAPPER;
>>                 OMFactory ombuilderFactory =
>> OMAbstractFactory.getOMFactory();
>>
>> Modified:
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/tests/echo/XMLMapRequestResponseMessageTestCase.java
>> URL:
>> http://svn.apache.org/viewvc/webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/tests/echo/XMLMapRequestResponseMessageTestCase.java?rev=710062&r1=710061&r2=710062&view=diff
>>
>> ==============================================================================
>> ---
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/tests/echo/XMLMapRequestResponseMessageTestCase.java
>> (original)
>> +++
>> webservices/commons/trunk/scratch/senaka/sci-flex/transport/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/tests/echo/XMLMapRequestResponseMessageTestCase.java
>> Mon Nov  3 06:24:12 2008
>> @@ -25,6 +25,7 @@
>>  import org.apache.axiom.om.OMAbstractFactory;
>>  import org.apache.axiom.om.OMElement;
>>  import org.apache.axiom.om.OMFactory;
>> +import org.apache.axiom.om.OMSourcedElement;
>>  import org.apache.axiom.om.ds.MapDataSource;
>>  import org.apache.axis2.transport.base.BaseConstants;
>>  import org.apache.axis2.transport.testkit.MessageTestData;
>> @@ -59,6 +60,10 @@
>>     protected void checkResponse(XMLMessage request, XMLMessage response)
>> throws Exception {
>>         OMElement orgElement = request.getPayload();
>>         OMElement element = response.getPayload();
>> +        assertTrue(orgElement != null);
>> +        assertTrue(element != null);
>> +        assertTrue(orgElement instanceof OMSourcedElement);
>> +        assertTrue(element instanceof OMSourcedElement);
>>         assertEquals(orgElement.getQName(), element.getQName());
>>         assertEquals(orgElement.toString(), element.toString());
>>     }
>>
>>
>>
>

Reply via email to