You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2012/05/17 16:46:49 UTC

svn commit: r1339622 - in /camel/trunk/components/camel-cxf/src: main/java/org/apache/camel/component/cxf/ test/java/org/apache/camel/component/cxf/util/

Author: dkulp
Date: Thu May 17 14:46:48 2012
New Revision: 1339622

URL: http://svn.apache.org/viewvc?rev=1339622&view=rev
Log:
[CAMEL-4641] Part 1 - introduce RAW mode and deprecate MESSAGE mode

Modified:
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java
    camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Thu May 17 14:46:48 2012
@@ -259,7 +259,7 @@ public class CxfEndpoint extends Default
         if (!CxfEndpointUtils.hasAnnotation(cls, WebServiceProvider.class)) {
             if (getDataFormat() == DataFormat.PAYLOAD) {
                 sfb.getFeatures().add(new PayLoadDataFormatFeature(allowStreaming));
-            } else if (getDataFormat() == DataFormat.MESSAGE) {
+            } else if (getDataFormat().dealias() == DataFormat.RAW) {
                 MessageDataFormatFeature feature = new MessageDataFormatFeature();
                 feature.addInIntercepters(getInInterceptors());
                 feature.addOutInterceptors(getOutInterceptors());
@@ -418,7 +418,7 @@ public class CxfEndpoint extends Default
         }
 
         // apply feature here
-        if (getDataFormat() == DataFormat.MESSAGE) {
+        if (getDataFormat().dealias() == DataFormat.RAW) {
             MessageDataFormatFeature feature = new MessageDataFormatFeature();
             feature.addInIntercepters(getInInterceptors());
             feature.addOutInterceptors(getOutInterceptors());

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java Thu May 17 14:46:48 2012
@@ -179,7 +179,7 @@ public class CxfProducer extends Default
         requestContext.put(DataFormat.class.getName(), dataFormat);
 
         // don't let CXF ClientImpl close the input stream 
-        if (dataFormat == DataFormat.MESSAGE) {
+        if (dataFormat.dealias() == DataFormat.RAW) {
             cxfExchange.put(Client.KEEP_CONDUIT_ALIVE, true);
             LOG.trace("Set CXF Exchange property: {}={}", Client.KEEP_CONDUIT_ALIVE, true);
         }
@@ -303,7 +303,7 @@ public class CxfProducer extends Default
         } else if (endpoint.getDataFormat() == DataFormat.PAYLOAD) {
             params = new Object[1];
             params[0] = exchange.getIn().getMandatoryBody(CxfPayload.class);
-        } else if (endpoint.getDataFormat() == DataFormat.MESSAGE) {
+        } else if (endpoint.getDataFormat().dealias() == DataFormat.RAW) {
             params = new Object[1];
             params[0] = exchange.getIn().getMandatoryBody(InputStream.class);
         }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DataFormat.java Thu May 17 14:46:48 2012
@@ -29,18 +29,43 @@ public enum DataFormat {
      */
     PAYLOAD,
 
+
+    /**
+     * RAW is the raw message that is received from the transport layer.
+     * Streaming and non-streaming are both supported.
+     */
+    RAW,
+    
     /**
      * MESSAGE is the raw message that is received from the transport layer.
      * Streaming and non-streaming are both supported.
+     * @deprecated - equivalent to RAW mode for Camel 2.x
      */
-    MESSAGE,
+    @Deprecated
+    MESSAGE {
+        public DataFormat dealias() {
+            return RAW;
+        }
+    },
 
     /**
+     * CXF_MESSAGE is the message that is received from the transport layer
+     * and then processed through the full set of CXF interceptors.  This 
+     * provides the same functionality as the CXF MESSAGE mode providers.
+     * Streaming and non-streaming are both supported.
+     */
+    CXF_MESSAGE,    
+    
+    /**
      * POJOs (Plain old Java objects) are the Java parameters to the method
      * it is invoking on the target server.  The "serviceClass" property
      * must be included in the endpoint.  Streaming is not available for this
      * data format.
      */
-    POJO
+    POJO;
+    
+    public DataFormat dealias() {
+        return this;
+    }
     
 }

Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java Thu May 17 14:46:48 2012
@@ -616,7 +616,7 @@ public class DefaultCxfBinding implement
                 Map<String, String> nsMap = new HashMap<String, String>();
                 answer = new CxfPayload<SoapHeader>(headers, getPayloadBodyElements(message, nsMap), nsMap);
                 
-            } else if (dataFormat == DataFormat.MESSAGE) {
+            } else if (dataFormat.dealias() == DataFormat.RAW) {
                 answer = message.getContent(InputStream.class);
             }
 
@@ -720,7 +720,7 @@ public class DefaultCxfBinding implement
             answer = out.getBody();
         } else if (dataFormat == DataFormat.PAYLOAD) {
             answer = out.getBody(CxfPayload.class);
-        } else if (dataFormat == DataFormat.MESSAGE) {
+        } else if (dataFormat.dealias() == DataFormat.RAW) {
             answer = out.getBody(InputStream.class);
         }
         return answer;

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java Thu May 17 14:46:48 2012
@@ -69,11 +69,26 @@ public class CxfEndpointUtilsTest extend
         assertEquals("We should get the right service name", service, SERVICE_NAME);
     }
 
