You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/01/24 08:27:38 UTC
svn commit: r737314 - in /camel/trunk/components/camel-cxf/src:
main/java/org/apache/camel/component/cxf/
main/java/org/apache/camel/component/cxf/converter/
main/java/org/apache/camel/component/cxf/spring/
test/java/org/apache/camel/component/cxf/spring/
Author: ningjiang
Date: Sat Jan 24 07:27:37 2009
New Revision: 737314
URL: http://svn.apache.org/viewvc?rev=737314&view=rev
Log:
CAMEL-1294 support to use the cxfEndpoint directly in Camel Context
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/converter/CxfConverter.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.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=737314&r1=737313&r2=737314&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 Sat Jan 24 07:27:37 2009
@@ -63,7 +63,7 @@
} else {
// endpoint URI does not specify a bean
- result = new CxfEndpoint(this, remaining);
+ result = new CxfEndpoint(remaining, this);
}
return result;
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=737314&r1=737313&r2=737314&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 Sat Jan 24 07:27:37 2009
@@ -22,6 +22,7 @@
import javax.xml.ws.WebServiceProvider;
+import org.apache.camel.CamelContext;
import org.apache.camel.CamelException;
import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
@@ -81,9 +82,13 @@
private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
private boolean isSetDefaultBus;
- public CxfEndpoint(CxfComponent cxfComponent, String remaining) {
+ public CxfEndpoint(String remaining, CxfComponent cxfComponent) {
super(remaining, cxfComponent);
}
+
+ public CxfEndpoint(String remaining, CamelContext context) {
+ super(remaining, context);
+ }
public Producer createProducer() throws Exception {
return new CxfProducer(this);
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=737314&r1=737313&r2=737314&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 Sat Jan 24 07:27:37 2009
@@ -22,6 +22,7 @@
import javax.xml.namespace.QName;
+import org.apache.camel.CamelContext;
import org.apache.camel.component.cxf.spring.CxfEndpointBean;
import org.apache.camel.component.cxf.util.CxfEndpointUtils;
import org.apache.camel.spring.SpringCamelContext;
@@ -50,10 +51,10 @@
private String endpointLocalName;
private String endpointNamespace;
- public CxfSpringEndpoint(CxfComponent cxfComponent, String beanId,
+ public CxfSpringEndpoint(CamelContext context, String beanId,
CxfEndpointBean bean) throws Exception {
- super(cxfComponent, bean.getAddress());
+ super(bean.getAddress(), context);
this.beanId = beanId;
this.bean = bean;
@@ -64,6 +65,15 @@
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
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java?rev=737314&r1=737313&r2=737314&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java Sat Jan 24 07:27:37 2009
@@ -21,7 +21,11 @@
import javax.xml.soap.SOAPMessage;
import org.apache.camel.Converter;
+import org.apache.camel.Endpoint;
+import org.apache.camel.component.cxf.CxfSpringEndpoint;
import org.apache.camel.component.cxf.DataFormat;
+import org.apache.camel.component.cxf.spring.CxfEndpointBeanDefinitionParser.CxfSpringEndpointBean;
+import org.apache.camel.spring.SpringCamelContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.cxf.message.MessageContentsList;
@@ -67,6 +71,17 @@
}
return baos.toString();
}
+
+ @Converter
+ public static Endpoint toEndpoint(final CxfSpringEndpointBean endpointBean) throws Exception {
+ if (endpointBean == null) {
+ throw new IllegalArgumentException("The CxfEndpoint instance is null");
+ }
+ //CamelContext
+ SpringCamelContext context = SpringCamelContext.springCamelContext(endpointBean.getApplicationContext());
+ Endpoint answer = new CxfSpringEndpoint(context, endpointBean);
+ return answer;
+ }
@Converter
public static DataFormat toDataFormat(final String name) {
Modified: camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java?rev=737314&r1=737313&r2=737314&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java (original)
+++ camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java Sat Jan 24 07:27:37 2009
@@ -99,6 +99,8 @@
// To make the CxfEndpointBean clear without touching any Spring relates class
// , we implements the ApplicationContextAware here
public static class CxfSpringEndpointBean extends CxfEndpointBean implements ApplicationContextAware {
+ private ApplicationContext applicationContext;
+
public CxfSpringEndpointBean() {
super();
}
@@ -108,6 +110,7 @@
}
public void setApplicationContext(ApplicationContext ctx) throws BeansException {
+ applicationContext = ctx;
if (getBus() == null) {
Bus bus = BusFactory.getThreadDefaultBus();
setBus(bus);
@@ -115,6 +118,10 @@
BusWiringBeanFactoryPostProcessor.updateBusReferencesInContext(getBus(), ctx);
}
+ public ApplicationContext getApplicationContext() {
+ return applicationContext;
+ }
+
}
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java?rev=737314&r1=737313&r2=737314&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanTest.java Sat Jan 24 07:27:37 2009
@@ -67,7 +67,6 @@
assertTrue("Should get the fault here ", ex.getCause() instanceof org.apache.cxf.interceptor.Fault);
// do nothing here;
}
-
- }
-
+ }
+
}