You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by dk...@apache.org on 2006/05/09 04:34:28 UTC

svn commit: r405278 - in /incubator/tuscany/java/sca/bindings/binding.celtix/src: main/java/org/apache/tuscany/binding/celtix/assembly/ main/java/org/apache/tuscany/binding/celtix/assembly/impl/ main/java/org/apache/tuscany/binding/celtix/builder/ main...

Author: dkulp
Date: Mon May  8 19:34:26 2006
New Revision: 405278

URL: http://svn.apache.org/viewcvs?rev=405278&view=rev
Log:
Fix for TUSCANY-240 - Celtix runtime will now use the same WSDL Definitions from the Tuscany cache instead of using it's own cache.
Fix celtix unit tests with IBM JDK


Added:
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java   (with props)
Modified:
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactory.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceBinding.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceAssemblyFactoryImpl.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceBindingImpl.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/builder/ExternalWebServiceBuilder.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/ExternalWebServiceClient.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataReader.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoader.java
    incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactory.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactory.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactory.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactory.java Mon May  8 19:34:26 2006
@@ -16,6 +16,7 @@
  */
 package org.apache.tuscany.binding.celtix.assembly;
 
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import org.apache.tuscany.model.assembly.AssemblyFactory;
 
 /**
@@ -26,6 +27,6 @@
     /**
      * Returns a new WebServiceBinding.
      */
-    WebServiceBinding createWebServiceBinding();
+    WebServiceBinding createWebServiceBinding(WSDLDefinitionRegistry wsdlRegistry);
 
 }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceBinding.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceBinding.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceBinding.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/WebServiceBinding.java Mon May  8 19:34:26 2006
@@ -24,6 +24,7 @@
 
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.model.assembly.Binding;
+import org.objectweb.celtix.Bus;
 
 /**
  * Represents a Web service binding.
@@ -73,4 +74,7 @@
     ResourceLoader getResourceLoader();
 
     void setResourceLoader(ResourceLoader resourceLoader);
+    
+    Bus getBus();
+    void setBus(Bus b);
 }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceAssemblyFactoryImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceAssemblyFactoryImpl.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceAssemblyFactoryImpl.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceAssemblyFactoryImpl.java Mon May  8 19:34:26 2006
@@ -18,6 +18,7 @@
 
 import org.apache.tuscany.binding.celtix.assembly.WebServiceAssemblyFactory;
 import org.apache.tuscany.binding.celtix.assembly.WebServiceBinding;
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
 
 /**
@@ -35,8 +36,8 @@
     /**
      * @see org.apache.tuscany.binding.celtix.assembly.WebServiceAssemblyFactory#createWebServiceBinding()
      */
-    public WebServiceBinding createWebServiceBinding() {
-        return new WebServiceBindingImpl();
+    public WebServiceBinding createWebServiceBinding(WSDLDefinitionRegistry wsdlRegistry) {
+        return new WebServiceBindingImpl(wsdlRegistry);
     }
 
 }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceBindingImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceBindingImpl.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceBindingImpl.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/assembly/impl/WebServiceBindingImpl.java Mon May  8 19:34:26 2006
@@ -25,25 +25,31 @@
 import commonj.sdo.helper.TypeHelper;
 import org.apache.tuscany.binding.celtix.assembly.WebServiceBinding;
 import org.apache.tuscany.common.resource.ResourceLoader;
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import org.apache.tuscany.model.assembly.AssemblyContext;
 import org.apache.tuscany.model.assembly.impl.BindingImpl;
