incubator-yoko-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject svn commit: r529640 - in /incubator/yoko/trunk/tools/src: main/java/org/apache/yoko/tools/processors/idl/ test/java/org/apache/yoko/tools/processors/ test/resources/idl/
Date Tue, 17 Apr 2007 15:24:22 GMT
Author: bravi
Date: Tue Apr 17 08:24:20 2007
New Revision: 529640

URL: http://svn.apache.org/viewvc?view=rev&rev=529640
Log:
[YOKO-334] - Added basic support for interface inheritance

Added:
    incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl   (with props)
    incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl   (with props)
Modified:
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ObjectReferenceVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
    incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ScopedNameVisitor.java
    incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ObjectReferenceVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ObjectReferenceVisitor.java?view=diff&rev=529640&r1=529639&r2=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ObjectReferenceVisitor.java
(original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ObjectReferenceVisitor.java
Tue Apr 17 08:24:20 2007
@@ -154,8 +154,8 @@
         if ((node.getFirstChild() == null)
             || (node.getFirstChild() != null && node.getFirstChild().getType() !=
IDLTokenTypes.SCOPEOP)) {
             while (bindingName == null && currentScope != currentScope.getParent())
{
-                if (isFullyScopedName(node)) {
-                    customScope = getFullyScopedName(currentScope, node);
+                if (ScopedNameVisitor.isFullyScopedName(node)) {
+                    customScope = ScopedNameVisitor.getFullyScopedName(currentScope, node);
                 } else {
                     customScope = new Scope(currentScope, node);
                 }
@@ -172,8 +172,8 @@
         if (bindingName == null) {
 
            // Global scope is our last chance to resolve the node
-            if (isFullyScopedName(node)) {
-                customScope = getFullyScopedName(new Scope(), node);                    
          
+            if (ScopedNameVisitor.isFullyScopedName(node)) {
+                customScope = ScopedNameVisitor.getFullyScopedName(new Scope(), node);
                 referenceName = new QName(schema.getTargetNamespace(),
                                                 customScope.toString() + "Ref");        
  
             } else {
@@ -313,38 +313,6 @@
         return null;
     }
     
-    // Check if its a fully scoped name or in the global scope
-    private static boolean isFullyScopedName(AST node) {        
-        if (node.getType() == IDLTokenTypes.IDENT) {    
-            if (node.getFirstChild() != null) {
-                if ((node.getFirstChild().getType() == IDLTokenTypes.SCOPEOP)
-                    || (node.getFirstChild().getType() == IDLTokenTypes.IDENT)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-    
-    // Get the fully scoped name 
-    private static Scope getFullyScopedName(Scope currentScope, AST node) {             
      
-        Scope scopedName = new Scope();
-        if (!currentScope.toString().equals(node.getText())) {
-            scopedName = new Scope(currentScope);
-        }
-        scopedName = new Scope(scopedName, node);
-        AST scopeNode = node.getFirstChild();
-        if (node.getFirstChild().getType() == IDLTokenTypes.IDENT) {
-            scopedName = new Scope(scopedName, scopeNode);
-        }                                
-        while (scopeNode.getNextSibling() != null) {
-            scopeNode = scopeNode.getNextSibling(); 
-            scopedName = new Scope(scopedName, scopeNode);                            
-        }   
-        
-        return scopedName;
-    }        
-    
     protected static boolean isForwardDeclaredReference(Scope scope, XmlSchema schema, AST
node,
                                                ScopeNameCollection scopedNames, WSDLASTVisitor
wsdlVisitor) {
         boolean isForward = false;
@@ -357,8 +325,8 @@
             || (node.getFirstChild() != null && node.getFirstChild().getType() !=
IDLTokenTypes.SCOPEOP)) {
             while (!isForward && currentScope != currentScope.getParent()) {
                 Scope scopedName = null;
-                if (isFullyScopedName(node)) {
-                    scopedName = getFullyScopedName(currentScope, node);
+                if (ScopedNameVisitor.isFullyScopedName(node)) {
+                    scopedName = ScopedNameVisitor.getFullyScopedName(currentScope, node);
                 } else {
                     scopedName = new Scope(currentScope, node);
                 }
@@ -373,8 +341,8 @@
         // Check for forward declaration in global scope
         if (!isForward) {
             Scope scopedName = null;
-            if (isFullyScopedName(node)) {
-                scopedName = getFullyScopedName(new Scope(), node);
+            if (ScopedNameVisitor.isFullyScopedName(node)) {
+                scopedName = ScopedNameVisitor.getFullyScopedName(new Scope(), node);
             } else {
                 //scopedName = scope;
                 scopedName = new Scope(new Scope(), node);
@@ -402,8 +370,8 @@
             || (node.getFirstChild() != null && node.getFirstChild().getType() !=
IDLTokenTypes.SCOPEOP)) {
             while (result == null && currentScope != currentScope.getParent()) {
               
                 Scope scopedName = null;
-                if (isFullyScopedName(node)) {
-                    scopedName = getFullyScopedName(currentScope, node);
+                if (ScopedNameVisitor.isFullyScopedName(node)) {
+                    scopedName = ScopedNameVisitor.getFullyScopedName(currentScope, node);
                 } else {
                     scopedName = new Scope(currentScope, node);
                 }
@@ -418,8 +386,8 @@
         }
         if (result == null) {
             Scope scopedName = null;
-            if (isFullyScopedName(node)) {
-                scopedName = getFullyScopedName(new Scope(), node);
+            if (ScopedNameVisitor.isFullyScopedName(node)) {
+                scopedName = ScopedNameVisitor.getFullyScopedName(new Scope(), node);
             } else {
                 scopedName = scope;
             }
@@ -446,8 +414,8 @@
             && node.getFirstChild().getType() != IDLTokenTypes.SCOPEOP)) {      
 
             while (bindingName == null
                 && currentScope != currentScope.getParent()) {                
-                if (isFullyScopedName(node)) {
-                    customScope = getFullyScopedName(currentScope, node);               

+                if (ScopedNameVisitor.isFullyScopedName(node)) {
+                    customScope = ScopedNameVisitor.getFullyScopedName(currentScope, node);
               
                 } else {
                     customScope = new Scope(currentScope, node);                    
                 }
@@ -459,8 +427,8 @@
                 
         if (bindingName == null) {
             // Global scope is our last chance to resolve the node               
-            if (isFullyScopedName(node)) {
-                customScope = getFullyScopedName(new Scope(), node);                    
          
+            if (ScopedNameVisitor.isFullyScopedName(node)) {
+                customScope = ScopedNameVisitor.getFullyScopedName(new Scope(), node);
             } else {                
                 customScope = new Scope(new Scope(), node);
             }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java?view=diff&rev=529640&r1=529639&r2=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
(original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/PortTypeVisitor.java
Tue Apr 17 08:24:20 2007
@@ -103,7 +103,7 @@
         AST interfaceInheritanceSpecNode = identifierNode.getNextSibling();
         if (interfaceInheritanceSpecNode != null
             && interfaceInheritanceSpecNode.getType() == IDLTokenTypes.COLON) {
-            exportNode = visitInterfaceInheritanceSpec(interfaceInheritanceSpecNode);
+            exportNode = visitInterfaceInheritanceSpec(interfaceInheritanceSpecNode, binding);
         } else {
             exportNode = interfaceInheritanceSpecNode;
         }
@@ -205,17 +205,36 @@
         return false;
     }
     
-    private AST visitInterfaceInheritanceSpec(AST interfaceInheritanceSpecNode) {
+    private AST visitInterfaceInheritanceSpec(AST interfaceInheritanceSpecNode, Binding binding)
{
         // <interface_inheritance_spec> ::= ":" <interface_name> { "," <interface_name>
}*
         
         AST interfaceNameNode = interfaceInheritanceSpecNode.getFirstChild();
+        BindingType corbaBinding = findCorbaBinding(binding);
         while (interfaceNameNode != null) {
             
             // TODO
             // add interface inheritance information to XmlSchema and CorbaTypeMap here 

             
-            //get the port type from the wsdl.
-
+            //check for porttypes in current & parent scopes
+            PortType intf = null;
+            if (ScopedNameVisitor.isFullyScopedName(interfaceNameNode)) {
+                Scope interfaceScope = ScopedNameVisitor.getFullyScopedName(new Scope(),
interfaceNameNode);
+                intf = findPortType(interfaceScope.toString());
+            } else {
+                Scope currentScope = getScope();
+                while (intf == null
+                       && currentScope != currentScope.getParent()) {
+                    Scope interfaceScope = new Scope(currentScope, interfaceNameNode.toString());
+                    intf = findPortType(interfaceScope.toString());
+                    currentScope = currentScope.getParent();
+                }
+            }
+            if (intf == null) {
+                throw new RuntimeException("[InterfaceVisitor] Unknown Interface: "
+                                           + interfaceNameNode.toString());
+            }
+            BindingType inheritedCorbaBinding = findCorbaBinding(findBinding(intf));
+            corbaBinding.getBases().add(inheritedCorbaBinding.getRepositoryID());
             interfaceNameNode = interfaceNameNode.getNextSibling();
         }
         
@@ -231,5 +250,34 @@
             scopedNames.add(interfaceScope);
         }
         
+    }
+
+
+    private PortType findPortType(String intfName) {
+        QName name = new QName(definition.getTargetNamespace(), intfName);
+        return definition.getPortType(name);
+    }
+
+    private Binding findBinding(PortType intf) {
+        Object[] bindings = definition.getBindings().values().toArray();   
+        for (int i = 0; i < bindings.length; i++) {
+            Binding binding = (Binding) bindings[i];
+            if (binding.getPortType().getQName().equals(intf.getQName())) {
+                return binding;
+            }
+        }
+        throw new RuntimeException("[InterfaceVisitor] Couldn't find binding for porttype
"
+                                   + intf.getQName());
+    }
+
+    private BindingType findCorbaBinding(Binding binding) {
+        java.util.List list = binding.getExtensibilityElements();
+        for (int i = 0; i < list.size(); i++) {
+            if (list.get(i) instanceof BindingType) {
+                return (BindingType) list.get(i);
+            }
+        }
+        throw new RuntimeException("[InterfaceVisitor] Couldn't find Corba binding in Binding
"
+                                   + binding.getQName());
     }
 }

Modified: incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ScopedNameVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ScopedNameVisitor.java?view=diff&rev=529640&r1=529639&r2=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ScopedNameVisitor.java
(original)
+++ incubator/yoko/trunk/tools/src/main/java/org/apache/yoko/tools/processors/idl/ScopedNameVisitor.java
Tue Apr 17 08:24:20 2007
@@ -333,7 +333,7 @@
         return result;
     }
     
-    private static boolean isFullyScopedName(AST node) {        
+    protected static boolean isFullyScopedName(AST node) {        
         if (node.getType() == IDLTokenTypes.IDENT) {    
             if (node.getFirstChild() != null) {
                 if ((node.getFirstChild().getType() == IDLTokenTypes.SCOPEOP)
@@ -345,7 +345,7 @@
         return false;
     }
     
-    private static Scope getFullyScopedName(Scope currentScope, AST node) {
+    protected static Scope getFullyScopedName(Scope currentScope, AST node) {
         Scope scopedName = new Scope();
         if (!currentScope.toString().equals(node.getText())) {
             scopedName = new Scope(currentScope);

Modified: incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java?view=diff&rev=529640&r1=529639&r2=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
(original)
+++ incubator/yoko/trunk/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
Tue Apr 17 08:24:20 2007
@@ -211,4 +211,8 @@
         testWSDLGeneration("/idl/included.idl", "/idl/expected_Included.wsdl");
     }
 
+    public void testInterfaceInheritance() throws Exception {
+        testWSDLGeneration("/idl/inheritance.idl", "/idl/expected_Inheritance.wsdl");
+    }
+
 }

Added: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl?view=auto&rev=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl Tue Apr 17
08:24:20 2007
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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://schemas.apache.org/yoko/idl/inheritance" xmlns:tns="http://schemas.apache.org/yoko/idl/inheritance"
xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:corba="http://schemas.apache.org/yoko/bindings/corba"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <corba:typeMapping targetNamespace="http://schemas.apache.org/yoko/idl/inheritance/typemap">
+    <corba:object xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns4="http://schemas.apache.org/yoko/idl/inheritance/typemap"
xmlns="http://schemas.apache.org/yoko/idl/inheritance" binding="org.apache.IpTestCORBABinding"
repositoryID="IDL:org/apache/IpTest:1.0" name="ns4:org.apache.IpTest" type="ns5:EndpointReferenceType"
/>
+    <corba:object xmlns:ns5="http://www.w3.org/2005/08/addressing" xmlns:ns4="http://schemas.apache.org/yoko/idl/inheritance/typemap"
xmlns="http://schemas.apache.org/yoko/idl/inheritance" binding="org.apache.yoko.IpInterfaceCORBABinding"
repositoryID="IDL:org/apache/yoko/IpInterface:1.0" name="ns4:org.apache.yoko.IpInterface"
type="ns5:EndpointReferenceType" />
+  </corba:typeMapping>
+  <wsdl:types>
+    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/inheritance"
xmlns="http://schemas.apache.org/yoko/idl/inheritance" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd">
+      </xs:import>
+      <xs:element name="test">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="testResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="setTest">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="test" type="wsa:EndpointReferenceType">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="setTestResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="org.apache.IpTestRef" type="wsa:EndpointReferenceType">
+        <xs:annotation>
+          <xs:appinfo>
+          </xs:appinfo>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="setCallback">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="appInterface" type="wsa:EndpointReferenceType">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="setCallbackResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="org.apache.yoko.IpInterfaceRef" type="wsa:EndpointReferenceType">
+        <xs:annotation>
+          <xs:appinfo>
+          </xs:appinfo>
+        </xs:annotation>
+      </xs:element>
+      <xs:element name="setTestCallback">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="test" type="wsa:EndpointReferenceType">
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element name="setTestCallbackResponse">
+        <xs:complexType>
+          <xs:sequence>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:schema>
+  </wsdl:types>
+  <wsdl:message name="setTestCallback">
+    <wsdl:part name="inparameter" element="tns:setTestCallback">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="setCallbackResponse">
+    <wsdl:part name="outparameter" element="tns:setCallbackResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="setCallback">
+    <wsdl:part name="inparameter" element="tns:setCallback">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="test">
+    <wsdl:part name="inparameter" element="tns:test">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="setTest">
+    <wsdl:part name="inparameter" element="tns:setTest">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="testResponse">
+    <wsdl:part name="outparameter" element="tns:testResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="setTestCallbackResponse">
+    <wsdl:part name="outparameter" element="tns:setTestCallbackResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="setTestResponse">
+    <wsdl:part name="outparameter" element="tns:setTestResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="org.apache.yoko.IpInterface">
+    <wsdl:operation name="setTest">
+      <wsdl:input name="setTestRequest" message="tns:setTest">
+    </wsdl:input>
+      <wsdl:output name="setTestResponse" message="tns:setTestResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:portType name="org.apache.IpTest">
+    <wsdl:operation name="test">
+      <wsdl:input name="testRequest" message="tns:test">
+    </wsdl:input>
+      <wsdl:output name="testResponse" message="tns:testResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:portType name="org.apache.yoko.IpService">
+    <wsdl:operation name="setCallback">
+      <wsdl:input name="setCallbackRequest" message="tns:setCallback">
+    </wsdl:input>
+      <wsdl:output name="setCallbackResponse" message="tns:setCallbackResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setTestCallback">
+      <wsdl:input name="setTestCallbackRequest" message="tns:setTestCallback">
+    </wsdl:input>
+      <wsdl:output name="setTestCallbackResponse" message="tns:setTestCallbackResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="org.apache.IpTestCORBABinding" type="tns:org.apache.IpTest">
+    <corba:binding repositoryID="IDL:org/apache/IpTest:1.0" />
+    <wsdl:operation name="test">
+      <corba:operation name="test" />
+      <wsdl:input name="testRequest">
+      </wsdl:input>
+      <wsdl:output name="testResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="org.apache.yoko.IpInterfaceCORBABinding" type="tns:org.apache.yoko.IpInterface">
+    <corba:binding repositoryID="IDL:org/apache/yoko/IpInterface:1.0" />
+    <wsdl:operation name="setTest">
+      <corba:operation name="setTest">
+        <corba:param xmlns="http://schemas.apache.org/yoko/idl/inheritance/typemap" mode="in"
name="test" idltype="org.apache.IpTest" />
+      </corba:operation>
+      <wsdl:input name="setTestRequest">
+      </wsdl:input>
+      <wsdl:output name="setTestResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="org.apache.yoko.IpServiceCORBABinding" type="tns:org.apache.yoko.IpService">
+    <corba:binding repositoryID="IDL:org/apache/yoko/IpService:1.0" bases="IDL:org/apache/yoko/IpInterface:1.0
IDL:org/apache/IpTest:1.0" />
+    <wsdl:operation name="setCallback">
+      <corba:operation name="setCallback">
+        <corba:param xmlns="http://schemas.apache.org/yoko/idl/inheritance/typemap" mode="in"
name="appInterface" idltype="org.apache.yoko.IpInterface" />
+      </corba:operation>
+      <wsdl:input name="setCallbackRequest">
+      </wsdl:input>
+      <wsdl:output name="setCallbackResponse">
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="setTestCallback">
+      <corba:operation name="setTestCallback">
+        <corba:param xmlns="http://schemas.apache.org/yoko/idl/inheritance/typemap" mode="in"
name="test" idltype="org.apache.IpTest" />
+      </corba:operation>
+      <wsdl:input name="setTestCallbackRequest">
+      </wsdl:input>
+      <wsdl:output name="setTestCallbackResponse">
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="org.apache.yoko.IpServiceCORBAService">
+    <wsdl:port name="org.apache.yoko.IpServiceCORBAPort" binding="tns:org.apache.yoko.IpServiceCORBABinding">
+      <corba:address location="IOR:" />
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:service name="org.apache.yoko.IpInterfaceCORBAService">
+    <wsdl:port name="org.apache.yoko.IpInterfaceCORBAPort" binding="tns:org.apache.yoko.IpInterfaceCORBABinding">
+      <corba:address location="IOR:" />
+    </wsdl:port>
+  </wsdl:service>
+  <wsdl:service name="org.apache.IpTestCORBAService">
+    <wsdl:port name="org.apache.IpTestCORBAPort" binding="tns:org.apache.IpTestCORBABinding">
+      <corba:address location="IOR:" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/expected_Inheritance.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl?view=auto&rev=529640
==============================================================================
--- incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl (added)
+++ incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl Tue Apr 17 08:24:20
2007
@@ -0,0 +1,40 @@
+/* 
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+*/ 
+
+
+module org {
+  module apache {
+
+    interface IpTest {
+      void test();
+    };
+
+    module yoko {
+      interface IpInterface {
+        void setTest(in IpTest test);
+      };                             
+      interface IpService : IpInterface,::org::apache::IpTest {
+        void setCallback(in IpInterface appInterface);                          
+        void setTestCallback(in IpTest test);
+      };      
+    };
+  };  
+};
+
+

Propchange: incubator/yoko/trunk/tools/src/test/resources/idl/inheritance.idl
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message