You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2011/03/04 21:33:49 UTC

svn commit: r1078120 [1/3] - in /cxf/trunk: api/src/main/java/org/apache/cxf/configuration/ rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/ rt/bindings/corba/src/main/resources/META-INF/cxf/ rt/bindings/http/src/main/resources/MET...

Author: dkulp
Date: Fri Mar  4 20:33:44 2011
New Revision: 1078120

URL: http://svn.apache.org/viewvc?rev=1078120&view=rev
Log:
Make the Spring bus build off the EM bus
Remove all the META-INF/cxf/cxf.extension things

Added:
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java   (contents, props changed)
      - copied, changed from r1077972, cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusApplicationListener.java
    cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt   (with props)
Removed:
    cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf-extension-corba.xml
    cxf/trunk/rt/bindings/corba/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/bindings/http/src/main/resources/META-INF/cxf/cxf-extension-http-binding.xml
    cxf/trunk/rt/bindings/http/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/bindings/jbi/src/main/resources/META-INF/cxf/cxf-extension-jbi-binding.xml
    cxf/trunk/rt/bindings/jbi/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/bindings/object/src/main/resources/META-INF/cxf/cxf-extension-object-binding.xml
    cxf/trunk/rt/bindings/object/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
    cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf-extension-xml.xml
    cxf/trunk/rt/bindings/xml/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/DeferredMap.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusApplicationListener.java
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/MyResourceService.java
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/MyService.java
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/MySetterService.java
    cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf-extension-jaxrs-binding.xml
    cxf/trunk/rt/frontend/jaxrs/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/cxf/cxf-extension-jaxws.xml
    cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf-extension-javascript-client.xml
    cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/management/src/main/resources/META-INF/cxf/cxf-extension-management.xml
    cxf/trunk/rt/management/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf-extension-http-jetty.xml
    cxf/trunk/rt/transports/http-jetty/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/transports/http/src/main/resources/META-INF/cxf/cxf-extension-http.xml
    cxf/trunk/rt/transports/http/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/cxf/cxf-extension-jbi.xml
    cxf/trunk/rt/transports/jbi/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf-extension-jms.xml
    cxf/trunk/rt/transports/jms/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/transports/local/src/main/resources/META-INF/cxf/cxf-extension-local.xml
    cxf/trunk/rt/transports/local/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf-extension-addr.xml
    cxf/trunk/rt/ws/addr/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/ws/policy/src/main/resources/META-INF/cxf/cxf-extension-policy.xml
    cxf/trunk/rt/ws/policy/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/ws/rm/src/main/resources/META-INF/cxf/cxf-extension-rm.xml
    cxf/trunk/rt/ws/rm/src/main/resources/META-INF/cxf/cxf.extension
    cxf/trunk/rt/ws/security/src/main/resources/META-INF/cxf/cxf-extension-ws-security.xml
    cxf/trunk/rt/ws/security/src/main/resources/META-INF/cxf/cxf.extension
Modified:
    cxf/trunk/api/src/main/java/org/apache/cxf/configuration/ConfiguredBeanLocator.java
    cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/OrbConfigurer.java
    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingFactoryManagerImpl.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/BusState.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusFactory.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusImpl.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManager.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusExtensionPostProcessor.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBeanLocator.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/ConduitInitiatorManagerImpl.java
    cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/DestinationFactoryManagerImpl.java
    cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionManagerTest.java
    cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/spring/resources/bus-overwrite.xml
    cxf/trunk/rt/databinding/aegis/src/test/resources/org/apache/cxf/aegis/type/aegisOptionsTestBeans.xml
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/clients.xml
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers.xml
    cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers2.xml
    cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/schemaFirst.xml
    cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/clients.xml
    cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml
    cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml
    cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/clients.xml
    cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/rountrip.xml
    cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/servers.xml
    cxf/trunk/rt/javascript/src/test/resources/AegisBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/AnyBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/DocLitBareClientTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/DocLitWrappedClientTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/GreeterClientTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/HelloWorldDocLitBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/HelloWorldGreeterBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/MtoMBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/RPCClientTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/XMLHttpRequestTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/attributeTestBeans.xml
    cxf/trunk/rt/javascript/src/test/resources/serializationTestBeans.xml
    cxf/trunk/rt/management/src/main/resources/META-INF/cxf/bus-extensions.txt
    cxf/trunk/rt/transports/http-jetty/src/main/resources/META-INF/cxf/bus-extensions.txt
    cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/invalid-engines.xml
    cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/server-engine-factory.xml
    cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/spring/ApplicationContextTest.java
    cxf/trunk/rt/transports/http/src/main/resources/META-INF/cxf/cxf-servlet.xml
    cxf/trunk/rt/transports/local/src/main/java/org/apache/cxf/transport/local/LocalTransportFactory.java
    cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/attachment/external/EndpointReferenceDomainExpressionBuilder.java
    cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/spring/PolicyEngineBeanDefinitionParser.java
    cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineImplInitTest.java
    cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/policy-bus.xml
    cxf/trunk/rt/ws/policy/src/test/resources/org/apache/cxf/ws/policy/PolicyEngineImplInitTest-context.xml
    cxf/trunk/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/rmmanager.xml
    cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/PolicyBasedWSS4JInInterceptor.java
    cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/policyhandlers/AbstractBindingBuilder.java
    cxf/trunk/systests/container-integration/webapp/src/main/webapp/WEB-INF/beans.xml
    cxf/trunk/systests/databinding/src/test/resources/aegisJaxWsBeans.xml
    cxf/trunk/systests/databinding/src/test/resources/aegisSportsServiceBeans.xml
    cxf/trunk/systests/databinding/src/test/resources/aegisWSDLNSBeans.xml
    cxf/trunk/systests/databinding/src/test/resources/extrajaxbclass.xml
    cxf/trunk/systests/databinding/src/test/resources/mtomTestBeans.xml
    cxf/trunk/systests/databinding/src/test/resources/webapp/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/jms_server_config.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_atom/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_databinding/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_dispatch/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_jaas_security/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_logging_atompull/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_logging_atompush/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_many_destinations/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_proxy/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_security/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_security_cglib/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_security_no_annotations/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_simple_security/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_soap_rest/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_spring/WEB-INF/beans.xml
    cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_uriinfo/WEB-INF/beans.xml
    cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/dispatch/client-config.xml
    cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/beans.xml
    cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/beans_autoRewriteSoapAddress.xml
    cxf/trunk/systests/jaxws/src/test/java/org/apache/cxf/systest/handlers/beans_no_autoRewriteSoapAddress.xml
    cxf/trunk/systests/jaxws/src/test/resources/org/apache/cxf/systest/jaxws/beanpostprocessor/context.xml
    cxf/trunk/systests/jaxws/src/test/resources/org/apache/cxf/systest/jaxws/beanpostprocessor/customized-context.xml
    cxf/trunk/systests/transports/src/test/java/digestauth/WEB-INF/beans.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http/resources/Bethal.cxf
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http/resources/Gordy.cxf
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http/resources/Morpit.cxf
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http/resources/Poltim.cxf
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http/resources/Tarpin.cxf
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/http_jetty/EngineLifecycleTest.java
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/JMSClients.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/jms/tx/jms_server_config.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/servlet/restful_service.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/servlet/spring-auto-launch.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/servlet/spring-error.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/servlet/spring-js.xml
    cxf/trunk/systests/transports/src/test/java/org/apache/cxf/systest/servlet/spring.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/cxf1226/beans.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/cxf1332/beans.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/bus/servlet.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/coloc/coloc_rpc.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/coloc/cxf.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/corba/corba_binding_factory_configurer.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/factory_pattern/cxf_multiplex.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/addr.xml
    cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/interceptor/no-addr.xml
    cxf/trunk/systests/uncategorized/src/test/resources/crossSchemaBeans.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_wsdl/jaxwsmm/server.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addressing/wsa_interceptors.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/decoupled.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/decoupled_bare.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/message-loss-server.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/rminterceptors.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/rminterceptors_provider.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/twoway-endpoint-specific.xml
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/security/Bethal.cxf
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/security/Morpit.cxf
    cxf/trunk/systests/wsdl_maven/java2ws/src/main/webapp/WEB-INF/beans.xml

