Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 39297 invoked from network); 11 Sep 2009 17:36:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 11 Sep 2009 17:36:36 -0000 Received: (qmail 85349 invoked by uid 500); 11 Sep 2009 17:36:36 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 85269 invoked by uid 500); 11 Sep 2009 17:36:36 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 85260 invoked by uid 99); 11 Sep 2009 17:36:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Sep 2009 17:36:36 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 Sep 2009 17:36:32 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id A7058238897D; Fri, 11 Sep 2009 17:36:11 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r813941 - in /cxf/branches/2.1.x-fixes: ./ rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java Date: Fri, 11 Sep 2009 17:36:11 -0000 To: commits@cxf.apache.org From: dkulp@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090911173611.A7058238897D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dkulp Date: Fri Sep 11 17:36:11 2009 New Revision: 813941 URL: http://svn.apache.org/viewvc?rev=813941&view=rev Log: Merged revisions 813902 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.2.x-fixes ................ r813902 | dkulp | 2009-09-11 12:10:40 -0400 (Fri, 11 Sep 2009) | 10 lines Merged revisions 812736 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r812736 | dkulp | 2009-09-08 20:35:29 -0400 (Tue, 08 Sep 2009) | 2 lines if is used in a context that doesn't define a bus, go ahead and create a default bus and wire it into the context ........ ................ Modified: cxf/branches/2.1.x-fixes/ (props changed) cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java?rev=813941&r1=813940&r2=813941&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java (original) +++ cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/bus/spring/BusDefinitionParser.java Fri Sep 11 17:36:11 2009 @@ -26,14 +26,19 @@ import org.w3c.dom.Element; import org.apache.cxf.Bus; +import org.apache.cxf.BusFactory; import org.apache.cxf.bus.CXFBusImpl; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser; import org.apache.cxf.configuration.spring.BusWiringType; import org.apache.cxf.feature.AbstractFeature; import org.apache.cxf.interceptor.Interceptor; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.ParserContext; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; public class BusDefinitionParser extends AbstractBeanDefinitionParser { @@ -75,12 +80,27 @@ return id; } - public static class BusConfig { + public static class BusConfig implements ApplicationContextAware { CXFBusImpl bus; + boolean defaultBus; + public BusConfig() { + bus = (CXFBusImpl)BusFactory.getDefaultBus(); + defaultBus = true; + } public BusConfig(Bus b) { bus = (CXFBusImpl)b; } + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + if (defaultBus + && applicationContext.getAutowireCapableBeanFactory() instanceof ConfigurableBeanFactory) { + ConfigurableBeanFactory bf = (ConfigurableBeanFactory)applicationContext + .getAutowireCapableBeanFactory(); + bf.registerSingleton("cxf", bus); + } + } + public List getOutFaultInterceptors() { return bus.getOutFaultInterceptors(); } @@ -128,5 +148,6 @@ bus.setProperties(s); } + } }