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>
    
   


Reply via email to