You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by wt...@apache.org on 2009/03/22 17:48:43 UTC

svn commit: r757214 - in /camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf: CamelInvoker.java CxfBinding.java CxfConstants.java CxfExchange.java CxfProducer.java

Author: wtam
Date: Sun Mar 22 16:48:42 2009
New Revision: 757214

URL: http://svn.apache.org/viewvc?rev=757214&view=rev
Log:
[CAMEL-1476]  Set property in the exchange to identify CXF component DataFormat mode (payload, message, or pojo)

Modified:
    camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
    camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
    camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java
    camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
    camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java

Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java?rev=757214&r1=757213&r2=757214&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CamelInvoker.java Sun Mar 22 16:48:42 2009
@@ -23,7 +23,9 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import org.apache.camel.CamelException;
 import org.apache.camel.ExchangePattern;
+import org.apache.camel.component.cxf.util.CxfEndpointUtils;
 import org.apache.camel.component.cxf.util.CxfHeaderHelper;
 import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.endpoint.Client;
@@ -60,6 +62,18 @@
         CxfEndpoint endpoint = cxfConsumer.getEndpoint();
         CxfExchange cxfExchange = endpoint.createExchange(inMessage);
 
+        // set data format mode in Camel exchange
+        DataFormat dataFormat = DataFormat.POJO;
+        try {
+            dataFormat = CxfEndpointUtils.getDataFormat(endpoint);
+        } catch (CamelException e) {
+            if (LOG.isLoggable(Level.FINE)) {
+                LOG.log(Level.FINE, "Unable to determine dataFormat due to " + e.toString());
+            }
+        }
+
+        cxfExchange.setProperty(CxfConstants.DATA_FORMAT_PROPERTY, dataFormat);   
+
         BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
         cxfExchange.setProperty(BindingOperationInfo.class.toString(), bop);
 

Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java?rev=757214&r1=757213&r2=757214&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java Sun Mar 22 16:48:42 2009
@@ -146,7 +146,7 @@
         if (response != null) {
             CxfHeaderHelper.propagateCxfToCamel(strategy, response, out.getHeaders());
             out.setMessage(response);
-            DataFormat dataFormat = (DataFormat) exchange.getProperty(CxfExchange.DATA_FORMAT);
+            DataFormat dataFormat = (DataFormat) exchange.getProperty(CxfConstants.DATA_FORMAT_PROPERTY);
             if (dataFormat.equals(DataFormat.MESSAGE)) {
                 out.setBody(response.getContent(InputStream.class));
             }

Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java?rev=757214&r1=757213&r2=757214&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConstants.java Sun Mar 22 16:48:42 2009
@@ -24,7 +24,10 @@
 public interface CxfConstants {
     String METHOD = "method";
     String SERVICE_CLASS = "serviceClass";
+    // dataFormat is used in endpoint uri
     String DATA_FORMAT = "dataFormat";
+    // org.apache.camel.cxf.dataFormat is used as exchange property key
+    String DATA_FORMAT_PROPERTY = "org.apache.camel.cxf.dataFormat";
     String SET_DEFAULT_BUS = "setDefaultBus";
     String WSDL_URL = "wsdlURL";
     String ADDRESS = "address";

Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java?rev=757214&r1=757213&r2=757214&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java Sun Mar 22 16:48:42 2009
@@ -32,7 +32,6 @@
  * @version $Revision$
  */
 public class CxfExchange extends DefaultExchange {
-    public static final String DATA_FORMAT = "DATA_FORMAT";
     private Exchange exchange;
 
     public CxfExchange(CamelContext context, ExchangePattern pattern, Exchange exchange) {

Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=757214&r1=757213&r2=757214&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java Sun Mar 22 16:48:42 2009
@@ -160,7 +160,7 @@
 
     public void process(CxfExchange exchange) throws Exception {
         Message inMessage = CxfBinding.createCxfMessage(endpoint.getHeaderFilterStrategy(), exchange);
-        exchange.setProperty(CxfExchange.DATA_FORMAT, dataFormat);
+        exchange.setProperty(CxfConstants.DATA_FORMAT_PROPERTY, dataFormat);
 
         if (dataFormat.equals(DataFormat.POJO)) {
             // InputStream is = m.getContent(InputStream.class);