You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by mv...@apache.org on 2006/11/07 13:44:04 UTC

svn commit: r472111 - in /incubator/yoko/branches/idltowsdl_anon_refactor/tools/src: main/java/org/apache/yoko/tools/processors/idl/ test/java/org/apache/yoko/tools/processors/ test/resources/idl/

Author: mvescovi
Date: Tue Nov  7 05:44:03 2006
New Revision: 472111

URL: http://svn.apache.org/viewvc?view=rev&rev=472111
Log:
Adding support for IDL anonymous unbounded sequence.

Added:
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonboundedsequence.idl
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl   (with props)
Modified:
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/SequenceVisitor.java
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/StringVisitor.java
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesUtils.java
    incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java

Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/SequenceVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/SequenceVisitor.java?view=diff&rev=472111&r1=472110&r2=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/SequenceVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/SequenceVisitor.java Tue Nov  7 05:44:03 2006
@@ -63,13 +63,20 @@
         
         
         AST simpleTypeSpecNode = seq.getFirstChild();
-        AST boundNode = simpleTypeSpecNode.getNextSibling();
-        
+        // REVISIT: TypesUtils.getPrimitiveCorbaTypeNameNode should be renamed
+        // to something more suitable and should be made more general.
+        AST boundNode = TypesUtils.getPrimitiveCorbaTypeNameNode(simpleTypeSpecNode); 
+            
         // if identifier is not null, then this sequence is not anonymous,
         // but it might contain an anonymous type, hence the identifierNode
         // reassignment.
         if (identifierNode != null) {
             identifierNode = seq.getNextSibling();
+            // ensure that have not mistaken the bound for the identifier 
+            while (identifierNode != null
+                && !TypesUtils.isValidIdentifier(identifierNode.toString())) {
+                identifierNode = identifierNode.getNextSibling();
+            }
         }
         
         SimpleTypeSpecVisitor visitor = new SimpleTypeSpecVisitor(new Scope(getScope(), identifierNode),

Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/StringVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/StringVisitor.java?view=diff&rev=472111&r1=472110&r2=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/StringVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/StringVisitor.java Tue Nov  7 05:44:03 2006
@@ -176,37 +176,11 @@
         String result = null;
         if (node != null) {
             String identifierName = node.toString();
-            if (isValidIdentifier(identifierName)) {
+            if (TypesUtils.isValidIdentifier(identifierName)) {
                 result = identifierName;
             }
         }
         return result;
     }
     
-    private boolean isValidIdentifier(String id) {
-        boolean result = true;
-        // From the CORBA IDL spec (section 3.2.3):
-        //   An identifier is an arbitrarily long sequence of ASCII alphabetic, digit,
-        //   and underscore ("_") characters. The first character must be an ASCII 
-        //   alphabetic character. All characters are significant.
-        //
-        // See section 3.2.3.1 for escaped identifiers (that start with a "_")
-        //
-        if (!Character.isLetter(id.charAt(0))) {
-            result = false;
-        }
-        if (id.charAt(0) == '_') {
-            result = false;
-        }
-        int index = 1;
-        while (result && index < id.length()) {
-            char cur = id.charAt(index);
-            if (!Character.isLetterOrDigit(cur)
-                || cur == '_') {
-                result = false;
-            }
-            index++;
-        }
-        return result;
-    }
 }

Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesUtils.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesUtils.java?view=diff&rev=472111&r1=472110&r2=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesUtils.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypesUtils.java Tue Nov  7 05:44:03 2006
@@ -175,4 +175,31 @@
         return result;
     }
 
+    public static boolean isValidIdentifier(String id) {
+        boolean result = true;
+        // From the CORBA IDL spec (section 3.2.3):
+        //   An identifier is an arbitrarily long sequence of ASCII alphabetic, digit,
+        //   and underscore ("_") characters. The first character must be an ASCII 
+        //   alphabetic character. All characters are significant.
+        //
+        // See section 3.2.3.1 for escaped identifiers (that start with a "_")
+        //
+        if (!Character.isLetter(id.charAt(0))) {
+            result = false;
+        }
+        if (id.charAt(0) == '_') {
+            result = false;
+        }
+        int index = 1;
+        while (result && index < id.length()) {
+            char cur = id.charAt(index);
+            if (!Character.isLetterOrDigit(cur)
+                || cur == '_') {
+                result = false;
+            }
+            index++;
+        }
+        return result;
+    }
+    
 }

Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java?view=diff&rev=472111&r1=472110&r2=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/java/org/apache/yoko/tools/processors/IDLToWSDLGenerationTest.java Tue Nov  7 05:44:03 2006
@@ -186,4 +186,8 @@
         testWSDLGeneration("/idl/Anonsequence.idl", "/idl/expected_Anonsequence.wsdl");
     }
 