+    public char sepChar() {
+        return '&';
+    }
+    
+    @SuppressWarnings("deprecation")
     @Test
-    public void testGetDataFormat() throws Exception {
-        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + "&dataFormat=MESSAGE");
+    public void testGetDataFormatMessage() throws Exception {
+        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + sepChar() + "dataFormat=MESSAGE");
         assertEquals("We should get the Message DataFormat", DataFormat.MESSAGE, endpoint.getDataFormat());
     }
+    @Test
+    public void testGetDataFormatCXF() throws Exception {
+        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + sepChar() + "dataFormat=CXF_MESSAGE");
+        assertEquals("We should get the Message DataFormat", DataFormat.CXF_MESSAGE, endpoint.getDataFormat());
+    }
+    @Test
+    public void testGetDataFormatRAW() throws Exception {
+        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + sepChar() + "dataFormat=RAW");
+        assertEquals("We should get the Message DataFormat", DataFormat.RAW, endpoint.getDataFormat());
+    }
 
     @Test
     public void testCheckServiceClassWithTheEndpoint() throws Exception {

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java?rev=1339622&r1=1339621&r2=1339622&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsWithSpringTest.java Thu May 17 14:46:48 2012
@@ -71,18 +71,18 @@ public class CxfEndpointUtilsWithSpringT
                      endpoint.getServiceClass().getName());
     }
     
-    @Test
-    public void testGetDataFormat() throws Exception {
-        CxfEndpoint endpoint = createEndpoint(getEndpointURI() + "?dataFormat=MESSAGE");
-        assertEquals("We should get the Message DataFormat", DataFormat.MESSAGE, endpoint.getDataFormat());
+    public char sepChar() {
+        return '?';
     }
 
+
     @Test
     public void testGetProperties() throws Exception {
         CxfSpringEndpoint endpoint = (CxfSpringEndpoint)createEndpoint(getEndpointURI());
         QName service = endpoint.getServiceName();
         assertEquals("We should get the right service name", SERVICE_NAME, service);
-        assertEquals("The cxf endpoint's DataFromat should be MESSAGE", DataFormat.MESSAGE, endpoint.getDataFormat());
+        assertEquals("The cxf endpoint's DataFromat should be RAW", DataFormat.RAW,
+                     endpoint.getDataFormat().dealias());
         
         endpoint = (CxfSpringEndpoint)createEndpoint("cxf:bean:testPropertiesEndpoint");
         service = CxfEndpointUtils.getServiceName(endpoint);