Author: jboynes
Date: Mon Apr 17 16:12:46 2006
New Revision: 394806

URL: http://svn.apache.org/viewcvs?rev=394806&view=rev
Log:
locate WSDL portType as part of loading WSDL interface
refactor WSDLServiceContract to remove dependency on private WSDL cache

Added:
    
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
   (with props)
    
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
   (with props)
    
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/
    
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/
    
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
Modified:
    
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
    
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
    
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
    
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
    
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
    
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
    
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
    
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module

Modified: 
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module 
(original)
+++ 
incubator/tuscany/java/samples/bigbank/webclient/src/main/resources/sca.module 
Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
 
         name="tuscany.samples.bigbank.webclient">
 
+    <import.wsdl location="wsdl/AccountService.wsdl" 
namespace="http://www.bigbank.com/Account/"/>
+
     <component name="LoginServiceComponent">
         <implementation.java 
class="org.apache.tuscany.samples.bigbank.webclient.services.profile.SimpleLoginServiceImpl"/>
         <references>
@@ -47,9 +49,5 @@
         <binding.ws port="http://www.bigbank.com/Account/#AccountServiceSOAP"/>
     </externalService>
 
-    <import.wsdl
-               location="wsdl/AccountService.wsdl"
-               namespace="http://www.bigbank.com/Account/"/>
-               
 </module>
        

Modified: 
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
 (original)
+++ 
incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/sca.module
 Mon Apr 17 16:12:46 2006
@@ -18,18 +18,16 @@
 <module xmlns="http://www.osoa.org/xmlns/sca/0.9"; 
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9";
         name="sampleHelloworld">
 
+    <import.wsdl location="wsdl/helloworld.wsdl" 
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
     <entryPoint name="HelloWorldService">
-        <interface.wsdl 
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
-        <binding.ws 
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
+        <interface.wsdl 
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
+        <binding.ws 
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
         <reference>HelloWorldServiceComponent/HelloWorldService</reference>
     </entryPoint>
 
     <component name="HelloWorldServiceComponent">
         <implementation.java 
class="org.apache.tuscany.samples.helloworldws.HelloWorldServiceComponentImpl"/>
-    </component>
+    </component>
     
-    <import.wsdl
-               location="wsdl/helloworld.wsdl"
-               namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
-
 </module>

Modified: 
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
 (original)
+++ 
incubator/tuscany/java/samples/helloworld/helloworldwsclient/src/main/resources/sca.module
 Mon Apr 17 16:12:46 2006
@@ -17,6 +17,8 @@
 <module xmlns="http://www.osoa.org/xmlns/sca/0.9"; 
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9";
         name="sampleHelloworld">
 
+    <import.wsdl location="wsdl/helloworld.wsdl" 
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
     <component name="HelloWorldServiceComponent">
         <implementation.java 
class="org.apache.tuscany.samples.helloworldwsclient.HelloWorldServiceComponentImpl"/>
         <references>
@@ -31,10 +33,6 @@
         <interface.java 
interface="org.apache.tuscany.samples.helloworldwsclient.HelloWorldServiceComponent"/>
         <binding.ws 
port="http://helloworldaxis.samples.tuscany.apache.org#wsdl.endpoint(HelloWorldServiceImplService/helloworldws)"/>
         -->
-    </externalService>
-    
-    <import.wsdl
-               location="wsdl/helloworld.wsdl"
-               namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
-
+    </externalService>
+    
 </module>

Added: 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl?rev=394806&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
 (added)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/example.wsdl
 Mon Apr 17 16:12:46 2006
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as 
applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+<wsdl:definitions targetNamespace="http://www.example.org";
+                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
+                  name="example">
+
+    <wsdl:portType name="HelloWorld">
+    </wsdl:portType>
+</wsdl:definitions>

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/test/resources/helloworld/sca.module
 Mon Apr 17 16:12:46 2006
@@ -21,5 +21,13 @@
     <component name="HelloWorld">
         <implementation.java 
class="org.apache.tuscany.container.java.integration.HelloWorldImpl"/>
     </component>
-    
+
+<!--
+    <import.wsdl namespace="http://www.example.org"; location="example.wsdl"/>
+
+    <externalService name="external">
+        <interface.wsdl interface="http://www.example.org#HelloWorld"/>
+    </externalService>
+-->
+
 </module>

Added: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java?rev=394806&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
 (added)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
 Mon Apr 17 16:12:46 2006
