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);