You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/02/04 23:08:42 UTC

svn commit: r740913 - in /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints: AbstractJmsMarshaler.java DefaultConsumerMarshaler.java DefaultProviderMarshaler.java

Author: gnodet
Date: Wed Feb  4 22:08:42 2009
New Revision: 740913

URL: http://svn.apache.org/viewvc?rev=740913&view=rev
Log:
SM-1788: The 'Content-Type' property is used in jms messages, but it is not compliant with the jms spec

Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java?rev=740913&r1=740912&r2=740913&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java Wed Feb  4 22:08:42 2009
@@ -38,6 +38,8 @@
 
     public static final String ERROR_JMS_PROPERTY = "JBIError";
 
+    public static final String CONTENT_TYPE_PROPERTY = "ContentType";
+
     /**
      * Should marshaler copy properties set in messages?
      */

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java?rev=740913&r1=740912&r2=740913&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java Wed Feb  4 22:08:42 2009
@@ -108,8 +108,10 @@
         }
         chain.doIntercept(msg);
         TextMessage text = session.createTextMessage(baos.toString());
-        text.setStringProperty(org.apache.servicemix.soap.api.Message.CONTENT_TYPE,
-                               (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        if (msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE) != null) {
+            text.setStringProperty(CONTENT_TYPE_PROPERTY,
+                                   (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        }
         if (isCopyProperties()) {
             copyPropertiesFromNM(outMsg, text);
         }
@@ -131,8 +133,10 @@
         }
         chain.doIntercept(msg);
         TextMessage text = session.createTextMessage(baos.toString());
-        text.setStringProperty(org.apache.servicemix.soap.api.Message.CONTENT_TYPE,
-                               (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        if (msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE) != null) {
+            text.setStringProperty(CONTENT_TYPE_PROPERTY,
+                                   (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        }
         text.setBooleanProperty(FAULT_JMS_PROPERTY, true);
         if (isCopyProperties()) {
             copyPropertiesFromNM(fault, text);
@@ -154,9 +158,8 @@
             chain.add(new StaxInInterceptor());
             org.apache.servicemix.soap.api.Message msg = new MessageImpl();
             msg.setContent(InputStream.class, new ByteArrayInputStream(((TextMessage) message).getText().getBytes()));
-            String contentType = message.getStringProperty(org.apache.servicemix.soap.api.Message.CONTENT_TYPE);
-            if (contentType != null) {
-                msg.put(org.apache.servicemix.soap.api.Message.CONTENT_TYPE, contentType);
+            if (message.propertyExists(CONTENT_TYPE_PROPERTY)) {
+                msg.put(org.apache.servicemix.soap.api.Message.CONTENT_TYPE, message.getStringProperty(CONTENT_TYPE_PROPERTY));
             }
             chain.doIntercept(msg);
             XMLStreamReader xmlReader = msg.getContent(XMLStreamReader.class);

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java?rev=740913&r1=740912&r2=740913&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java Wed Feb  4 22:08:42 2009
@@ -74,8 +74,10 @@
         }
         chain.doIntercept(msg);
         TextMessage text = session.createTextMessage(baos.toString());
-        text.setStringProperty(org.apache.servicemix.soap.api.Message.CONTENT_TYPE,
-                               (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        if (msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE) != null) {
+            text.setStringProperty(CONTENT_TYPE_PROPERTY,
+                                   (String) msg.get(org.apache.servicemix.soap.api.Message.CONTENT_TYPE));
+        }
         if (jmsProperties != null) {
             for (Map.Entry<String, Object> e : jmsProperties.entrySet()) {
                 text.setObjectProperty(e.getKey(), e.getValue());
@@ -97,9 +99,8 @@
             chain.add(new StaxInInterceptor());
             org.apache.servicemix.soap.api.Message msg = new MessageImpl();
             msg.setContent(InputStream.class, new ByteArrayInputStream(((TextMessage) message).getText().getBytes()));
-            String contentType = message.getStringProperty(org.apache.servicemix.soap.api.Message.CONTENT_TYPE);
-            if (contentType != null) {
-                msg.put(org.apache.servicemix.soap.api.Message.CONTENT_TYPE, contentType);
+            if (message.propertyExists(CONTENT_TYPE_PROPERTY)) {
+                msg.put(org.apache.servicemix.soap.api.Message.CONTENT_TYPE, message.getStringProperty(CONTENT_TYPE_PROPERTY));
             }
             chain.doIntercept(msg);
             XMLStreamReader xmlReader = msg.getContent(XMLStreamReader.class);