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/24 03:14:21 UTC
svn commit: r757638 - in /camel/branches/camel-1.x: ./
components/camel-cxf/src/main/java/org/apache/camel/component/cxf/
components/camel-cxf/src/test/java/org/apache/camel/component/cxf/
Author: wtam
Date: Tue Mar 24 02:14:20 2009
New Revision: 757638
URL: http://svn.apache.org/viewvc?rev=757638&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/ (props changed)
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/CxfConsumer.java
camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 24 02:14:20 2009
@@ -1 +1 @@
-/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870
+/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870,757636
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
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=757638&r1=757637&r2=757638&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 Tue Mar 24 02:14:20 2009
@@ -23,9 +23,7 @@
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;
@@ -45,9 +43,11 @@
public class CamelInvoker implements Invoker, MessageInvoker {
private static final Logger LOG = LogUtils.getL7dLogger(CamelInvoker.class);
private CxfConsumer cxfConsumer;
+ private DataFormat dataFormat;
- public CamelInvoker(CxfConsumer consumer) {
+ public CamelInvoker(CxfConsumer consumer, DataFormat dataFormat) {
cxfConsumer = consumer;
+ this.dataFormat = dataFormat;
}
/**
@@ -61,17 +61,6 @@
//TODO set the request context here
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);
@@ -167,6 +156,7 @@
}
CxfExchange cxfExchange = endpoint.createExchange(exchange.getInMessage());
+ cxfExchange.setProperty(CxfConstants.DATA_FORMAT_PROPERTY, dataFormat);
BindingOperationInfo bop = exchange.get(BindingOperationInfo.class);
MethodDispatcher md = (MethodDispatcher)
Modified: camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java?rev=757638&r1=757637&r2=757638&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java Tue Mar 24 02:14:20 2009
@@ -21,15 +21,11 @@
import org.apache.camel.Processor;
import org.apache.camel.component.cxf.feature.MessageDataFormatFeature;
import org.apache.camel.component.cxf.feature.PayLoadDataFormatFeature;
-import org.apache.camel.component.cxf.spring.CxfEndpointBean;
import org.apache.camel.component.cxf.util.CxfEndpointUtils;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.common.classloader.ClassLoaderUtils;
-import org.apache.cxf.configuration.Configurer;
-import org.apache.cxf.configuration.spring.ConfigurerImpl;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.frontend.ServerFactoryBean;
@@ -88,7 +84,7 @@
DataFormat dataFormat = CxfEndpointUtils.getDataFormat(endpoint);
- svrBean.setInvoker(new CamelInvoker(this));
+ svrBean.setInvoker(new CamelInvoker(this, dataFormat));
// apply feature here
if (!dataFormat.equals(DataFormat.POJO) && !isWebServiceProvider) {
Modified: camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java?rev=757638&r1=757637&r2=757638&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java (original)
+++ camel/branches/camel-1.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java Tue Mar 24 02:14:20 2009
@@ -45,6 +45,7 @@
public void configure() {
from(SIMPLE_ENDPOINT_URI).choice().when(header(CxfConstants.OPERATION_NAME).isEqualTo(ECHO_OPERATION)).process(new Processor() {
public void process(final Exchange exchange) {
+ assertEquals(DataFormat.POJO, exchange.getProperty(CxfConstants.DATA_FORMAT_PROPERTY, DataFormat.class));
Message in = exchange.getIn();
// Get the parameter list
List<?> parameter = in.getBody(List.class);