Modified: cxf/trunk/api/src/main/java/org/apache/cxf/configuration/ConfiguredBeanLocator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/main/java/org/apache/cxf/configuration/ConfiguredBeanLocator.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/api/src/main/java/org/apache/cxf/configuration/ConfiguredBeanLocator.java (original)
+++ cxf/trunk/api/src/main/java/org/apache/cxf/configuration/ConfiguredBeanLocator.java Fri Mar  4 20:33:44 2011
@@ -43,13 +43,6 @@ public interface ConfiguredBeanLocator {
      */
     <T> Collection<? extends T> getBeansOfType(Class<T> type);
 
-    /**
-     * Returns the bean of the given type and name.  Causes it to be loaded.
-     * @param name
-     * @param type
-     * @return the bean of the given name and type
-     */
-    <T> T getBeanOfType(String name, Class<T> type);
     
     /**
      * Iterates through the beans of the given type, calling the listener

Modified: cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/OrbConfigurer.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/OrbConfigurer.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/OrbConfigurer.java (original)
+++ cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/OrbConfigurer.java Fri Mar  4 20:33:44 2011
@@ -23,7 +23,9 @@ import java.util.List;
 import java.util.Properties;
 
 import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
 
+import org.apache.cxf.Bus;
 import org.apache.cxf.binding.corba.CorbaBindingFactory;
 
 public class OrbConfigurer  {
@@ -59,6 +61,13 @@ public class OrbConfigurer  {
         return factory;
     }
 
+    @Resource
+    public void setBus(Bus b) {
+        if (factory == null) {
+            factory = b.getExtension(CorbaBindingFactory.class);
+        }
+    }
+    
     @PostConstruct
     public void register() {
         if (factory != null) {

Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapTransportFactory.java Fri Mar  4 20:33:44 2011
@@ -80,6 +80,10 @@ public class SoapTransportFactory extend
     public SoapTransportFactory() {
         super(DEFAULT_NAMESPACES, null);
     }
+
+    public SoapTransportFactory(Bus b) {
+        super(DEFAULT_NAMESPACES, b);
+    }
     
     public Set<String> getUriPrefixes() {
         return Collections.singleton("soap.tcp");

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingFactoryManagerImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingFactoryManagerImpl.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingFactoryManagerImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingFactoryManagerImpl.java Fri Mar  4 20:33:44 2011
@@ -49,10 +49,10 @@ public final class BindingFactoryManager
     Set<String> loaded = new CopyOnWriteArraySet<String>();
     Bus bus;
      
-    public BindingFactoryManagerImpl() throws BusException {
+    public BindingFactoryManagerImpl() {
         bindingFactories = new ConcurrentHashMap<String, BindingFactory>();
     }
-    public BindingFactoryManagerImpl(Bus b) throws BusException {
+    public BindingFactoryManagerImpl(Bus b) {
         bindingFactories = new ConcurrentHashMap<String, BindingFactory>();
         setBus(b);
     }
@@ -107,9 +107,9 @@ public final class BindingFactoryManager
         BindingFactory factory = bindingFactories.get(namespace);
         if (null == factory) {
             if (!failed.contains(namespace)) {
-                factory = loadDefaultNamespace(namespace);
+                factory = loadActivationNamespace(namespace);
                 if (factory == null) {
-                    factory = loadActivationNamespace(namespace);
+                    factory = loadDefaultNamespace(namespace);
                 }
                 if (factory == null) {
                     factory = loadAll(namespace);

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/BusState.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/BusState.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/BusState.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/BusState.java Fri Mar  4 20:33:44 2011
@@ -19,5 +19,5 @@
 package org.apache.cxf.bus;
 
 public enum BusState {
-    INITIAL, RUNNING, SHUTDOWN;
+    INITIAL, RUNNING, SHUTTING_DOWN, SHUTDOWN;
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusFactory.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusFactory.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusFactory.java Fri Mar  4 20:33:44 2011
@@ -25,7 +25,6 @@ import java.util.Map;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.bus.extension.ExtensionManagerBus;
-import org.apache.cxf.buslifecycle.BusLifeCycleManager;
 
 public class CXFBusFactory extends BusFactory {
     
@@ -38,18 +37,11 @@ public class CXFBusFactory extends BusFa
     }
     
     public Bus createBus(Map<Class, Object> e, Map<String, Object> properties) {
-        Bus bus = new ExtensionManagerBus(e, properties);
+        ExtensionManagerBus bus = new ExtensionManagerBus(e, properties);
         possiblySetDefaultBus(bus);
         initializeBus(bus);
+        bus.initialize();
         return bus;
     }
  
-    
-    protected void initializeBus(Bus bus) {
-        super.initializeBus(bus);
-        BusLifeCycleManager lifeCycleManager = bus.getExtension(BusLifeCycleManager.class);
-        if (null != lifeCycleManager) {
-            lifeCycleManager.initComplete();
-        }
-    }
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusImpl.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/CXFBusImpl.java Fri Mar  4 20:33:44 2011
@@ -121,9 +121,6 @@ public class CXFBusImpl extends Abstract
                 public <T> Collection<? extends T> getBeansOfType(Class<T> type) {
                     return null;
                 }
-                public <T> T getBeanOfType(String name, Class<T> type) {
-                    return null;
-                }
                 public <T> boolean loadBeansOfType(Class<T> type, BeanLoaderListener<T> listener) {
                     return false;
                 }
@@ -169,7 +166,7 @@ public class CXFBusImpl extends Abstract
         initializeFeatures();
     }
 
-    private void initializeFeatures() {
+    protected void initializeFeatures() {
         if (features != null) {
             for (AbstractFeature f : features) {
                 f.initialize(this);
@@ -181,12 +178,23 @@ public class CXFBusImpl extends Abstract
         shutdown(true);
     }
 
+    protected void destroyBeans() {
+        
+    }
+    
     public void shutdown(boolean wait) {
+        if (state == BusState.SHUTTING_DOWN) {
+            return;
+        }
         BusLifeCycleManager lifeCycleManager = this.getExtension(BusLifeCycleManager.class);
         if (null != lifeCycleManager) {
             lifeCycleManager.preShutdown();
         }
         synchronized (this) {
+            state = BusState.SHUTTING_DOWN;
+        }
+        destroyBeans();
+        synchronized (this) {
             state = BusState.SHUTDOWN;
             notifyAll();
         }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java Fri Mar  4 20:33:44 2011
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.cxf.Bus;
+import org.apache.cxf.common.util.StringUtils;
 
 
 public class Extension {
@@ -33,6 +34,14 @@ public class Extension {
     private String interfaceName;
     private boolean deferred;
     private Collection<String> namespaces = new ArrayList<String>();
+    private Object obj;
+    
+    public String getName() {
+        return StringUtils.isEmpty(interfaceName) ? className : interfaceName;
+    }
+    public Object getLoadedObject() {
+        return obj;
+    }
     
     public String toString() {
         StringBuilder buf = new StringBuilder();
@@ -95,14 +104,14 @@ public class Extension {
     }
     
     Object load(ClassLoader cl, Bus b) {
-        Object obj = null;
         try {
             Class<?> cls = getClassObject(cl);
             try {
                 //if there is a Bus constructor, use it.
                 if (b != null) {
                     Constructor con = cls.getConstructor(Bus.class);
-                    return con.newInstance(b);
+                    obj = con.newInstance(b);
+                    return obj;
                 }
             } catch (Exception ex) {
                 //ignore

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManager.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManager.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManager.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManager.java Fri Mar  4 20:33:44 2011
@@ -24,7 +24,6 @@ public interface ExtensionManager {
     
     <T> void activateAllByType(Class<T> type);
     
-    void activateViaNS(String namespace, Class<?> type);
-    
     <T> T getExtension(String ns, Class<T> type);
+    
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerBus.java Fri Mar  4 20:33:44 2011
@@ -18,13 +18,10 @@
  */
 package org.apache.cxf.bus.extension;
 
-import java.util.ArrayList;
-import java.util.Collection;
+import java.io.InputStream;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
-import org.apache.cxf.binding.BindingFactory;
 import org.apache.cxf.binding.BindingFactoryManager;
 import org.apache.cxf.binding.BindingFactoryManagerImpl;
 import org.apache.cxf.bus.BusState;
@@ -39,10 +36,8 @@ import org.apache.cxf.resource.Propertie
 import org.apache.cxf.resource.ResourceManager;
 import org.apache.cxf.resource.ResourceResolver;
 import org.apache.cxf.resource.SinglePropertyResolver;
-import org.apache.cxf.transport.ConduitInitiator;
 import org.apache.cxf.transport.ConduitInitiatorManager;
 import org.apache.cxf.transport.ConduitInitiatorManagerImpl;
-import org.apache.cxf.transport.DestinationFactory;
 import org.apache.cxf.transport.DestinationFactoryManager;
 import org.apache.cxf.transport.DestinationFactoryManagerImpl;
 
@@ -90,6 +85,17 @@ public class ExtensionManagerBus extends
         busResolver = new SinglePropertyResolver(DEFAULT_BUS_ID, this);
         resourceManager.addResourceResolver(busResolver);
         resourceManager.addResourceResolver(new ObjectTypeResolver(this));
+        resourceManager.addResourceResolver(new ResourceResolver() {
+            public <T> T resolve(String resourceName, Class<T> resourceType) {
+                if (extensionManager != null) {
+                    return extensionManager.getExtension(resourceName, resourceType);
+                }
+                return null;
+            }
+            public InputStream getAsStream(String name) {
+                return null;
+            }
+        });
         
         extensions.put(ResourceManager.class, resourceManager);
 
@@ -104,23 +110,17 @@ public class ExtensionManagerBus extends
 
         DestinationFactoryManager dfm = this.getExtension(DestinationFactoryManager.class);
         if (null == dfm) {
-            dfm = new DestinationFactoryManagerImpl(
-                new DeferredMap<DestinationFactory>(extensionManager,
-                        DestinationFactory.class),
-                this);
+            dfm = new DestinationFactoryManagerImpl(this);
         }
 
         ConduitInitiatorManager cfm = this.getExtension(ConduitInitiatorManager.class);
         if (null == cfm) {
-            cfm = new ConduitInitiatorManagerImpl(new DeferredMap<ConduitInitiator>(extensionManager, 
-                ConduitInitiator.class), this);
+            cfm = new ConduitInitiatorManagerImpl(this);
         }
         
         BindingFactoryManager bfm = this.getExtension(BindingFactoryManager.class);
         if (null == bfm) {
-            bfm = new BindingFactoryManagerImpl(new DeferredMap<BindingFactory>(extensionManager,
-                                                    BindingFactory.class),
-                                                this);
+            bfm = new BindingFactoryManagerImpl(this);
             extensions.put(BindingFactoryManager.class, bfm);
         }
         extensionManager.load(new String[] {
@@ -132,10 +132,6 @@ public class ExtensionManagerBus extends
         
         this.setExtension(extensionManager, ExtensionManager.class);
         
-        BusLifeCycleManager lifeCycleManager = this.getExtension(BusLifeCycleManager.class);
-        if (null != lifeCycleManager) {
-            lifeCycleManager.initComplete();
-        }
     }
     
     public ExtensionManagerBus(Map<Class, Object> e, Map<String, Object> properties) {
@@ -145,42 +141,25 @@ public class ExtensionManagerBus extends
     public ExtensionManagerBus() {
         this(null, null, Thread.currentThread().getContextClassLoader());
     }
+    @Override
+    public void initialize() {
+        extensionManager.initialize();
+
+        initializeFeatures();
+
+        BusLifeCycleManager lifeCycleManager = this.getExtension(BusLifeCycleManager.class);
+        if (null != lifeCycleManager) {
+            lifeCycleManager.initComplete();
+        }        
+    }
+    protected void destroyBeans() {
+        extensionManager.destroyBeans();
+    }
+
     protected synchronized ConfiguredBeanLocator createConfiguredBeanLocator() {
         ConfiguredBeanLocator loc = (ConfiguredBeanLocator)extensions.get(ConfiguredBeanLocator.class);
         if (loc == null) {
-            loc = new ConfiguredBeanLocator() {
-                public List<String> getBeanNamesOfType(Class<?> type) {
-                    return null;
-                }
-                public <T> Collection<? extends T> getBeansOfType(Class<T> type) {
-                    extensionManager.activateAllByType(type);
-                    List<T> lst = new ArrayList<T>();
-                    for (Object o : extensions.values()) {
-                        if (type.isInstance(o)) {
-                            lst.add(type.cast(o));
-                        }
-                    }
-                    return lst;
-                }
-                public <T> T getBeanOfType(String name, Class<T> type) {
-                    T t = extensionManager.getExtension(name, type);
-                    if (t != null) {
-                        return t;
-                    }
-                    extensionManager.activateAllByType(type);
-                    return type.cast(extensions.get(type));
-                }
-                public <T> boolean loadBeansOfType(Class<T> type, BeanLoaderListener<T> listener) {
-                    int s = extensions.size();
-                    extensionManager.activateAllByType(type);
-                    return s != extensions.size();
-                }
-                public boolean hasConfiguredPropertyValue(String beanName, 
-                                                          String propertyName,
-                                                          String value) {
-                    return false;
-                }
-            };
+            loc = extensionManager; 
             this.setExtension(loc, ConfiguredBeanLocator.class);
         }
         return loc;
@@ -204,7 +183,7 @@ public class ExtensionManagerBus extends
             return busId;
         }
 
-        // otherwise use default
-        return DEFAULT_BUS_ID;
+        // otherwise use null so the default will be used
+        return null;
     }
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java Fri Mar  4 20:33:44 2011
@@ -23,25 +23,23 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Method;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Enumeration;
-import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.common.injection.ResourceInjector;
+import org.apache.cxf.configuration.ConfiguredBeanLocator;
 import org.apache.cxf.configuration.Configurer;
 import org.apache.cxf.resource.ObjectTypeResolver;
 import org.apache.cxf.resource.ResourceManager;
 import org.apache.cxf.resource.ResourceResolver;
 import org.apache.cxf.resource.SinglePropertyResolver;
 
-public class ExtensionManagerImpl implements ExtensionManager {
+public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLocator {
 
     public static final String EXTENSIONMANAGER_PROPERTY_NAME = "extensionManager";
     public static final String ACTIVATION_NAMESPACES_PROPERTY_NAME = "activationNamespaces";
@@ -49,15 +47,10 @@ public class ExtensionManagerImpl implem
     public static final String BUS_EXTENSION_RESOURCE_XML = "META-INF/cxf/bus-extensions.xml";
     public static final String BUS_EXTENSION_RESOURCE = "META-INF/cxf/bus-extensions.txt";
     
-    private static final String NO_NAMESPACES = "NO_NAMESPACE_BEANS";
-    
-    
     private final ClassLoader loader;
     private ResourceManager resourceManager;
-    private Map<String, Collection<Extension>> deferred;
+    private Map<String, Extension> all = new LinkedHashMap<String, Extension>();
     private final Map<Class, Object> activated;
-    private final Map<String, Collection<Object>> namespaced = 
-        new ConcurrentHashMap<String, Collection<Object>>();
     private final Bus bus;
 
     public ExtensionManagerImpl(ClassLoader cl, Map<Class, Object> initialExtensions, 
@@ -88,7 +81,6 @@ public class ExtensionManagerImpl implem
         resourceManager.addResourceResolver(extensionManagerResolver);
         resourceManager.addResourceResolver(new ObjectTypeResolver(this));
 
-        deferred = new ConcurrentHashMap<String, Collection<Extension>>();
         load(resources);
     }
     public final void load(String resources[]) {
@@ -103,93 +95,58 @@ public class ExtensionManagerImpl implem
             throw new ExtensionException(ex);
         }
     }
-
-    public synchronized void activateViaNS(String namespaceURI, Class<?> type) {
-        Collection<Extension> extensions = deferred.get(namespaceURI);
-        if (null == extensions) {
-            return;
-        }
-        Iterator<Extension> it = extensions.iterator();
-        while (it.hasNext()) {
-            Extension e = it.next();
-            if (type == null || type.isAssignableFrom(e.getClassObject(loader))) {
+    public void add(Extension ex) {
+        all.put(ex.getName(), ex);
+    }
+    
+    public synchronized void initialize() {
+        for (Extension e : all.values()) {
+            if (!e.isDeferred() && e.getLoadedObject() == null) {
                 loadAndRegister(e);
-                extensions.remove(e);
             }
-        }
-        if (extensions.isEmpty()) {
-            deferred.remove(namespaceURI);
+        }        
+    }
+
+    public synchronized void removeBeansOfNames(List<String> names) {
+        for (String s : names) {
+            all.remove(s);
         }
     }
-    
     public synchronized void activateAll() {
-        while (!deferred.isEmpty()) {
-            activateViaNS(deferred.keySet().iterator().next(), null);
-        }
+        for (Extension e : all.values()) {
+            if (e.getLoadedObject() == null) {
+                loadAndRegister(e);
+            }
+        }        
     }
     public synchronized <T> void activateAllByType(Class<T> type) {
-        for (Map.Entry<String, Collection<Extension>> e : deferred.entrySet()) {
-            if (!e.getValue().isEmpty()) {
-                List<Extension> removes = new ArrayList<Extension>(e.getValue().size());
-                Iterator<Extension> it = e.getValue().iterator();
-                while (it.hasNext()) {
-                    Extension ex = it.next();
-                    if (type.isAssignableFrom(ex.getClassObject(loader))) {
-                        loadAndRegister(ex);
-                        removes.add(ex);
-                    }
-                }
-                e.getValue().removeAll(removes);
+        for (Extension e : all.values()) {
+            if (e.getLoadedObject() == null
+                && type.isAssignableFrom(e.getClassObject(loader))) {
+                loadAndRegister(e);
             }
-        }
+        }        
     }
-    
+
     final void load(String resource) throws IOException {
         Enumeration<URL> urls = loader.getResources(resource);
-        List<Extension> all = new LinkedList<Extension>();
         while (urls.hasMoreElements()) {
             URL url = urls.nextElement();
             
             InputStream is = url.openStream();
+            List<Extension> exts;
             if (resource.endsWith("xml")) {
-                all.addAll(new ExtensionFragmentParser().getExtensionsFromXML(is));
+                exts = new ExtensionFragmentParser().getExtensionsFromXML(is);
             } else {
-                all.addAll(new ExtensionFragmentParser().getExtensionsFromText(is));
-            }
-        }
-        for (Extension e : all) {
-            if (e.isDeferred()) {
-                addDeferred(e);
+                exts = new ExtensionFragmentParser().getExtensionsFromText(is);
             }
-        }
-        for (Extension e : all) {
-            if (!e.isDeferred()) {
-                loadAndRegister(e);
-            }
-        }
-    }
-    final void addDeferred(Extension e) {
-        Collection<String> namespaces = e.getNamespaces();
-        if (namespaces.isEmpty()) {
-            Collection<Extension> extensions = deferred.get(NO_NAMESPACES);
-            if (null == extensions) {
-                extensions = new CopyOnWriteArrayList<Extension>();
-                deferred.put(NO_NAMESPACES, extensions);
-            }
-            extensions.add(e);
-        } else {
-            for (String ns : namespaces) {
-                Collection<Extension> extensions = deferred.get(ns);
-                if (null == extensions) {
-                    extensions = new CopyOnWriteArrayList<Extension>();
-                    deferred.put(ns, extensions);
-                }
-                extensions.add(e);
+            for (Extension e : exts) {
+                all.put(e.getName(), e);
             }
         }
     }
+
     final void loadAndRegister(Extension e) {
-        
         Class<?> cls = null;
         if (null != e.getInterfaceName() && !"".equals(e.getInterfaceName())) {
             cls = e.loadInterface(loader);
@@ -237,27 +194,16 @@ public class ExtensionManagerImpl implem
             }   
             activated.put(cls, obj);
         }
-        for (String ns : e.getNamespaces()) {
-            Collection<Object> intf2Obj = namespaced.get(ns);
-            if (intf2Obj == null) {
-                intf2Obj = new CopyOnWriteArrayList<Object>();
-                if (!namespaced.containsKey(ns)) {
-                    namespaced.put(ns, intf2Obj);
-                }
-            }
-            intf2Obj.add(obj);
-        }
     }
 
-    public <T> T getExtension(String ns, Class<T> type) {
-        
-        Collection<Object> nsExts = namespaced.get(ns);
-        if (nsExts != null) {
-            for (Object o : nsExts) {
-                if (type.isAssignableFrom(o.getClass())) {
-                    return type.cast(o);
-                }
+    public synchronized <T> T getExtension(String name, Class<T> type) {
+        Extension e = all.get(name);
+        if (e != null
+            && type.isAssignableFrom(e.getClassObject(loader))) {
+            if (e.getLoadedObject() == null) {
+                loadAndRegister(e);
             }
+            return type.cast(e.getLoadedObject());
         }
         return null;
     }
@@ -285,5 +231,54 @@ public class ExtensionManagerImpl implem
             clazz = clazz.getSuperclass();
         }        
     }
-
+    public List<String> getBeanNamesOfType(Class<?> type) {
+        List<String> ret = new LinkedList<String>();
+        for (Extension ex : all.values()) {
+            if (type.isAssignableFrom(ex.getClassObject(loader))) {
+                ret.add(ex.getName());
+            }            
+        }
+        return ret;
+    }
+    public synchronized <T> Collection<? extends T> getBeansOfType(Class<T> type) {
+        List<T> ret = new LinkedList<T>();
+        for (Extension ex : all.values()) {
+            if (type.isAssignableFrom(ex.getClassObject(loader))) {
+                if (ex.getLoadedObject() == null) {
+                    loadAndRegister(ex);
+                }
+                ret.add(type.cast(ex.getLoadedObject()));
+            }            
+        }
+        return ret;
+    }
+    public synchronized <T> boolean loadBeansOfType(Class<T> type, BeanLoaderListener<T> listener) {
+        boolean loaded = false;
+        for (Extension ex : all.values()) {
+            Class<?> cls = ex.getClassObject(loader);
+            if (ex.getLoadedObject() == null 
+                && type.isAssignableFrom(cls)
+                && listener.loadBean(ex.getName(), cls.asSubclass(type))) {
+                loadAndRegister(ex);
+                if (listener.beanLoaded(ex.getName(), type.cast(ex.getLoadedObject()))) {
+                    return true;
+                }
+                loaded = true;
+            }            
+        }
+        return loaded;
+    }
+    public boolean hasConfiguredPropertyValue(String beanName, String propertyName, String value) {
+        Extension ex = all.get(beanName);
+        return ex != null && ex.getNamespaces() != null
+            && ex.getNamespaces().contains(value);
+    }
+    public void destroyBeans() {
+        for (Extension ex : all.values()) {
+            if (ex.getLoadedObject() != null) {
+                ResourceInjector injector = new ResourceInjector(resourceManager);
+                injector.destroy(ex.getLoadedObject());
+            }
+        }        
+    }
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusExtensionPostProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusExtensionPostProcessor.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusExtensionPostProcessor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusExtensionPostProcessor.java Fri Mar  4 20:33:44 2011
@@ -62,7 +62,7 @@ public class BusExtensionPostProcessor i
         if (bus == null) {
             bus = (Bus)context.getBean(Bus.DEFAULT_BUS_ID);
             bus.setExtension(context, ApplicationContext.class);
-            bus.setExtension(new SpringBeanLocator(context), ConfiguredBeanLocator.class);
+            bus.setExtension(new SpringBeanLocator(context, bus), ConfiguredBeanLocator.class);
         }
         return bus;
     }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/Jsr250BeanPostProcessor.java Fri Mar  4 20:33:44 2011
@@ -21,6 +21,7 @@ package org.apache.cxf.bus.spring;
 
 
 
+import org.apache.cxf.Bus;
 import org.apache.cxf.common.injection.ResourceInjector;
 import org.apache.cxf.resource.ResourceManager;
 import org.springframework.beans.BeansException;
@@ -75,6 +76,10 @@ public class Jsr250BeanPostProcessor 
                 } catch (NoSuchBeanDefinitionException t) {
                     //ignore - no resource manager
                 }
+                if (resourceManager == null && m == null) {
+                    Bus b = (Bus)context.getBean("cxf");
+                    m = b.getExtension(ResourceManager.class);
+                }
                 if (resourceManager == null && m != null) {
                     resourceManager = m;
                     resourceManager.addResourceResolver(new BusApplicationContextResourceResolver(context));

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBeanLocator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBeanLocator.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBeanLocator.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBeanLocator.java Fri Mar  4 20:33:44 2011
@@ -24,10 +24,15 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
+import org.apache.cxf.Bus;
+import org.apache.cxf.bus.extension.ExtensionManagerImpl;
 import org.apache.cxf.configuration.ConfiguredBeanLocator;
-import org.apache.cxf.helpers.CastUtils;
 import org.springframework.beans.Mergeable;
 import org.springframework.beans.PropertyValue;
 import org.springframework.beans.factory.config.BeanDefinition;
@@ -40,31 +45,46 @@ import org.springframework.context.Confi
  */
 public class SpringBeanLocator implements ConfiguredBeanLocator {
     ApplicationContext context;
-    public SpringBeanLocator(ApplicationContext ctx) {
+    ConfiguredBeanLocator orig;
+    public SpringBeanLocator(ApplicationContext ctx, Bus bus) {
         context = ctx;
+        orig = bus.getExtension(ConfiguredBeanLocator.class);
+        if (orig instanceof ExtensionManagerImpl) {
+            List<String> names = new ArrayList<String>();
+            for (String s : ctx.getBeanDefinitionNames()) {
+                names.add(s);
+                for (String s2 : ctx.getAliases(s)) {
+                    names.add(s2);
+                }
+            }
+            
+            ((ExtensionManagerImpl)orig).removeBeansOfNames(names);
+        }
     }
 
     /** {@inheritDoc}*/
     public List<String> getBeanNamesOfType(Class<?> type) {
-        return Arrays.asList(context.getBeanNamesForType(type, false, true));
-    }
-
-    /** {@inheritDoc}*/
-    public <T> T getBeanOfType(String name, Class<T> type) {
-        return type.cast(context.getBean(name, type));
+        Set<String> s = new LinkedHashSet<String>(Arrays.asList(context.getBeanNamesForType(type,
+                                                                                         false,
+                                                                                         true)));
+        s.addAll(orig.getBeanNamesOfType(type));
+        return new ArrayList<String>(s);
     }
 
     /** {@inheritDoc}*/
     public <T> Collection<? extends T> getBeansOfType(Class<T> type) {
-        return CastUtils.cast(context.getBeansOfType(type, false, true).values());
+        Map<String, T> mp = context.getBeansOfType(type, false, true);
+        List<T> lst = new LinkedList<T>(mp.values());
+        lst.addAll(orig.getBeansOfType(type));
+        return lst;
     }
 
     public <T> boolean loadBeansOfType(Class<T> type,
                                        BeanLoaderListener<T> listener) {
-        List<String> list = new ArrayList<String>(Arrays.asList(context.getBeanNamesForType(type, 
-                                                                                            false, 
-                                                                                            true)));
+        List<String> list = Arrays.asList(context.getBeanNamesForType(type, false, true));
+            
         Collections.reverse(list);
+        boolean loaded = false;
         for (String s : list) {
             Class<?> beanType = context.getType(s);
             Class<? extends T> t = beanType.asSubclass(type);
@@ -73,50 +93,53 @@ public class SpringBeanLocator implement
                 if (listener.beanLoaded(s, type.cast(o))) {
                     return true;
                 }
+                loaded = true;
             }
         }
-        return false;
+        return loaded || orig.loadBeansOfType(type, listener);
     }
 
     public boolean hasConfiguredPropertyValue(String beanName, String propertyName, String searchValue) {
-        ConfigurableApplicationContext ctxt = (ConfigurableApplicationContext)context;
-        BeanDefinition def = ctxt.getBeanFactory().getBeanDefinition(beanName);
-        if (!ctxt.getBeanFactory().isSingleton(beanName) || def.isAbstract()) {
-            return false;
-        }
-        Collection<?> ids = null;
-        PropertyValue pv = def.getPropertyValues().getPropertyValue(propertyName);
-        
-        if (pv != null) {
-            Object value = pv.getValue();
-            if (!(value instanceof Collection)) {
-                throw new RuntimeException("The property " + propertyName + " must be a collection!");
+        if (context.containsBean(beanName)) {
+            ConfigurableApplicationContext ctxt = (ConfigurableApplicationContext)context;
+            BeanDefinition def = ctxt.getBeanFactory().getBeanDefinition(beanName);
+            if (!ctxt.getBeanFactory().isSingleton(beanName) || def.isAbstract()) {
+                return false;
             }
-
-            if (value instanceof Mergeable) {
-                if (!((Mergeable)value).isMergeEnabled()) {
-                    ids = (Collection<?>)value;
+            Collection<?> ids = null;
+            PropertyValue pv = def.getPropertyValues().getPropertyValue(propertyName);
+            
+            if (pv != null) {
+                Object value = pv.getValue();
+                if (!(value instanceof Collection)) {
+                    throw new RuntimeException("The property " + propertyName + " must be a collection!");
                 }
-            } else {
-                ids = (Collection<?>)value;
-            }
-        } 
-        
-        if (ids != null) {
-            for (Iterator itr = ids.iterator(); itr.hasNext();) {
-                Object o = itr.next();
-                if (o instanceof TypedStringValue) {
-                    if (searchValue.equals(((TypedStringValue) o).getValue())) {
-                        return true;
+    
+                if (value instanceof Mergeable) {
+                    if (!((Mergeable)value).isMergeEnabled()) {
+                        ids = (Collection<?>)value;
                     }
                 } else {
-                    if (searchValue.equals((String)o)) {
-                        return true;
+                    ids = (Collection<?>)value;
+                }
+            } 
+            
+            if (ids != null) {
+                for (Iterator itr = ids.iterator(); itr.hasNext();) {
+                    Object o = itr.next();
+                    if (o instanceof TypedStringValue) {
+                        if (searchValue.equals(((TypedStringValue) o).getValue())) {
+                            return true;
+                        }
+                    } else {
+                        if (searchValue.equals((String)o)) {
+                            return true;
+                        }
                     }
                 }
             }
         }
-        return false;
+        return orig.hasConfiguredPropertyValue(beanName, propertyName, searchValue);
     }
 
 }

Copied: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java (from r1077972, cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusApplicationListener.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java?p2=cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java&p1=cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusApplicationListener.java&r1=1077972&r2=1078120&rev=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/BusApplicationListener.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java Fri Mar  4 20:33:44 2011
@@ -19,10 +19,10 @@
 
 package org.apache.cxf.bus.spring;
 
-import org.apache.cxf.Bus;
-import org.apache.cxf.bus.CXFBusImpl;
+import org.apache.cxf.bus.extension.ExtensionManagerBus;
 import org.apache.cxf.buslifecycle.BusLifeCycleManager;
-import org.apache.cxf.common.injection.NoJSR250Annotations;
+import org.apache.cxf.configuration.Configurer;
+import org.apache.cxf.configuration.spring.ConfigurerImpl;
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -35,11 +35,26 @@ import org.springframework.context.suppo
 /**
  * 
  */
-@NoJSR250Annotations
-public class BusApplicationListener implements ApplicationListener, ApplicationContextAware {
+public class SpringBus extends ExtensionManagerBus 
+    implements ApplicationContextAware, ApplicationListener {
+
     AbstractApplicationContext ctx;
+
     
     /** {@inheritDoc}*/
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        ctx = (AbstractApplicationContext)applicationContext;
+        ctx.addApplicationListener(this);
+        ApplicationContext ac = applicationContext.getParent();
+        while (ac != null) {
+            if (ac instanceof AbstractApplicationContext) {
+                ((AbstractApplicationContext)ac).addApplicationListener(this);
+            }
+            ac = ac.getParent();
+        }
+        setExtension(new ConfigurerImpl(applicationContext), Configurer.class);
+    }
+
     public void onApplicationEvent(ApplicationEvent event) {
         if (ctx == null) {
             return;
@@ -56,33 +71,16 @@ public class BusApplicationListener impl
         
         if (doIt) {
             if (event instanceof ContextRefreshedEvent) {
-                Bus bus = (Bus)ctx.getBean("cxf");
-                ((CXFBusImpl)bus).initialize();
-                BusLifeCycleManager lcm = (BusLifeCycleManager)
-                    ctx.getBean("org.apache.cxf.buslifecycle.BusLifeCycleManager",
-                            BusLifeCycleManager.class);
-                lcm.initComplete();
+                initialize();
             } else if (event instanceof ContextClosedEvent) {
-                BusLifeCycleManager lcm = (BusLifeCycleManager)
-                    ctx.getBean("org.apache.cxf.buslifecycle.BusLifeCycleManager",
-                        BusLifeCycleManager.class);
-                lcm.postShutdown();
+                getExtension(BusLifeCycleManager.class).postShutdown();
             }
         }
     }
-
-    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-        if (applicationContext instanceof AbstractApplicationContext) {
-            ctx = (AbstractApplicationContext)applicationContext;
-            ctx.addApplicationListener(this);
-            ApplicationContext ac = applicationContext.getParent();
-            while (ac != null) {
-                if (ac instanceof AbstractApplicationContext) {
-                    ((AbstractApplicationContext)ac).addApplicationListener(this);
-                }
-                ac = ac.getParent();
-            }
-        }        
+    
+    public void destroyBeans() {
+        ctx.close();
+        super.destroyBeans();
     }
 
 }

Propchange: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/spring/SpringBus.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/ConduitInitiatorManagerImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/ConduitInitiatorManagerImpl.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/ConduitInitiatorManagerImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/ConduitInitiatorManagerImpl.java Fri Mar  4 20:33:44 2011
@@ -31,7 +31,6 @@ import javax.annotation.Resource;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusException;
-import org.apache.cxf.bus.extension.DeferredMap;
 import org.apache.cxf.common.i18n.BundleUtils;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
@@ -148,17 +147,6 @@ public final class ConduitInitiatorManag
             loaded,
             ConduitInitiator.class).findTransportForURI(uri);
         
-        //looks like we'll need to undefer everything so we can try again.
-        if (factory == null && conduitInitiators instanceof DeferredMap) {
-            ((DeferredMap)conduitInitiators).undefer();
-            for (ConduitInitiator df : conduitInitiators.values()) {
-                for (String prefix : df.getUriPrefixes()) {
-                    if (uri.startsWith(prefix)) {
-                        return df;
-                    }
-                }
-            }
-        }
         return factory;
     }
 }

Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/DestinationFactoryManagerImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/DestinationFactoryManagerImpl.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/DestinationFactoryManagerImpl.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/DestinationFactoryManagerImpl.java Fri Mar  4 20:33:44 2011
@@ -30,7 +30,6 @@ import javax.annotation.Resource;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusException;
-import org.apache.cxf.bus.extension.DeferredMap;
 import org.apache.cxf.common.i18n.BundleUtils;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.injection.NoJSR250Annotations;
@@ -135,17 +134,6 @@ public final class DestinationFactoryMan
                 loaded,
                 DestinationFactory.class).findTransportForURI(uri);
         
-        //looks like we'll need to undefer everything so we can try again.
-        if (factory == null && destinationFactories instanceof DeferredMap) {
-            ((DeferredMap)destinationFactories).undefer();
-            for (DestinationFactory df : destinationFactories.values()) {
-                for (String prefix : df.getUriPrefixes()) {
-                    if (uri.startsWith(prefix)) {
-                        return df;
-                    }
-                }
-            }
-        }
         return factory;
     }
     

Modified: cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml (original)
+++ cxf/trunk/rt/core/src/main/resources/META-INF/cxf/cxf.xml Fri Mar  4 20:33:44 2011
@@ -29,110 +29,14 @@ http://www.springframework.org/schema/co
 		<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/>
 		<context:annotation-config/>
 	-->
-    <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl" destroy-method="shutdown"/>
-    <bean id="org.apache.cxf.bus.spring.BusApplicationListener" 
-    	class="org.apache.cxf.bus.spring.BusApplicationListener"/>
+    <bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus" destroy-method="shutdown"/>
+    
+    
     <bean id="org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor" 
     	class="org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor"/>
     <bean id="org.apache.cxf.bus.spring.Jsr250BeanPostProcessor" 
     	class="org.apache.cxf.bus.spring.Jsr250BeanPostProcessor"/>    
     <bean id="org.apache.cxf.bus.spring.BusExtensionPostProcessor" 
     	class="org.apache.cxf.bus.spring.BusExtensionPostProcessor"/>
-    
-    <bean id="org.apache.cxf.resource.ResourceManager" 
-    	class="org.apache.cxf.bus.resource.ResourceManagerImpl" 
-    	lazy-init="true">
-    	<constructor-arg ref="cxf"/>
-    </bean>
-
-    <bean id="org.apache.cxf.configuration.Configurer" 
-    	class="org.apache.cxf.configuration.spring.ConfigurerImpl" 
-    	lazy-init="true"/>
-        
-    <bean id="org.apache.cxf.binding.BindingFactoryManager"
-     	class="org.apache.cxf.binding.BindingFactoryManagerImpl"
-     	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.transport.DestinationFactoryManager"
-    	class="org.apache.cxf.transport.DestinationFactoryManagerImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.transport.ConduitInitiatorManager" 
-    	class="org.apache.cxf.transport.ConduitInitiatorManagerImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.wsdl.WSDLManager" 
-    	class="org.apache.cxf.wsdl11.WSDLManagerImpl" 
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.phase.PhaseManager" 
-    	class="org.apache.cxf.phase.PhaseManagerImpl" 
-    	lazy-init="true"/>
-    
-    <bean id="org.apache.cxf.workqueue.WorkQueueManager" 
-    	class="org.apache.cxf.workqueue.WorkQueueManagerImpl"
-		lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.buslifecycle.BusLifeCycleManager" 
-    	class="org.apache.cxf.buslifecycle.CXFBusLifeCycleManager"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.endpoint.ServerRegistry" 
-    	class="org.apache.cxf.endpoint.ServerRegistryImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
 
-    <bean id="org.apache.cxf.endpoint.ServerLifeCycleManager"
-    	class="org.apache.cxf.endpoint.ServerLifeCycleManagerImpl"
-    	lazy-init="true"/>
-    <bean id="org.apache.cxf.endpoint.ClientLifeCycleManager"
-    	class="org.apache.cxf.endpoint.ClientLifeCycleManagerImpl"
-    	lazy-init="true"/>
-        
-
-    <bean id="org.apache.cxf.transports.http.QueryHandlerRegistry" 
-    	class="org.apache.cxf.transport.http.QueryHandlerRegistryImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-
-    <bean id="org.apache.cxf.endpoint.EndpointResolverRegistry" 
-    	class="org.apache.cxf.endpoint.EndpointResolverRegistryImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    <bean id="org.apache.cxf.headers.HeaderManager" 
-    	class="org.apache.cxf.headers.HeaderManagerImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    <bean id="org.apache.cxf.catalog.OASISCatalogManager" 
-    	class="org.apache.cxf.catalog.OASISCatalogManager"  
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    <bean id="org.apache.cxf.service.factory.FactoryBeanListenerManager"
-    	class="org.apache.cxf.service.factory.FactoryBeanListenerManager"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
-    
-    <bean id="org.apache.cxf.endpoint.ServiceContractResolverRegistry" 
-    	class="org.apache.cxf.endpoint.ServiceContractResolverRegistryImpl"
-    	lazy-init="true">
-        <constructor-arg ref="cxf"/>
-    </bean>
 </beans>

Modified: cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionManagerTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionManagerTest.java?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionManagerTest.java (original)
+++ cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionManagerTest.java Fri Mar  4 20:33:44 2011
@@ -34,7 +34,6 @@ public class ExtensionManagerTest extend
 
     private static final String EXTENSIONMANAGER_TEST_RESOURECE_NAME = "extensionManagerTest";
     private ExtensionManagerImpl manager;
-    private MyService myService;
     private Map<Class, Object> extensions;
     
     @Before
@@ -47,7 +46,6 @@ public class ExtensionManagerTest extend
         
         manager = new ExtensionManagerImpl("test-extension.xml", 
             Thread.currentThread().getContextClassLoader(), extensions, rm, null); 
-        myService = null;
     }
     
     @Test
@@ -76,36 +74,6 @@ public class ExtensionManagerTest extend
          
     }
     
-    @Test
-    public void testActivateViaNS() {
-        verifyActivateViaNS(MyResourceService.class.getName(), "http://cxf.apache.org/resource");
-        verifyActivateViaNS(MySetterService.class.getName(), "http://cxf.apache.org/setter");
-    }
-    
-    public void verifyActivateViaNS(String extensionClass, String ns) {        
-        
-        Extension e = new Extension();
-        e.setClassname(extensionClass);       
-        e.getNamespaces().add(ns);
-        e.setDeferred(true);
-        manager.addDeferred(e);
-        assertNull(myService);
-        manager.activateViaNS(ns, null);
-        assertNotNull(myService);
-        assertEquals(1, myService.getActivationNamespaces().size());
-        assertEquals(ns, myService.getActivationNamespaces().iterator().next());
-        
-        // second activation should be a no-op
-        
-        MyService first = myService;        
-        manager.activateViaNS(ns, null);
-        assertSame(first, myService);
-        myService = null;
-    }
-    
-    public void setMyService(MyService m) {
-        myService = m;
-    }
 
     
 }

Modified: cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/spring/resources/bus-overwrite.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/spring/resources/bus-overwrite.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/spring/resources/bus-overwrite.xml (original)
+++ cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/spring/resources/bus-overwrite.xml Fri Mar  4 20:33:44 2011
@@ -23,7 +23,7 @@
        xsi:schemaLocation="
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-    <bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl">
+    <bean id="cxf" class="org.apache.cxf.bus.extension.ExtensionManagerBus">
         <property name="inInterceptors">
            <list>
               <ref bean="in-a"/>

Modified: cxf/trunk/rt/databinding/aegis/src/test/resources/org/apache/cxf/aegis/type/aegisOptionsTestBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/resources/org/apache/cxf/aegis/type/aegisOptionsTestBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/resources/org/apache/cxf/aegis/type/aegisOptionsTestBeans.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/resources/org/apache/cxf/aegis/type/aegisOptionsTestBeans.xml Fri Mar  4 20:33:44 2011
@@ -29,10 +29,6 @@
           ">
 
 	<import resource="classpath:META-INF/cxf/cxf.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
 
         <bean id="aegisBean" class="org.apache.cxf.aegis.databinding.AegisDatabinding">
                 <property name="aegisContext">

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/clients.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/clients.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/clients.xml (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/clients.xml Fri Mar  4 20:33:44 2011
@@ -26,7 +26,6 @@ http://www.springframework.org/schema/be
 http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
 http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
      
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers.xml (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers.xml Fri Mar  4 20:33:44 2011
@@ -26,7 +26,6 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
 
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">

Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers2.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers2.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers2.xml (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/spring/servers2.xml Fri Mar  4 20:33:44 2011
@@ -25,7 +25,6 @@ http://www.springframework.org/schema/be
 http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
   
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">

Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/schemaFirst.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/schemaFirst.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/schemaFirst.xml (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/schemaFirst.xml Fri Mar  4 20:33:44 2011
@@ -25,12 +25,12 @@
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
     
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">
           <list>
               <value>http://cxf.apache.org/transports/local</value>
+              <value>http://cxf.apache.org/transports/http</value>
               <value>http://schemas.xmlsoap.org/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
           </list>

Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/clients.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/clients.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/clients.xml (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/clients.xml Fri Mar  4 20:33:44 2011
@@ -26,7 +26,6 @@ http://cxf.apache.org/jaxws http://cxf.a
 	<context:annotation-config />
 
 	<import resource="classpath:META-INF/cxf/cxf.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
 
 	<bean class="org.apache.cxf.jaxws.spring.ClientHolderBean" id="greeters"
 		autowire="default">
@@ -48,6 +47,7 @@ http://cxf.apache.org/jaxws http://cxf.a
 		<property name="transportIds">
 			<list>
 				<value>http://cxf.apache.org/transports/local</value>
+                <value>http://cxf.apache.org/transports/http</value>
 				<value>http://schemas.xmlsoap.org/soap/http</value>
 				<value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
 			</list>

Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml Fri Mar  4 20:33:44 2011
@@ -27,15 +27,13 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
     
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" 
-    lazy-init="false"
-    depends-on="org.apache.cxf.binding.soap.SoapTransportFactory">
+    lazy-init="false">
       <property name="transportIds">
           <list>
               <value>http://cxf.apache.org/transports/local</value>
+              <value>http://cxf.apache.org/transports/http</value>
               <value>http://schemas.xmlsoap.org/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/http/</value>              

Modified: cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml (original)
+++ cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml Fri Mar  4 20:33:44 2011
@@ -27,13 +27,12 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
 
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory"
-    lazy-init="false"
-    depends-on="org.apache.cxf.binding.soap.SoapTransportFactory">
+    lazy-init="false">
       <property name="transportIds">
           <list>
+              <value>http://cxf.apache.org/transports/http</value>
               <value>http://cxf.apache.org/transports/local</value>
               <value>http://schemas.xmlsoap.org/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>

Modified: cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/clients.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/clients.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/clients.xml (original)
+++ cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/clients.xml Fri Mar  4 20:33:44 2011
@@ -27,8 +27,6 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
 
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">

Modified: cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/rountrip.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/rountrip.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/rountrip.xml (original)
+++ cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/rountrip.xml Fri Mar  4 20:33:44 2011
@@ -27,7 +27,6 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
     
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="false">
       <property name="transportIds">

Modified: cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/servers.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/servers.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/servers.xml (original)
+++ cxf/trunk/rt/frontend/simple/src/test/java/org/apache/cxf/frontend/spring/servers.xml Fri Mar  4 20:33:44 2011
@@ -27,15 +27,13 @@ http://cxf.apache.org/bindings/soap http
 http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml"/>
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
 
   <bean class="org.apache.cxf.transport.local.LocalTransportFactory" 
-    lazy-init="false"
-    depends-on="org.apache.cxf.binding.soap.SoapTransportFactory">
+    lazy-init="false">
       <property name="transportIds">
           <list>
               <value>http://cxf.apache.org/transports/local</value>
+              <value>http://cxf.apache.org/transports/http</value>
               <value>http://schemas.xmlsoap.org/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
               <value>http://schemas.xmlsoap.org/wsdl/http/</value>

Added: cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt?rev=1078120&view=auto
==============================================================================
--- cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt (added)
+++ cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt Fri Mar  4 20:33:44 2011
@@ -0,0 +1 @@
+org.apache.cxf.javascript.JavascriptQueryHandler::true
\ No newline at end of file

Propchange: cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/javascript/src/main/resources/META-INF/cxf/bus-extensions.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: cxf/trunk/rt/javascript/src/test/resources/AegisBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/resources/AegisBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/resources/AegisBeans.xml (original)
+++ cxf/trunk/rt/javascript/src/test/resources/AegisBeans.xml Fri Mar  4 20:33:44 2011
@@ -24,11 +24,6 @@
            http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd">
 
 	<import resource="classpath:META-INF/cxf/cxf.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
-	<import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml" />
 
 	<simple:server id="aegis-service"
 		serviceClass="org.apache.cxf.javascript.fortest.AegisService" address="http://localhost:8808/aegis">

Modified: cxf/trunk/rt/javascript/src/test/resources/AnyBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/resources/AnyBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/resources/AnyBeans.xml (original)
+++ cxf/trunk/rt/javascript/src/test/resources/AnyBeans.xml Fri Mar  4 20:33:44 2011
@@ -27,10 +27,6 @@
               http://www.springframework.org/schema/beans/spring-beans.xsd">
               
   <import resource="classpath:META-INF/cxf/cxf.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
               
  <jaxws:server id="any-service-endpoint" 
     address="http://localhost:8808/any" >

Modified: cxf/trunk/rt/javascript/src/test/resources/DocLitBareClientTestBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/resources/DocLitBareClientTestBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/resources/DocLitBareClientTestBeans.xml (original)
+++ cxf/trunk/rt/javascript/src/test/resources/DocLitBareClientTestBeans.xml Fri Mar  4 20:33:44 2011
@@ -27,10 +27,6 @@
               http://www.springframework.org/schema/beans/spring-beans.xsd">
               
   <import resource="classpath:META-INF/cxf/cxf.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml" />
   
   <jaxws:server id="dlb-service-endpoint" 
     address="http://localhost:8808/SimpleDocLitBare" >

Modified: cxf/trunk/rt/javascript/src/test/resources/DocLitWrappedClientTestBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/resources/DocLitWrappedClientTestBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/resources/DocLitWrappedClientTestBeans.xml (original)
+++ cxf/trunk/rt/javascript/src/test/resources/DocLitWrappedClientTestBeans.xml Fri Mar  4 20:33:44 2011
@@ -29,10 +29,6 @@
               http://www.springframework.org/schema/beans/spring-beans.xsd">
               
   <import resource="classpath:META-INF/cxf/cxf.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-javascript-client.xml" />
   <!-- 
       <cxf:bus>
         <cxf:features>

Modified: cxf/trunk/rt/javascript/src/test/resources/GreeterClientTestBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/src/test/resources/GreeterClientTestBeans.xml?rev=1078120&r1=1078119&r2=1078120&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/src/test/resources/GreeterClientTestBeans.xml (original)
+++ cxf/trunk/rt/javascript/src/test/resources/GreeterClientTestBeans.xml Fri Mar  4 20:33:44 2011
@@ -27,10 +27,6 @@
               http://www.springframework.org/schema/beans/spring-beans.xsd">
               
   <import resource="classpath:META-INF/cxf/cxf.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
-  <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" />
               
  <jaxws:server id="greeter-service-endpoint" 
     address="http://localhost:8808/Greeter" >