@@ -0,0 +1,39 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tuscany.core.config;
+
+/**
+ * Exception indicating that the interface referenced in an assembly file 
could not be found.
+ *
+ * @version $Rev$ $Date$
+ */
+public class MissingInterfaceException extends ConfigurationLoadException {
+    public MissingInterfaceException() {
+    }
+
+    public MissingInterfaceException(String message) {
+        super(message);
+    }
+
+    public MissingInterfaceException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public MissingInterfaceException(Throwable cause) {
+        super(cause);
+    }
+}

Propchange: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingInterfaceException.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
 Mon Apr 17 16:12:46 2006
@@ -19,12 +19,13 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
-import javax.wsdl.WSDLException;
 import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
+import commonj.sdo.helper.XSDHelper;
 import org.osoa.sca.annotations.Scope;
 
 import org.apache.tuscany.common.resource.ResourceLoader;
@@ -35,11 +36,9 @@
 import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import static 
org.apache.tuscany.core.loader.assembly.AssemblyConstants.IMPORT_WSDL;
 import org.apache.tuscany.core.system.annotation.Autowire;
-import org.apache.tuscany.model.assembly.ImportWSDL;
 import org.apache.tuscany.model.assembly.AssemblyContext;
+import org.apache.tuscany.model.assembly.ImportWSDL;
 import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.helper.XSDHelper;
 
 /**
  * Loader that handles &lt;import.wsdl&gt; elements.

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoader.java
 Mon Apr 17 16:12:46 2006
@@ -18,18 +18,30 @@
 
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.core.config.ConfigurationLoadException;
+import org.apache.tuscany.core.config.MissingInterfaceException;
+import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
+import org.apache.tuscany.core.loader.StAXUtil;
+import org.apache.tuscany.core.system.annotation.Autowire;
 import org.apache.tuscany.model.assembly.Scope;
 import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
 
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
+import javax.wsdl.PortType;
 
 /**
  * @version $Rev$ $Date$
  */
 @org.osoa.sca.annotations.Scope("MODULE")
 public class InterfaceWSDLLoader extends AbstractLoader {
+    private WSDLDefinitionRegistry wsdlRegistry;
+
+    @Autowire
+    public void setWsdlRegistry(WSDLDefinitionRegistry wsdlRegistry) {
+        this.wsdlRegistry = wsdlRegistry;
+    }
+
     public QName getXMLType() {
         return AssemblyConstants.INTERFACE_WSDL;
     }
@@ -38,8 +50,30 @@
         assert AssemblyConstants.INTERFACE_WSDL.equals(reader.getName());
         WSDLServiceContract serviceContract = 
factory.createWSDLServiceContract();
         serviceContract.setScope(Scope.INSTANCE);
-        serviceContract.setPortTypeURI(reader.getAttributeValue(null, 
"interface"));
-        serviceContract.setCallbackPortTypeURI(reader.getAttributeValue(null, 
"callbackInterface"));
+
+        String portTypeURI = reader.getAttributeValue(null, "interface");
+        if (portTypeURI != null) {
+            serviceContract.setPortType(getPortType(portTypeURI));
+        }
+
+        portTypeURI = reader.getAttributeValue(null, "callbackInterface");
+        if (portTypeURI != null) {
+            serviceContract.setCallbackPortType(getPortType(portTypeURI));
+        }
+        StAXUtil.skipToEndElement(reader);
         return serviceContract;
+    }
+
+    protected PortType getPortType(String uri) throws 
MissingInterfaceException {
+        // fixme support WSDL 2.0 XPointer references and possible XML Schema 
QNames
+        int index = uri.indexOf('#');
+        String namespace = uri.substring(0, index);
+        String name = uri.substring(index + 1);
+        QName qname = new QName(namespace, name);
+        PortType portType = wsdlRegistry.getPortType(qname);
+        if (portType == null) {
+            throw new MissingInterfaceException(uri);
+        }
+        return portType;
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/WSDLDefinitionRegistryImpl.java
 Mon Apr 17 16:12:46 2006
@@ -31,12 +31,15 @@
 import javax.wsdl.xml.WSDLReader;
 import javax.xml.namespace.QName;
 
+import org.osoa.sca.annotations.Scope;
+
 import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 
 /**
  * @version $Rev$ $Date$
  */
 @org.osoa.sca.annotations.Service(interfaces = {WSDLDefinitionRegistry.class})
[EMAIL PROTECTED]("MODULE")
 public class WSDLDefinitionRegistryImpl implements WSDLDefinitionRegistry {
     private final WSDLFactory wsdlFactory;
     private final ExtensionRegistry registry;
@@ -59,7 +62,7 @@
     public ExtensionRegistry getExtensionRegistry() {
         return registry;
     }
-    
+
     public Definition loadDefinition(String namespace, URL location) throws 
IOException, WSDLException {
         Definition definition = definitionsByLocation.get(location);
         if (definition != null) {

Added: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java?rev=394806&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
 Mon Apr 17 16:12:46 2006
@@ -0,0 +1,72 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tuscany.core.loader.assembly;
+
+import java.net.URL;
+import java.io.IOException;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.wsdl.WSDLException;
+
+import org.apache.tuscany.core.config.ConfigurationLoadException;
+import static 
org.apache.tuscany.core.loader.assembly.AssemblyConstants.INTERFACE_WSDL;
+import org.apache.tuscany.core.loader.impl.WSDLDefinitionRegistryImpl;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class InterfaceWSDLLoaderTestCase extends LoaderTestSupport {
+    private WSDLDefinitionRegistryImpl wsdlRegistry;
+
+    public void testMinimal() throws XMLStreamException, 
ConfigurationLoadException {
+        String xml = "<interface.wsdl 
xmlns='http://www.osoa.org/xmlns/sca/0.9'></interface.wsdl>";
+        XMLStreamReader reader = getReader(xml);
+        WSDLServiceContract sc = (WSDLServiceContract) registry.load(reader, 
resourceLoader);
+        reader.require(XMLStreamConstants.END_ELEMENT, 
INTERFACE_WSDL.getNamespaceURI(), INTERFACE_WSDL.getLocalPart());
+        assertEquals(XMLStreamConstants.END_DOCUMENT, reader.next());
+        assertNotNull(sc);
+    }
+
+    public void testInterface() throws XMLStreamException, 
ConfigurationLoadException {
+        String xml = "<interface.wsdl 
xmlns='http://www.osoa.org/xmlns/sca/0.9' 
interface='http://www.example.org#HelloWorld'></interface.wsdl>";
+        XMLStreamReader reader = getReader(xml);
+        WSDLServiceContract sc = (WSDLServiceContract) registry.load(reader, 
resourceLoader);
+        reader.require(XMLStreamConstants.END_ELEMENT, 
INTERFACE_WSDL.getNamespaceURI(), INTERFACE_WSDL.getLocalPart());
+        assertEquals(XMLStreamConstants.END_DOCUMENT, reader.next());
+        assertNotNull(sc);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        wsdlRegistry = new WSDLDefinitionRegistryImpl();
+        wsdlRegistry.setMonitor(NULL_MONITOR);
+        wsdlRegistry.loadDefinition("http://www.example.org";, 
getClass().getResource("example.wsdl"));
+        InterfaceWSDLLoader loader = new InterfaceWSDLLoader();
+        loader.setWsdlRegistry(wsdlRegistry);
+        registerLoader(loader);
+    }
+
+    private static final WSDLDefinitionRegistryImpl.Monitor NULL_MONITOR = new 
WSDLDefinitionRegistryImpl.Monitor() {
+        public void readingWSDL(String namespace, URL location) {
+        }
+
+        public void cachingDefinition(String namespace, URL location) {
+        }
+    };
+}

Propchange: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/InterfaceWSDLLoaderTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Added: 
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl?rev=394806&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
 (added)
+++ 
incubator/tuscany/java/sca/core/src/test/resources/org/apache/tuscany/core/loader/assembly/example.wsdl
 Mon Apr 17 16:12:46 2006
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2005 The Apache Software Foundation or its licensors, as 
applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+<wsdl:definitions targetNamespace="http://www.example.org";
+                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
+                  name="example">
+
+    <wsdl:portType name="HelloWorld">
+    </wsdl:portType>
+</wsdl:definitions>

Modified: 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
 (original)
+++ 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/WSDLServiceContract.java
 Mon Apr 17 16:12:46 2006
@@ -27,7 +27,7 @@
     
     /**
      * Returns the WSDL portType.
-     * @return
+     * @return the WSDL portType
      */
     PortType getPortType();
     
@@ -39,7 +39,7 @@
     
     /**
      * Returns the callback WSDL portType.
-     * @return
+     * @return the callback WSDL portType
      */
     PortType getCallbackPortType();
     
@@ -48,8 +48,4 @@
      * @param portType
      */
     void setCallbackPortType(PortType portType);
-
-    void setPortTypeURI(String portTypeURI);
-
-    void setCallbackPortTypeURI(String callbackPortTypeURI);
 }

Modified: 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/model/src/main/java/org/apache/tuscany/model/types/wsdl/impl/WSDLServiceContractImpl.java
 Mon Apr 17 16:12:46 2006
@@ -17,7 +17,6 @@
 package org.apache.tuscany.model.types.wsdl.impl;
 
 import java.util.List;
-import javax.wsdl.Definition;
 import javax.wsdl.Operation;
 import javax.wsdl.PortType;
 import javax.xml.namespace.QName;
@@ -32,7 +31,6 @@
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.model.assembly.AssemblyContext;
 import org.apache.tuscany.model.assembly.impl.ServiceContractImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
 import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
 import org.apache.tuscany.model.util.XMLNameUtil;
 
@@ -45,10 +43,6 @@
 
     private PortType callbackPortType;
 
-    private String portTypeURI;
-
-    private String callbackPortTypeURI;
-
     private static final String[] EMPTY_STRINGS = new String[0];
 
     /**
@@ -76,20 +70,6 @@
     }
 
     /**
-     * @param portTypeURI The portTypeURI to set.
-     */
-    public void setPortTypeURI(String portTypeURI) {
-        this.portTypeURI = portTypeURI;
-    }
-
-    /**
-     * @param callbackPortTypeURI The callbackPortTypeURI to set.
-     */
-    public void setCallbackPortTypeURI(String callbackPortTypeURI) {
-        this.callbackPortTypeURI = callbackPortTypeURI;
-    }
-
-    /**
      * @see 
org.apache.tuscany.model.assembly.impl.ExtensibleImpl#initialize(org.apache.tuscany.model.assembly.AssemblyContext)
      */
     public void initialize(AssemblyContext modelContext) {
@@ -97,15 +77,6 @@
             return;
         super.initialize(modelContext);
 
-        // Resolve the WSDL portType and callback portType
-        AssemblyModelLoader modelLoader = modelContext.getAssemblyLoader();
-        if (portTypeURI != null && portType == null) {
-            portType = getPortType(modelLoader, portTypeURI);
-        }
-        if (callbackPortTypeURI != null && callbackPortType == null) {
-            callbackPortType = getPortType(modelLoader, callbackPortTypeURI);
-        }
-
         // Load the Java interface for the portType
         if (portType != null && getInterface() == null) {
             QName qname = portType.getQName();
@@ -135,33 +106,6 @@
             }
             super.setCallbackInterface(interfaceClass);
         }
-    }
-
-    /**
-     * Get a portType from the given uri
-     *
-     * @param loader
-     * @param uri
-     * @return the portType
-     */
-    private static PortType getPortType(AssemblyModelLoader loader, String 
uri) {
-
-        // Get the WSDL port namespace and name
-        int h = uri.indexOf('#');
-        String namespace = uri.substring(0, h);
-        String name = uri.substring(h + 1);
-        QName qname = new QName(namespace, name);
-
-        // Load the WSDL definitions for the given namespace
-        List<Definition> definitions = loader.loadDefinitions(namespace);
-        if (definitions == null)
-            throw new IllegalArgumentException("Cannot find WSDL definition 
for " + namespace);
-        for (Definition definition : definitions) {
-
-            // Find the port with the given name
-            return definition.getPortType(qname);
-        }
-        throw new IllegalArgumentException("Cannot find WSDL portType " + uri);
     }
 
     /**

Modified: 
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
 (original)
+++ 
incubator/tuscany/java/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
 Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
 <module xmlns="http://www.osoa.org/xmlns/sca/0.9"; 
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9";
         name="testModule">
 
+    <import.wsdl location="wsdl/helloworld.wsdl" 
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
     <entryPoint name="HelloWorldService">
         <interface.wsdl 
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
         <binding.ws 
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
@@ -27,9 +29,5 @@
     <component name="HelloWorld">
         <implementation.java 
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
     </component>
-
-    <import.wsdl
-               location="wsdl/helloworld.wsdl"
-               namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
 
 </module>

Modified: 
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module?rev=394806&r1=394805&r2=394806&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
 (original)
+++ 
incubator/tuscany/java/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
 Mon Apr 17 16:12:46 2006
@@ -18,6 +18,8 @@
 <module xmlns="http://www.osoa.org/xmlns/sca/0.9"; 
xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9";
         name="testModule">
 
+    <import.wsdl location="wsdl/helloworld.wsdl" 
namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
+
     <entryPoint name="HelloWorldService">
         <interface.wsdl 
interface="http://helloworldaxis.samples.tuscany.apache.org#HelloWorldServiceImpl"/>
         <binding.ws 
port="http://helloworldaxis.samples.tuscany.apache.org#helloworld"/>
@@ -27,9 +29,5 @@
     <component name="HelloWorld">
         <implementation.java 
class="org.apache.tuscany.tomcat.integration.HelloWorldImpl"/>
     </component>
-
-    <import.wsdl
-               location="wsdl/helloworld.wsdl"
-               namespace="http://helloworldaxis.samples.tuscany.apache.org"/>
 
 </module>


Reply via email to