Author: gnodet
Date: Wed Feb  4 22:08:45 2009
New Revision: 740914

URL: http://svn.apache.org/viewvc?rev=740914&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/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
    
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
    
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java

Modified: 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java?rev=740914&r1=740913&r2=740914&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
 (original)
+++ 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/AbstractJmsMarshaler.java
 Wed Feb  4 22:08:45 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/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java?rev=740914&r1=740913&r2=740914&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
 (original)
+++ 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultConsumerMarshaler.java
 Wed Feb  4 22:08:45 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);
         }
@@ -130,8 +132,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);
@@ -152,9 +156,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/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java?rev=740914&r1=740913&r2=740914&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java
 (original)
+++ 
servicemix/components/bindings/servicemix-jms/trunk/src/main/java/org/apache/servicemix/jms/endpoints/DefaultProviderMarshaler.java
 Wed Feb  4 22:08:45 2009
@@ -78,8 +78,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());
@@ -100,9 +102,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);


Reply via email to