Author: dkulp
Date: Thu Dec 22 16:33:24 2011
New Revision: 1222334
URL: http://svn.apache.org/viewvc?rev=1222334&view=rev
Log:
Merged revisions 1209676 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r1209676 | dkulp | 2011-12-02 15:04:15 -0500 (Fri, 02 Dec 2011) | 5 lines
[CAMEL-4731] Enhance how the bus wiring is done for cxf endpoints
Support both CXF >=2.5.1 and older CXF versions that don't have
the bug fixed there.
Also fix some tests that will start failing with CXF 2.5.1 that were
referencing an undefined bus.
........
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
camel/branches/camel-2.8.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchMessageBeans.xml
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchPayloadBeans.xml
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java?rev=1222334&r1=1222333&r2=1222334&view=diff
==============================================================================
---
camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
(original)
+++
camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
Thu Dec 22 16:33:24 2011
@@ -23,6 +23,7 @@ import javax.xml.namespace.QName;
import org.w3c.dom.Element;
import org.apache.camel.component.cxf.CxfSpringEndpoint;
+import org.apache.cxf.common.util.StringUtils;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
@@ -35,6 +36,17 @@ public class CxfEndpointBeanDefinitionPa
}
@Override
+ protected boolean parseAttributes(Element element, ParserContext ctx,
BeanDefinitionBuilder bean) {
+ boolean addedBus = super.parseAttributes(element, ctx, bean);
+ final String bus = element.getAttribute("bus");
+ if (!addedBus && !StringUtils.isEmpty(bus)) {
+ bean.addPropertyReference("bus", bus.startsWith("#") ?
bus.substring(1) : bus);
+ addedBus = true;
+ }
+ return addedBus;
+ }
+
+ @Override
protected void mapAttribute(BeanDefinitionBuilder bean, Element e, String
name, String val) {
if ("endpointName".equals(name) || "serviceName".equals(name)) {
QName q = parseQName(e, val);
Modified:
camel/branches/camel-2.8.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java?rev=1222334&r1=1222333&r2=1222334&view=diff
==============================================================================
---
camel/branches/camel-2.8.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
(original)
+++
camel/branches/camel-2.8.x/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
Thu Dec 22 16:33:24 2011
@@ -43,20 +43,17 @@ public class CxfEndpointBeanBusSettingTe
Bus cxf1 = endpoint.getBus();
assertEquals(cxf1, ctx.getBean("cxf1"));
- assertTrue(cxf1.getOutInterceptors().size() >= 1);
- assertTrue(cxf1.getInInterceptors().size() == 0);
- LoggingOutInterceptor log1 = getInterceptor(cxf1.getOutInterceptors(),
LoggingOutInterceptor.class);
- assertNotNull(log1);
+ assertEquals(cxf1, endpoint.getBus());
+ assertEquals("barf", endpoint.getBus().getProperty("foo"));
endpoint =
(CxfEndpoint)camelContext.getEndpoint("cxf:bean:serviceEndpoint");
assertEquals("Get a wrong endpoint uri", "cxf://bean:serviceEndpoint",
endpoint.getEndpointUri());
Bus cxf2 = endpoint.getBus();
assertEquals(cxf2, ctx.getBean("cxf2"));
- assertTrue(cxf2.getInInterceptors().size() >= 1);
- assertTrue(cxf2.getOutInterceptors().size() == 0);
- LoggingInInterceptor log2 = getInterceptor(cxf2.getInInterceptors(),
LoggingInInterceptor.class);
- assertNotNull(log2);
+ assertEquals(cxf2, endpoint.getBus());
+ assertEquals("snarf", endpoint.getBus().getProperty("foo"));
+
}
Modified:
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchMessageBeans.xml
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchMessageBeans.xml?rev=1222334&r1=1222333&r2=1222334&view=diff
==============================================================================
---
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchMessageBeans.xml
(original)
+++
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchMessageBeans.xml
Thu Dec 22 16:33:24 2011
@@ -32,7 +32,7 @@
address="http://localhost:${CxfDispatchMessageTest.port}/SoapContext/GreeterPort"
endpointName="s:GreeterPort"
serviceName="s:GreeterService"
- bus="#bus">
+ bus="#cxf">
<cxf:properties>
<entry key="dataFormat" value="MESSAGE"/>
Modified:
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchPayloadBeans.xml
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchPayloadBeans.xml?rev=1222334&r1=1222333&r2=1222334&view=diff
==============================================================================
---
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchPayloadBeans.xml
(original)
+++
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/CxfDispatchPayloadBeans.xml
Thu Dec 22 16:33:24 2011
@@ -33,7 +33,7 @@
address="http://localhost:${CxfDispatchPayloadTest.port}/SoapContext/GreeterPort"
endpointName="s:GreeterPort"
serviceName="s:GreeterService"
- bus="#bus">
+ bus="#cxf">
<cxf:properties>
<entry key="dataFormat" value="PAYLOAD"/>
Modified:
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml
URL:
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml?rev=1222334&r1=1222333&r2=1222334&view=diff
==============================================================================
---
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml
(original)
+++
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml
Thu Dec 22 16:33:24 2011
@@ -28,20 +28,16 @@
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
">
- <bean id="cxf1" class="org.apache.cxf.bus.extension.ExtensionManagerBus"/>
- <bean id="cxf2" class="org.apache.cxf.bus.extension.ExtensionManagerBus"/>
-
- <!-- The bus configure doesn't create the CXF bus instance -->
<cxfcore:bus bus="cxf1">
- <cxfcore:outInterceptors>
- <bean id="logOutbound"
class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
- </cxfcore:outInterceptors>
+ <cxfcore:properties>
+ <entry key="foo" value="barf"/>
+ </cxfcore:properties>
</cxfcore:bus>
<cxfcore:bus bus="cxf2">
- <cxfcore:inInterceptors>
- <bean id="logInbound"
class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
- </cxfcore:inInterceptors>
+ <cxfcore:properties>
+ <entry key="foo" value="snarf"/>
+ </cxfcore:properties>
</cxfcore:bus>