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/01/28 03:57:56 UTC
svn commit: r738346 - in
/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf:
CxfComponent.java CxfEndpoint.java CxfSpringEndpoint.java
DefaultCxfBinding.java
Author: wtam
Date: Wed Jan 28 02:57:56 2009
New Revision: 738346
URL: http://svn.apache.org/viewvc?rev=738346&view=rev
Log:
minor code cleanup to camel-cxf
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
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/CxfSpringEndpoint.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java?rev=738346&r1=738345&r2=738346&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java Wed Jan 28 02:57:56 2009
@@ -59,7 +59,7 @@
CxfEndpointBean bean = CamelContextHelper.mandatoryLookup(getCamelContext(), beanId,
CxfEndpointBean.class);
- result = new CxfSpringEndpoint(this, beanId, bean);
+ result = new CxfSpringEndpoint(this, bean);
} else {
// endpoint URI does not specify a bean
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=738346&r1=738345&r2=738346&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 Wed Jan 28 02:57:56 2009
@@ -52,6 +52,7 @@
import org.apache.cxf.headers.Header;
import org.apache.cxf.jaxws.JaxWsClientFactoryBean;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import org.apache.cxf.message.Message;
/**
@@ -76,8 +77,6 @@
private Bus bus;
private CxfBinding cxfBinding;
private HeaderFilterStrategy headerFilterStrategy;
- private boolean hasWSProviderAnnotation;
- private boolean hasWebServiceAnnotation;
private AtomicBoolean cxfBindingInitialized = new AtomicBoolean(false);
private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
private boolean isSetDefaultBus;
@@ -111,8 +110,6 @@
* Populate server factory bean
*/
protected void setupServerFactoryBean(ServerFactoryBean sfb, Class<?> cls) {
- hasWSProviderAnnotation = CxfEndpointUtils.hasAnnotation(cls,
- WebServiceProvider.class);
// address
sfb.setAddress(getEndpointUri());
@@ -136,7 +133,7 @@
}
// apply feature here
- if (!webServiceProviderAnnotated()) {
+ if (!CxfEndpointUtils.hasAnnotation(cls, WebServiceProvider.class)) {
if (getDataFormat() == DataFormat.PAYLOAD) {
sfb.getFeatures().add(new PayLoadDataFormatFeature());
} else if (getDataFormat() == DataFormat.MESSAGE) {
@@ -162,8 +159,7 @@
// quick null point check for serviceClass
ObjectHelper.notNull(cls, "Please provide endpoint service interface class");
- hasWebServiceAnnotation = CxfEndpointUtils.hasWebServiceAnnotation(cls);
- if (hasWebServiceAnnotation) {
+ if (CxfEndpointUtils.hasWebServiceAnnotation(cls)) {
return new JaxWsProxyFactoryBean(new JaxWsClientFactoryBean() {
@Override
protected void createClient(Endpoint ep) {
@@ -256,21 +252,20 @@
Class<?> cls = ClassLoaderUtils.loadClass(getServiceClass(), getClass());
// create server factory bean
- ServerFactoryBean answer = CxfEndpointUtils.getServerFactoryBean(cls);
+ // Shouldn't use CxfEndpointUtils.getServerFactoryBean(cls) as it is for
+ // CxfSoapComponent
+ ServerFactoryBean answer = null;
+ if (CxfEndpointUtils.hasWebServiceAnnotation(cls)) {
+ answer = new JaxWsServerFactoryBean();
+ } else {
+ answer = new ServerFactoryBean();
+ }
// setup server factory bean
setupServerFactoryBean(answer, cls);
return answer;
}
- boolean webServiceProviderAnnotated() {
- return hasWSProviderAnnotation;
- }
-
- boolean webServiceAnnotated() {
- return hasWebServiceAnnotation;
- }
-
// Properties
// -------------------------------------------------------------------------
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java?rev=738346&r1=738345&r2=738346&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java Wed Jan 28 02:57:56 2009
@@ -35,6 +35,7 @@
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.apache.cxf.frontend.ServerFactoryBean;
+import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
/**
* Defines the <a href="http://activemq.apache.org/camel/cxf.html">CXF Endpoint</a>
@@ -51,11 +52,18 @@
private String endpointLocalName;
private String endpointNamespace;
- public CxfSpringEndpoint(CamelContext context, String beanId,
- CxfEndpointBean bean) throws Exception {
-
+ public CxfSpringEndpoint(CamelContext context, CxfEndpointBean bean) throws Exception {
super(bean.getAddress(), context);
- this.beanId = beanId;
+ init(bean);
+ }
+
+ public CxfSpringEndpoint(CxfComponent component, CxfEndpointBean bean) throws Exception {
+ super(bean.getAddress(), component);
+ init(bean);
+ }
+
+
+ private void init(CxfEndpointBean bean) throws Exception {
this.bean = bean;
// set properties from bean which can be overridden by endpoint URI
@@ -65,15 +73,6 @@
configurer = new ConfigurerImpl(((SpringCamelContext)getCamelContext())
.getApplicationContext());
}
-
- public CxfSpringEndpoint(CxfComponent component, String beanId,
- CxfEndpointBean bean) throws Exception {
- this(component.getCamelContext(), beanId, bean);
- }
-
- public CxfSpringEndpoint(CamelContext context, CxfEndpointBean bean) throws Exception {
- this(context, "", bean);
- }
/**
* Read properties from the CxfEndpointBean and copy them to the
@@ -174,7 +173,15 @@
ObjectHelper.notNull(cls, CxfConstants.SERVICE_CLASS);
// create server factory bean
- ServerFactoryBean answer = CxfEndpointUtils.getServerFactoryBean(cls);
+ // create server factory bean
+ // Shouldn't use CxfEndpointUtils.getServerFactoryBean(cls) as it is for
+ // CxfSoapComponent
+ ServerFactoryBean answer = null;
+ if (CxfEndpointUtils.hasWebServiceAnnotation(cls)) {
+ answer = new JaxWsServerFactoryBean();
+ } else {
+ answer = new ServerFactoryBean();
+ }
// configure server factory bean by CXF configurer
configure(answer);
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=738346&r1=738345&r2=738346&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 Wed Jan 28 02:57:56 2009
@@ -241,7 +241,7 @@
if (outBody != null) {
if (dataFormat == DataFormat.PAYLOAD) {
- CxfPayload<?> payload = (CxfPayload)outBody;
+ CxfPayload<?> payload = (CxfPayload<?>)outBody;
outMessage.put(List.class, payload.getBody());
outMessage.put(Header.HEADER_LIST, payload.getHeaders());
} else {
@@ -249,7 +249,7 @@
if (outBody instanceof MessageContentsList) {
resList = (MessageContentsList)outBody;
} else if (outBody instanceof List) {
- resList = new MessageContentsList((List)outBody);
+ resList = new MessageContentsList((List<?>)outBody);
} else if (outBody.getClass().isArray()) {
resList = new MessageContentsList((Object[])outBody);
} else {
@@ -339,8 +339,7 @@
protected void propagateHeadersFromCxfToCamel(Message cxfMessage,
org.apache.camel.Message camelMessage) {
- Map<String, List<String>> cxfHeaders =
- CastUtils.cast((Map)cxfMessage.get(Message.PROTOCOL_HEADERS));
+ Map<String, List<String>> cxfHeaders = (Map)cxfMessage.get(Message.PROTOCOL_HEADERS);
Map<String, Object> camelHeaders = camelMessage.getHeaders();
if (cxfHeaders != null) {