Author: ningjiang Date: Mon Jul 11 07:28:54 2011 New Revision: 1145050 URL: http://svn.apache.org/viewvc?rev=1145050&view=rev Log: CAMEL-4207 using ExtensionManagerBus instead of CXFBusImpl to setup bus instance
Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java?rev=1145050&r1=1145049&r2=1145050&view=diff ============================================================================== --- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java (original) +++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java Mon Jul 11 07:28:54 2011 @@ -16,9 +16,15 @@ */ package org.apache.camel.component.cxf.spring; +import java.util.List; + import org.apache.camel.CamelContext; import org.apache.camel.component.cxf.CxfEndpoint; import org.apache.cxf.Bus; +import org.apache.cxf.interceptor.Interceptor; +import org.apache.cxf.interceptor.LoggingInInterceptor; +import org.apache.cxf.interceptor.LoggingOutInterceptor; +import org.apache.cxf.message.Message; import org.junit.Test; public class CxfEndpointBeanBusSettingTest extends AbstractSpringBeanTestSupport { @@ -36,15 +42,32 @@ public class CxfEndpointBeanBusSettingTe assertEquals("Get a wrong endpoint uri", "cxf://bean:routerEndpoint", endpoint.getEndpointUri()); 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); 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); + } + + + @SuppressWarnings("unchecked") + private <T> T getInterceptor(List<Interceptor<? extends Message>> list, Class<T> clz) { + for (Interceptor<? extends Message> i : list) { + if (clz.isInstance(i)) { + return (T)i; + } + } + return null; } } Modified: camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml?rev=1145050&r1=1145049&r2=1145050&view=diff ============================================================================== --- camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml (original) +++ camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/spring/CxfEndpointBeansBusSetting.xml Mon Jul 11 07:28:54 2011 @@ -27,27 +27,10 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd "> - <!-- As a work around of CXF-2667, we need to use the spring bean style configure --> - <!-- - <bean id="cxf1" class="org.apache.cxf.bus.CXFBusImpl"> - <property name="outInterceptors"> - <list> - <bean id="logOutbound" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/> - </list> - </property> - </bean> - - <bean id="cxf2" class="org.apache.cxf.bus.CXFBusImpl"> - <property name="inInterceptors"> - <list> - <bean id="logInbound" class="org.apache.cxf.interceptor.LoggingInInterceptor"/> - </list> - </property> - </bean> - --> - <bean id="cxf1" class="org.apache.cxf.bus.CXFBusImpl"/> - <bean id="cxf2" class="org.apache.cxf.bus.CXFBusImpl"/> - + + <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> @@ -69,7 +52,13 @@ <cxf:cxfEndpoint id="serviceEndpoint" address="http://localhost:9002/helloworld" serviceClass="org.apache.camel.component.cxf.HelloService" bus="cxf2"/> - <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"/> + <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> + <route id="route"> + <from uri="cxf:bean:routerEndpoint" /> + <to uri="log:greeting"/> + <to uri="cxf:bean:serviceEndpoint" /> + </route> + </camelContext> </beans>