+    public void testAnonboundedsequenceGeneration() throws Exception {
+        testWSDLGeneration("/idl/Anonboundedsequence.idl", "/idl/expected_Anonboundedsequence.wsdl");
+    }
+
 }

Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonboundedsequence.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonboundedsequence.idl?view=auto&rev=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonboundedsequence.idl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonboundedsequence.idl Tue Nov  7 05:44:03 2006
@@ -0,0 +1,70 @@
+/* 
+ * 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.
+*/
+
+
+
+typedef sequence<unsigned long, 10> SeqLong;
+typedef sequence< sequence<long, 10>, 100> SeqSeqLong;
+typedef sequence< sequence< sequence<long, 10>, 100 >, 1000 > SeqSeqSeqLong;
+
+
+struct anonStruct {
+
+    sequence<long, 10> structSeqLong;
+    sequence< sequence< long, 10 >, 100 > structSeqSeqLong;
+    sequence< sequence< sequence<long, 10>, 100 >, 1000 > structSeqSeqSeqLong;
+
+};
+
+typedef struct anonTypedefStruct {
+
+    sequence< short, 10 > typedefStructSeqShort;
+    sequence< sequence< short, 10 >, 100 > typedefStructSeqSeqShort;
+    sequence< sequence< sequence< short, 10 >, 100 >, 1000 > typedefStructSeqSeqSeqShort;
+
+} myAnonTypedefStruct;
+
+
+
+union anonUnion switch(long) {
+    case 1:
+        sequence< long, 10 > unionSeqLong;
+    case 2:
+        sequence< sequence< long, 10 >, 100 > unionSeqLong;
+    default:
+        sequence< sequence< sequence< long, 10 >, 100 >, 1000 > unionSeqLong;
+};
+
+typedef union anonTypedefUnion switch(long) {
+    case 1:
+        sequence< long, 10 > typedefUnionSeqLong;
+    case 2:
+        sequence< sequence< long, 10 >, 100 > typedefUnionSeqLong;
+    default:
+        sequence< sequence< sequence< long, 10 >, 100 >, 1000 > typedefUnionSeqLong;
+} myAnonUnion;
+
+
+
+exception anonException {
+    sequence< long, 10 > exceptionSeqLong;
+    sequence< sequence< long, 10 >, 100 > exceptionSeqSeqLong;
+    sequence< sequence< sequence< long, 10 >, 100 >, 1000 > exceptionSeqSeqSeqLong;
+};
+

Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl?view=auto&rev=472111
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl Tue Nov  7 05:44:03 2006
@@ -0,0 +1,382 @@
+<?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/Anonboundedsequence" xmlns:tns="http://schemas.apache.org/yoko/idl/Anonboundedsequence" 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/Anonboundedsequence/typemap">
+    <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:ulong" bound="10" repositoryID="IDL:SeqLong:1.0" name="SeqLong" type="ns4:SeqLong" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_SeqSeqLong" type="ns4:_1_SeqSeqLong" />
+    <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_1_SeqSeqLong" bound="100" repositoryID="IDL:SeqSeqLong:1.0" name="SeqSeqLong" type="ns4:SeqSeqLong" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_SeqSeqSeqLong" type="ns4:_1_SeqSeqSeqLong" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_1_SeqSeqSeqLong" bound="100" name="_2_SeqSeqSeqLong" type="ns4:_2_SeqSeqSeqLong" />
+    <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_SeqSeqSeqLong" bound="1000" repositoryID="IDL:SeqSeqSeqLong:1.0" name="SeqSeqSeqLong" type="ns4:SeqSeqSeqLong" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_anonStruct" type="ns4:_1_anonStruct" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_2_anonStruct" type="ns4:_2_anonStruct" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_anonStruct" bound="100" name="_3_anonStruct" type="ns4:_3_anonStruct" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_4_anonStruct" type="ns4:_4_anonStruct" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_4_anonStruct" bound="100" name="_5_anonStruct" type="ns4:_5_anonStruct" />
+    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_5_anonStruct" bound="1000" name="_6_anonStruct" type="ns4:_6_anonStruct" />
+    <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" repositoryID="IDL:anonStruct:1.0" name="anonStruct" type="ns4:anonStruct">
+      <corba:member name="structSeqLong" idltype="_1_anonStruct" />
+      <corba:member name="structSeqSeqLong" idltype="_3_anonStruct" />
+      <corba:member name="structSeqSeqSeqLong" idltype="_6_anonStruct" />
+    </corba:struct>
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:short" bound="10" name="_1_anonTypedefStruct" type="ns4:_1_anonTypedefStruct" />
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:short" bound="10" name="_2_anonTypedefStruct" type="ns4:_2_anonTypedefStruct" />
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_anonTypedefStruct" bound="100" name="_3_anonTypedefStruct" type="ns4:_3_anonTypedefStruct" />
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:short" bound="10" name="_4_anonTypedefStruct" type="ns4:_4_anonTypedefStruct" />
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_4_anonTypedefStruct" bound="100" name="_5_anonTypedefStruct" type="ns4:_5_anonTypedefStruct" />
+      <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_5_anonTypedefStruct" bound="1000" name="_6_anonTypedefStruct" type="ns4:_6_anonTypedefStruct" />
+      <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" repositoryID="IDL:anonTypedefStruct:1.0" name="anonTypedefStruct" type="ns4:anonTypedefStruct">
+        <corba:member name="typedefStructSeqShort" idltype="_1_anonTypedefStruct" />
+        <corba:member name="typedefStructSeqSeqShort" idltype="_3_anonTypedefStruct" />
+        <corba:member name="typedefStructSeqSeqSeqShort" idltype="_6_anonTypedefStruct" />
+      </corba:struct>
+        <corba:alias xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" basetype="anonTypedefStruct" repositoryID="IDL:myAnonTypedefStruct:1.0" name="myAnonTypedefStruct" type="ns4:anonTypedefStruct" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_anonUnion" type="ns4:_1_anonUnion" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_2_anonUnion" type="ns4:_2_anonUnion" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_anonUnion" bound="100" name="_3_anonUnion" type="ns4:_3_anonUnion" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_4_anonUnion" type="ns4:_4_anonUnion" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_4_anonUnion" bound="100" name="_5_anonUnion" type="ns4:_5_anonUnion" />
+        <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_5_anonUnion" bound="1000" name="_6_anonUnion" type="ns4:_6_anonUnion" />
+        <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" discriminator="corba:long" repositoryID="IDL:anonUnion:1.0" name="anonUnion" type="ns4:anonUnion">
+          <corba:unionbranch name="unionSeqLong" idltype="_1_anonUnion">
+            <corba:case label="1" />
+          </corba:unionbranch>
+            <corba:unionbranch name="unionSeqLong" idltype="_3_anonUnion">
+              <corba:case label="2" />
+            </corba:unionbranch>
+              <corba:unionbranch name="unionSeqLong" idltype="_6_anonUnion" default="true" />
+            </corba:union>
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_anonTypedefUnion" type="ns4:_1_anonTypedefUnion" />
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_2_anonTypedefUnion" type="ns4:_2_anonTypedefUnion" />
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_anonTypedefUnion" bound="100" name="_3_anonTypedefUnion" type="ns4:_3_anonTypedefUnion" />
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_4_anonTypedefUnion" type="ns4:_4_anonTypedefUnion" />
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_4_anonTypedefUnion" bound="100" name="_5_anonTypedefUnion" type="ns4:_5_anonTypedefUnion" />
+              <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_5_anonTypedefUnion" bound="1000" name="_6_anonTypedefUnion" type="ns4:_6_anonTypedefUnion" />
+              <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" discriminator="corba:long" repositoryID="IDL:anonTypedefUnion:1.0" name="anonTypedefUnion" type="ns4:anonTypedefUnion">
+                <corba:unionbranch name="typedefUnionSeqLong" idltype="_1_anonTypedefUnion">
+                  <corba:case label="1" />
+                </corba:unionbranch>
+                  <corba:unionbranch name="typedefUnionSeqLong" idltype="_3_anonTypedefUnion">
+                    <corba:case label="2" />
+                  </corba:unionbranch>
+                    <corba:unionbranch name="typedefUnionSeqLong" idltype="_6_anonTypedefUnion" default="true" />
+                  </corba:union>
+                    <corba:alias xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" basetype="anonTypedefUnion" repositoryID="IDL:myAnonUnion:1.0" name="myAnonUnion" type="ns4:anonTypedefUnion" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_1_anonException" type="ns4:_1_anonException" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_2_anonException" type="ns4:_2_anonException" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_2_anonException" bound="100" name="_3_anonException" type="ns4:_3_anonException" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="corba:long" bound="10" name="_4_anonException" type="ns4:_4_anonException" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_4_anonException" bound="100" name="_5_anonException" type="ns4:_5_anonException" />
+                    <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" elemtype="_5_anonException" bound="1000" name="_6_anonException" type="ns4:_6_anonException" />
+                    <corba:exception xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence/typemap" repositoryID="IDL:anonException:1.0" name="anonException" type="ns4:anonExceptionType">
+                      <corba:member name="exceptionSeqLong" idltype="_1_anonException" />
+                      <corba:member name="exceptionSeqSeqLong" idltype="_3_anonException" />
+                      <corba:member name="exceptionSeqSeqSeqLong" idltype="_6_anonException" />
+                    </corba:exception>
+                    </corba:typeMapping>
+  <wsdl:types>
+    <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns="http://schemas.apache.org/yoko/idl/Anonboundedsequence" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      <xs:complexType name="SeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:unsignedInt">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_1_SeqSeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="SeqSeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_1_SeqSeqLong">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_1_SeqSeqSeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_SeqSeqSeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_1_SeqSeqSeqLong">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="SeqSeqSeqLong">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_2_SeqSeqSeqLong">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_1_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_3_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_2_anonStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_4_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_5_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_4_anonStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_6_anonStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_5_anonStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="anonStruct">
+        <xs:sequence>
+          <xs:element name="structSeqLong" type="_1_anonStruct">
+          </xs:element>
+          <xs:element name="structSeqSeqLong" type="_3_anonStruct">
+          </xs:element>
+          <xs:element name="structSeqSeqSeqLong" type="_6_anonStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_1_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:short">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:short">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_3_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_2_anonTypedefStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_4_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:short">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_5_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_4_anonTypedefStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_6_anonTypedefStruct">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_5_anonTypedefStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="anonTypedefStruct">
+        <xs:sequence>
+          <xs:element name="typedefStructSeqShort" type="_1_anonTypedefStruct">
+          </xs:element>
+          <xs:element name="typedefStructSeqSeqShort" type="_3_anonTypedefStruct">
+          </xs:element>
+          <xs:element name="typedefStructSeqSeqSeqShort" type="_6_anonTypedefStruct">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:simpleType name="myAnonTypedefStruct">
+        <xs:restriction base="anonTypedefStruct">
+        </xs:restriction>
+      </xs:simpleType>
+      <xs:complexType name="_1_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_3_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_2_anonUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_4_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_5_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_4_anonUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_6_anonUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_5_anonUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="anonUnion">
+        <xs:sequence>
+          <xs:element name="discriminator" type="xs:int">
+          </xs:element>
+          <xs:choice>
+            <xs:element name="unionSeqLong" type="_1_anonUnion">
+            </xs:element>
+            <xs:element name="unionSeqLong" type="_3_anonUnion">
+            </xs:element>
+            <xs:element name="unionSeqLong" type="_6_anonUnion">
+            </xs:element>
+          </xs:choice>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_1_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_3_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_2_anonTypedefUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_4_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_5_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_4_anonTypedefUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_6_anonTypedefUnion">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_5_anonTypedefUnion">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="anonTypedefUnion">
+        <xs:sequence>
+          <xs:element name="discriminator" type="xs:int">
+          </xs:element>
+          <xs:choice>
+            <xs:element name="typedefUnionSeqLong" type="_1_anonTypedefUnion">
+            </xs:element>
+            <xs:element name="typedefUnionSeqLong" type="_3_anonTypedefUnion">
+            </xs:element>
+            <xs:element name="typedefUnionSeqLong" type="_6_anonTypedefUnion">
+            </xs:element>
+          </xs:choice>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:simpleType name="myAnonUnion">
+        <xs:restriction base="anonTypedefUnion">
+        </xs:restriction>
+      </xs:simpleType>
+      <xs:complexType name="_1_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_2_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_3_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_2_anonException">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_4_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="10" minOccurs="0" name="item" type="xs:int">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_5_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="100" minOccurs="0" name="item" type="_4_anonException">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:complexType name="_6_anonException">
+        <xs:sequence>
+          <xs:element maxOccurs="1000" minOccurs="0" name="item" type="_5_anonException">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+      <xs:element name="anonException" type="anonExceptionType">
+      </xs:element>
+      <xs:complexType name="anonExceptionType">
+        <xs:sequence>
+          <xs:element name="exceptionSeqLong" type="_1_anonException">
+          </xs:element>
+          <xs:element name="exceptionSeqSeqLong" type="_3_anonException">
+          </xs:element>
+          <xs:element name="exceptionSeqSeqSeqLong" type="_6_anonException">
+          </xs:element>
+        </xs:sequence>
+      </xs:complexType>
+    </xs:schema>
+  </wsdl:types>
+</wsdl:definitions>

Propchange: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonboundedsequence.wsdl
------------------------------------------------------------------------------
    svn:mime-type = text/xml