+import org.objectweb.celtix.Bus;
 
 /**
  * An implementation of WebServiceBinding.
  */
 public class WebServiceBindingImpl extends BindingImpl implements WebServiceBinding {
 
+    private WSDLDefinitionRegistry wsdlRegistry;
+    
     private Definition definition;
     private Port port;
     private Service service;
     private String portURI;
     private TypeHelper typeHelper;
     private ResourceLoader resourceLoader;
+    private Bus bus;
 
     /**
      * Constructor
      */
-    protected WebServiceBindingImpl() {
+    protected WebServiceBindingImpl(WSDLDefinitionRegistry reg) {
+        wsdlRegistry = reg;
     }
 
     /**
@@ -122,7 +128,7 @@
             String portName = portURI.substring(h + 1);
 
             // Load the WSDL definitions for the given namespace
-            List<Definition> definitions = modelContext.getAssemblyLoader().loadDefinitions(portNamespace);
+            List<Definition> definitions = wsdlRegistry.getDefinitionsForNamespace(portNamespace);
             if (definitions == null) {
                 throw new IllegalArgumentException("Cannot find WSDL definition for " + portNamespace);
             }
@@ -141,6 +147,14 @@
             }
             throw new IllegalArgumentException("Cannot find WSDL port " + portURI);
         }
+    }
+
+    public Bus getBus() {
+        return bus;
+    }
+
+    public void setBus(Bus b) {
+        bus = b;
     }
 
 }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/builder/ExternalWebServiceBuilder.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/builder/ExternalWebServiceBuilder.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/builder/ExternalWebServiceBuilder.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/builder/ExternalWebServiceBuilder.java Mon May  8 19:34:26 2006
@@ -21,7 +21,6 @@
 import org.apache.tuscany.core.extension.ExternalServiceContextFactory;
 import org.apache.tuscany.core.injection.SingletonObjectFactory;
 import org.apache.tuscany.model.assembly.ExternalService;
-import org.objectweb.celtix.Bus;
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
 
@@ -35,19 +34,14 @@
 @Scope("MODULE")
 public class ExternalWebServiceBuilder extends ExternalServiceBuilderSupport<WebServiceBinding> {
 
-    private Bus bus;
-
-    @Override
     @Init(eager = true)
     public void init() throws Exception {
         super.init();
-        bus = Bus.init();
     }
-
+        
     protected ExternalServiceContextFactory createExternalServiceContextFactory(
             ExternalService externalService) {
-        ExternalWebServiceClient externalWebServiceClient = new ExternalWebServiceClient(bus,
-                externalService);
+        ExternalWebServiceClient externalWebServiceClient = new ExternalWebServiceClient(externalService);
         return new ExternalWebServiceContextFactory(externalService.getName(),
                 new SingletonObjectFactory<ExternalWebServiceClient>(externalWebServiceClient));
     }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/ExternalWebServiceClient.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/ExternalWebServiceClient.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/ExternalWebServiceClient.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/ExternalWebServiceClient.java Mon May  8 19:34:26 2006
@@ -58,9 +58,11 @@
     private WSDLMetaDataCache wsdlCache;
     private ClientBinding clientBinding;
 
-    public ExternalWebServiceClient(Bus b, ExternalService externalService) throws BuilderException {
-        bus = b;
+    
+    
+    public ExternalWebServiceClient(ExternalService externalService) throws BuilderException {
         WebServiceBinding wsBinding = (WebServiceBinding)externalService.getBindings().get(0);
+        bus = wsBinding.getBus();
         typeHelper = wsBinding.getTypeHelper();
         Definition wsdlDef = wsBinding.getWSDLDefinition();
         wsdlCache = new WSDLMetaDataCache(wsdlDef, wsBinding.getWSDLPort());
@@ -68,8 +70,6 @@
         try {
             String key = wsdlDef.getDocumentBaseURI();
             URL url = new URL(key);
-            bus.getWSDLManager().addDefinition(key, wsdlDef);
-            bus.getWSDLManager().addDefinition(url, wsdlDef);
 
             EndpointReferenceType reference = EndpointReferenceUtils.getEndpointReference(url,
                     wsBinding.getWSDLService().getQName(),

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataReader.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataReader.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataReader.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/handler/io/NodeDataReader.java Mon May  8 19:34:26 2006
@@ -88,10 +88,21 @@
             InstantiationException, IllegalAccessException {
 
         //This is also a hack, the JDK should already have this set, but it doesn't
-        System.setProperty(DOMImplementationRegistry.PROPERTY,
-                "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
+        /*
+                */
         DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
+        if (registry == null) {
+            System.setProperty(DOMImplementationRegistry.PROPERTY,
+                "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
+            registry = DOMImplementationRegistry.newInstance();
+        }
         DOMImplementationLS impl = (DOMImplementationLS)registry.getDOMImplementation("LS");
+        if (impl == null) {
+            System.setProperty(DOMImplementationRegistry.PROPERTY,
+                "com.sun.org.apache.xerces.internal.dom.DOMImplementationSourceImpl");
+            registry = DOMImplementationRegistry.newInstance();            
+            impl = (DOMImplementationLS)registry.getDOMImplementation("LS");
+        }
         LSOutput output = impl.createLSOutput();
         RawByteArrayOutputStream bout = new RawByteArrayOutputStream();
         output.setByteStream(bout);

Added: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java?rev=405278&view=auto
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java (added)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java Mon May  8 19:34:26 2006
@@ -0,0 +1,69 @@
+package org.apache.tuscany.binding.celtix.loader;
+
+import java.io.IOException;
+import java.net.URL;
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.factory.WSDLFactory;
+
+import org.w3c.dom.Element;
+
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
+
+import org.objectweb.celtix.BusException;
+import org.objectweb.celtix.wsdl.WSDLManager;
+
+public class TuscanyWSDLManager implements WSDLManager {
+    WSDLDefinitionRegistry wsdlDefinitionRegistry;
+
+    public TuscanyWSDLManager(WSDLDefinitionRegistry w) throws BusException {
+        wsdlDefinitionRegistry = w;
+    }
+
+    public WSDLFactory getWSDLFactory() {
+        //Not supported
+        return null;
+    }
+
+    public ExtensionRegistry getExtenstionRegistry() {
+        return wsdlDefinitionRegistry.getExtensionRegistry();
+    }
+
+    public Definition getDefinition(URL url) throws WSDLException {
+        try {
+            return wsdlDefinitionRegistry.loadDefinition(null, url);
+        } catch (IOException e) {
+            throw new WSDLException(WSDLException.CONFIGURATION_ERROR, e.getMessage());
+        }
+    }
+
+    public Definition getDefinition(String url) throws WSDLException {
+        try {
+            //The namespace is the wsdl targetNamesapce, it is only used
+            //when the wsdl is created into cache. we are ok here to set it to null.
+            return wsdlDefinitionRegistry.loadDefinition(null, new URL(url));
+        } catch (IOException e) {
+            throw new WSDLException(WSDLException.CONFIGURATION_ERROR, e.getMessage());
+        }
+    }
+
+    public Definition getDefinition(Element el) throws WSDLException {
+        //Not supported
+        return null;
+    }
+
+    public Definition getDefinition(Class<?> sei) throws WSDLException {
+        //Not supported
+        return null;
+    }
+
+    public void addDefinition(Object key, Definition wsdl) {
+        //Not supported
+    }
+
+    public void shutdown() {
+    }
+
+
+}

Propchange: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/TuscanyWSDLManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoader.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoader.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoader.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/main/java/org/apache/tuscany/binding/celtix/loader/WebServiceBindingLoader.java Mon May  8 19:34:26 2006
@@ -16,6 +16,9 @@
  */
 package org.apache.tuscany.binding.celtix.loader;
 
+import java.util.Map;
+import java.util.WeakHashMap;
+
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
@@ -29,6 +32,7 @@
 import org.apache.tuscany.core.loader.StAXLoaderRegistry;
 import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import org.apache.tuscany.core.system.annotation.Autowire;
+import org.objectweb.celtix.Bus;
 import org.osoa.sca.annotations.Destroy;
 import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Scope;
@@ -46,6 +50,8 @@
     protected StAXLoaderRegistry registry;
     protected WSDLDefinitionRegistry wsdlRegistry;
 
+    private Bus bus;
+
     @Autowire
     public void setRegistry(StAXLoaderRegistry reg) {
         this.registry = reg;
@@ -53,7 +59,14 @@
 
     @Autowire
     public void setWsdlRegistry(WSDLDefinitionRegistry wsdlReg) {
-        wsdlRegistry = wsdlReg;
+        try {
+            Map<String, Object> properties = new WeakHashMap<String, Object>();
+            properties.put("celtix.WSDLManager", new TuscanyWSDLManager(wsdlReg));
+            bus = Bus.init(new String[0], properties);
+            wsdlRegistry = wsdlReg;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     @Init(eager = true)
@@ -63,18 +76,24 @@
 
     @Destroy
     public void stop() {
-        registry.unregisterLoader(BINDING_WS, this);
+        try {
+            registry.unregisterLoader(BINDING_WS, this);
+            bus.shutdown(true);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
     }
 
     @SuppressWarnings("deprecation")
     public WebServiceBinding load(XMLStreamReader reader, LoaderContext loaderContext)
         throws XMLStreamException, ConfigurationLoadException {
 
-        WebServiceBinding binding = WS_FACTORY.createWebServiceBinding();
+        WebServiceBinding binding = WS_FACTORY.createWebServiceBinding(wsdlRegistry);
         binding.setURI(reader.getAttributeValue(null, "uri"));
         binding.setPortURI(reader.getAttributeValue(null, "port"));
         binding.setTypeHelper(registry.getContext().getTypeHelper());
         binding.setResourceLoader(loaderContext.getResourceLoader());
+        binding.setBus(bus);
         return binding;
     }
 }

Modified: incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java?rev=405278&r1=405277&r2=405278&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.celtix/src/test/java/org/apache/tuscany/binding/celtix/assembly/WebServiceAssemblyFactoryTestCase.java Mon May  8 19:34:26 2006
@@ -12,29 +12,28 @@
 
 import org.apache.tuscany.binding.celtix.assembly.impl.WebServiceAssemblyFactoryImpl;
 import org.apache.tuscany.binding.celtix.assembly.impl.WebServiceBindingImpl;
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import org.apache.tuscany.model.assembly.AssemblyContext;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
 import org.easymock.EasyMock;
 
 public class WebServiceAssemblyFactoryTestCase extends TestCase {
 
     
-    private void setupMocks(AssemblyContext modelContext,
-                            AssemblyModelLoader loader,
+    private void setupMocks(WSDLDefinitionRegistry reg,
                             List<Definition> wsdlList) {
-        EasyMock.reset(loader);
-        EasyMock.reset(modelContext);
-        modelContext.getAssemblyLoader();        
-        EasyMock.expectLastCall().andReturn(loader);
-        loader.loadDefinitions("http://objectweb.org/hello_world_soap_http");
+        EasyMock.reset(new Object[] {reg});
+        
+        reg.getDefinitionsForNamespace("http://objectweb.org/hello_world_soap_http");
         EasyMock.expectLastCall().andReturn(wsdlList);
-        EasyMock.replay(loader);
-        EasyMock.replay(modelContext);        
+        
+        EasyMock.replay(new Object[] {reg});
     }
     
     public void testCreate() throws Exception {
+        WSDLDefinitionRegistry reg = EasyMock.createNiceMock(WSDLDefinitionRegistry.class);
+        
         WebServiceAssemblyFactoryImpl impl = new WebServiceAssemblyFactoryImpl();
-        WebServiceBinding bind = impl.createWebServiceBinding();
+        WebServiceBinding bind = impl.createWebServiceBinding(reg);
         assertNotNull("Did not create the binding", bind);
         assertTrue("bind object wrong class: " + bind.getClass(),
                    bind instanceof WebServiceBindingImpl);
@@ -52,7 +51,6 @@
         bind.setPortURI("http://objectweb.org/hello_world_soap_http#SoapPort");
         
         AssemblyContext modelContext = EasyMock.createNiceMock(AssemblyContext.class);
-        AssemblyModelLoader loader = EasyMock.createNiceMock(AssemblyModelLoader.class);
         
         WSDLReader reader =  WSDLFactory.newInstance().newWSDLReader();
         reader.setFeature("javax.wsdl.verbose", false);
@@ -61,7 +59,7 @@
 
         List<Definition> wsdlList = new ArrayList<Definition>();
         
-        setupMocks(modelContext, loader, wsdlList);
+        setupMocks(reg, wsdlList);
         try {
             bind.initialize(modelContext);
             fail("Should have failed getting the wsdl");
@@ -69,19 +67,19 @@
             //expected
         }
         
-        setupMocks(modelContext, loader, wsdlList);
+        setupMocks(reg, wsdlList);
 
         
         wsdlList.add(definition);
-        bind = impl.createWebServiceBinding();
+        bind = impl.createWebServiceBinding(reg);
         bind.setURI("http://objectweb.org/hello_world_soap_http");
         bind.setPortURI("http://objectweb.org/hello_world_soap_http#SoapPort");
         bind.initialize(modelContext);
     
-        setupMocks(modelContext, loader, wsdlList);
+        setupMocks(reg, wsdlList);
         
         wsdlList.add(definition);
-        bind = impl.createWebServiceBinding();
+        bind = impl.createWebServiceBinding(reg);
         bind.setURI("http://objectweb.org/hello_world_soap_http");
         bind.setPortURI("http://objectweb.org/hello_world_soap_http#FooPort");