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>


Reply via email to