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/06 17:54:55 UTC
svn commit: r471802 - 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: Mon Nov 6 09:54:54 2006
New Revision: 471802
URL: http://svn.apache.org/viewvc?view=rev&rev=471802
Log:
Adding support for IDL array type
Added:
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Array.idl
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl (with props)
Removed:
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypeSpecVisitor.java
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypeSpecVisitorBase.java
Modified:
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/ArrayVisitor.java
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/DeclaratorVisitor.java
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypedefVisitor.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/ArrayVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/ArrayVisitor.java?view=diff&rev=471802&r1=471801&r2=471802
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/ArrayVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/ArrayVisitor.java Mon Nov 6 09:54:54 2006
@@ -35,18 +35,25 @@
import org.apache.ws.commons.schema.XmlSchemaType;
import org.apache.yoko.wsdl.CorbaConstants;
+import org.apache.yoko.wsdl.CorbaTypeImpl;
public class ArrayVisitor extends VisitorBase {
private AST identifierNode;
-
+ private XmlSchemaType schemaType;
+ private CorbaTypeImpl corbaType;
+
public ArrayVisitor(Scope scope,
XmlSchemaCollection xmlSchemas,
XmlSchema xmlSchema,
TypeMappingType typeMapRef,
+ XmlSchemaType schemaTypeRef,
+ CorbaTypeImpl corbaTypeRef,
AST identifierNodeRef) {
super(scope, xmlSchemas, xmlSchema, typeMapRef);
identifierNode = identifierNodeRef;
+ schemaType = schemaTypeRef;
+ corbaType = corbaTypeRef;
}
public static boolean accept(AST node) {
@@ -61,34 +68,83 @@
// <fixed_array_size> ::= "[" <positive_int_const> "]"
- AST fixedArraySizeNode = node.getFirstChild();
-
- Integer id = new Integer(1);
- while (fixedArraySizeNode != null) {
- Long size = new Long(fixedArraySizeNode.toString());
- System.out.println("Size: " + size.toString() + " Id: " + id.toString());
+ AST firstSizeNode = node.getFirstChild();
+ AST nextSizeNode = firstSizeNode.getNextSibling();
+ int index = 0;
+ Types result = null;
+
+ // process all anonarrays, skip first array as it might not be anonymous
+ if (nextSizeNode != null) {
+ result = doAnonarray(nextSizeNode, index, schemaType.getQName(), corbaType.getQName());
+ } else {
+ result = new Types();
+ result.setSchemaType(schemaType);
+ result.setCorbaType(corbaType);
+ }
+
+ // process first array
+ Long size = new Long(firstSizeNode.toString());
+ XmlSchemaType stype = null;
+ CorbaTypeImpl ctype = null;
+ if (identifierNode != null) {
+ String name = identifierNode.toString();
+ stype = generateSchemaArray(name, size, result.getSchemaType().getQName());
+ ctype = generateCorbaArray(name, size, result.getCorbaType().getQName());
+ } else {
+ // anonymous array
+ String name = "_1_" + getScope().tail();
+ stype = generateSchemaArray(name, size, result.getSchemaType().getQName());
+ ctype = generateCorbaAnonarray(name, size, result.getCorbaType().getQName());
+ }
+
+ // add schemaType
+ schema.getItems().add(stype);
+ schema.addType(stype);
- visit(fixedArraySizeNode);
+ // add corbaType
+ typeMap.getStructOrExceptionOrUnion().add(ctype);
+ }
+ private Types doAnonarray(AST node, int index, QName stype, QName ctype) {
+ Types result = new Types();
+
+ if (node != null) {
+
+ AST next = node.getNextSibling();
+ index++;
+
+ // recursive call
+ result = doAnonarray(next, index, stype, ctype);
+
+ Long size = new Long(node.toString());
+ Long id = new Long(index);
String name = "_" + id.toString() + "_" + getScope().tail();
- XmlSchemaType stype = generateSchemaArray(name, size);
- Anonarray anonarray = generateCorbaAnonarray(name, size, stype.getQName());
+
+ if (result.getSchemaType() == null) {
+ result.setSchemaType(generateSchemaArray(name, size, stype));
+ } else {
+ result.setSchemaType(generateSchemaArray(name, size, result.getSchemaType().getQName()));
+ }
+
+ if (result.getCorbaType() == null) {
+ result.setCorbaType(generateCorbaAnonarray(name, size, ctype));
+ } else {
+ result.setCorbaType(generateCorbaAnonarray(name, size, result.getCorbaType().getQName()));
+ }
+
// add schemaType
- schema.getItems().add(stype);
- schema.addType(stype);
+ schema.getItems().add(result.getSchemaType());
+ schema.addType(result.getSchemaType());
// add corbaType
- typeMap.getStructOrExceptionOrUnion().add(anonarray);
-
- fixedArraySizeNode = fixedArraySizeNode.getNextSibling();
- id++;
+ typeMap.getStructOrExceptionOrUnion().add(result.getCorbaType());
}
-
-
+
+ return result;
}
-
- private XmlSchemaComplexType generateSchemaArray(String name, Long size) {
+
+ private XmlSchemaComplexType generateSchemaArray(String name, Long size, QName type) {
XmlSchemaComplexType complexType = new XmlSchemaComplexType(schema);
complexType.setName(name);
@@ -98,7 +154,8 @@
element.setMinOccurs(size);
element.setMaxOccurs(size);
element.setName("item");
-
+ element.setSchemaTypeName(type);
+
sequence.getItems().add(element);
complexType.setParticle(sequence);
@@ -123,5 +180,36 @@
anonarray.setBound(size);
anonarray.setType(type);
return anonarray;
+ }
+
+ class Types {
+ private XmlSchemaType schemaType;
+ private CorbaTypeImpl corbaType;
+
+ public Types() {
+ schemaType = null;
+ corbaType = null;
+ }
+
+ public Types(XmlSchemaType stype, CorbaTypeImpl ctype) {
+ schemaType = stype;
+ corbaType = ctype;
+ }
+
+ public void setSchemaType(XmlSchemaType stype) {
+ schemaType = stype;
+ }
+
+ public void setCorbaType(CorbaTypeImpl ctype) {
+ corbaType = ctype;
+ }
+
+ public XmlSchemaType getSchemaType() {
+ return schemaType;
+ }
+
+ public CorbaTypeImpl getCorbaType() {
+ return corbaType;
+ }
}
}
Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/DeclaratorVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/DeclaratorVisitor.java?view=diff&rev=471802&r1=471801&r2=471802
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/DeclaratorVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/DeclaratorVisitor.java Mon Nov 6 09:54:54 2006
@@ -19,6 +19,8 @@
package org.apache.yoko.tools.processors.idl;
+//import javax.xml.namespace.QName;
+
import antlr.collections.AST;
import org.apache.schemas.yoko.bindings.corba.TypeMappingType;
@@ -38,6 +40,7 @@
// <array_declarator> ::= <identifier> <fixed_array_size>+
// <fixed_array_size> ::= "[" <positive_int_const> "]"
+
private XmlSchemaType schemaType;
private CorbaTypeImpl corbaType;
@@ -55,25 +58,48 @@
// REVISIT: parameter node should be the first declarator node
// and visit should loop through all declarators.
public void visit(AST node) {
-
-// // handle named or anonymous types
-// String name = null;
-// if (node == null) {
-// // anonymous
-//
-// //name = "_1_" + getScope().tail();
-//
-// } else {
-// name = node.toString();
+// while (node != null) {
+// // Need to make a copy of the schemaType and corbaType
+// //XmlSchemaType stype = (XmlSchemaType) schemaType.clone();
+//
+// // handle named or anonymous types
+// String name = null;
+// if (node == null) {
+// // anonymous
+// name = "_1_" + getScope().tail();
+// } else {
+// name = node.toString();
+// }
+//
+// // add schemaType
+// schema.getItems().add(schemaType);
+// schema.addType(schemaType);
+// schemaType.setName(name);
+// corbaType.setQName(new QName(typeMap.getTargetNamespace(), name));
+//
+//
+// // add schemaType
+// schema.getItems().add(schemaType);
+// schema.addType(schemaType);
+//
+//
+// // add corbaType
+// typeMap.getStructOrExceptionOrUnion().add(corbaType);
+//
+//
+// node = node.getNextSibling();
// }
-// schemaType.setName(name);
-// corbaType.setQName(new QName(typeMap.getTargetNamespace(), name));
-
-
+
if (ArrayVisitor.accept(node)) {
- ArrayVisitor arrayVisitor = new ArrayVisitor(getScope(), schemas, schema, typeMap, node);
+ ArrayVisitor arrayVisitor = new ArrayVisitor(getScope(),
+ schemas,
+ schema,
+ typeMap,
+ schemaType,
+ corbaType,
+ node);
arrayVisitor.visit(node);
-
+
} else {
// add schemaType
schema.getItems().add(schemaType);
@@ -84,5 +110,5 @@
}
}
-
-}
+
+}
\ No newline at end of file
Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypedefVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypedefVisitor.java?view=diff&rev=471802&r1=471801&r2=471802
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypedefVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/TypedefVisitor.java Mon Nov 6 09:54:54 2006
@@ -65,12 +65,13 @@
XmlSchemaType schemaType = typesVisitor.getSchemaType();
CorbaTypeImpl corbaType = typesVisitor.getCorbaType();
+ Scope newScope = new Scope(getScope(), identifierNode);
if (SequenceVisitor.accept(typeDeclaratorNode)
|| FixedVisitor.accept(typeDeclaratorNode)) {
// Handle cases "typedef sequence"
// "typedef fixed"
- DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(getScope(),
+ DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(newScope,
schemas,
schema,
typeMap,
@@ -83,7 +84,7 @@
// "typedef wstring"
if (StringVisitor.isBounded(typeDeclaratorNode)) {
- DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(getScope(),
+ DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(newScope,
schemas,
schema,
typeMap,
@@ -113,14 +114,18 @@
} else {
// typedef used to define an alias
- generateAlias(identifierNode,
- schemaType,
- corbaType);
+
+ // if declaring an array, do not generate aliases
+ if (!ArrayVisitor.accept(identifierNode)) {
+ generateAlias(identifierNode,
+ schemaType,
+ corbaType);
- schemaType = getSchemaType();
- corbaType = getCorbaType();
-
- DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(getScope(),
+ schemaType = getSchemaType();
+ corbaType = getCorbaType();
+ }
+
+ DeclaratorVisitor declaratorVisitor = new DeclaratorVisitor(newScope,
schemas,
schema,
typeMap,
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=471802&r1=471801&r2=471802
==============================================================================
--- 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 Mon Nov 6 09:54:54 2006
@@ -178,4 +178,7 @@
testWSDLGeneration("/idl/Sequence.idl", "/idl/expected_Sequence.wsdl");
}
+ public void testArrayGeneration() throws Exception {
+ testWSDLGeneration("/idl/Array.idl", "/idl/expected_Array.wsdl");
+ }
}
Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Array.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Array.idl?view=auto&rev=471802
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Array.idl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Array.idl Mon Nov 6 09:54:54 2006
@@ -0,0 +1,37 @@
+/*
+ * 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 long LongArray[10];
+typedef long LongArrayArray[10][100];
+typedef long LongArrayArrayArray[10][100][1000];
+typedef long LongArrayArrayArrayArray[10][100][1000][10000];
+
+typedef short ShortArray[2];
+typedef short ShortArrayArray[2][4];
+typedef short ShortArrayArrayArrayArray[2][4][8];
+typedef short ShortArrayArrayArrayArrayArray[2][4][8][16];
+
+
+typedef long myLong;
+
+typedef myLong MyLongArray[10];
+typedef myLong MyLongArrayArray[10][100];
+typedef myLong MyLongArrayArrayArray[10][100][1000];
+typedef myLong MyLongArrayArrayArrayArray[10][100][1000][10000];
Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl?view=auto&rev=471802
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl Mon Nov 6 09:54:54 2006
@@ -0,0 +1,242 @@
+<?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/Array" xmlns:tns="http://schemas.apache.org/yoko/idl/Array" 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/Array/typemap">
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:LongArray:1.0" name="LongArray" type="corba:long" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_LongArrayArray" type="corba:long" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:LongArrayArray:1.0" name="LongArrayArray" type="_1_LongArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="1000" name="_2_LongArrayArrayArray" type="corba:long" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_LongArrayArrayArray" type="_2_LongArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:LongArrayArrayArray:1.0" name="LongArrayArrayArray" type="_1_LongArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10000" name="_3_LongArrayArrayArrayArray" type="corba:long" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="1000" name="_2_LongArrayArrayArrayArray" type="_3_LongArrayArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_LongArrayArrayArrayArray" type="_2_LongArrayArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:LongArrayArrayArrayArray:1.0" name="LongArrayArrayArrayArray" type="_1_LongArrayArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="2" repositoryID="IDL:ShortArray:1.0" name="ShortArray" type="corba:short" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="4" name="_1_ShortArrayArray" type="corba:short" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="2" repositoryID="IDL:ShortArrayArray:1.0" name="ShortArrayArray" type="_1_ShortArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="8" name="_2_ShortArrayArrayArrayArray" type="corba:short" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="4" name="_1_ShortArrayArrayArrayArray" type="_2_ShortArrayArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="2" repositoryID="IDL:ShortArrayArrayArrayArray:1.0" name="ShortArrayArrayArrayArray" type="_1_ShortArrayArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="16" name="_3_ShortArrayArrayArrayArrayArray" type="corba:short" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="8" name="_2_ShortArrayArrayArrayArrayArray" type="_3_ShortArrayArrayArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="4" name="_1_ShortArrayArrayArrayArrayArray" type="_2_ShortArrayArrayArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="2" repositoryID="IDL:ShortArrayArrayArrayArrayArray:1.0" name="ShortArrayArrayArrayArrayArray" type="_1_ShortArrayArrayArrayArrayArray" />
+ <corba:alias xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" basetype="corba:long" repositoryID="IDL:myLong:1.0" name="myLong" type="xs:int" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:MyLongArray:1.0" name="MyLongArray" type="myLong" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_MyLongArrayArray" type="myLong" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:MyLongArrayArray:1.0" name="MyLongArrayArray" type="_1_MyLongArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="1000" name="_2_MyLongArrayArrayArray" type="myLong" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_MyLongArrayArrayArray" type="_2_MyLongArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:MyLongArrayArrayArray:1.0" name="MyLongArrayArrayArray" type="_1_MyLongArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10000" name="_3_MyLongArrayArrayArrayArray" type="myLong" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="1000" name="_2_MyLongArrayArrayArrayArray" type="_3_MyLongArrayArrayArrayArray" />
+ <corba:anonarray xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="100" name="_1_MyLongArrayArrayArrayArray" type="_2_MyLongArrayArrayArrayArray" />
+ <corba:array xmlns="http://schemas.apache.org/yoko/idl/Array/typemap" bound="10" repositoryID="IDL:MyLongArrayArrayArrayArray:1.0" name="MyLongArrayArrayArrayArray" type="_1_MyLongArrayArrayArrayArray" />
+ </corba:typeMapping>
+ <wsdl:types>
+ <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/Array" xmlns="http://schemas.apache.org/yoko/idl/Array" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexType name="LongArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="xs:int">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_LongArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="xs:int">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="LongArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_LongArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_LongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="1000" minOccurs="1000" name="item" type="xs:int">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_LongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="_2_LongArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="LongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_LongArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_3_LongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10000" minOccurs="10000" name="item" type="xs:int">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_LongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="1000" minOccurs="1000" name="item" type="_3_LongArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_LongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="_2_LongArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="LongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_LongArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ShortArray">
+ <xs:sequence>
+ <xs:element maxOccurs="2" minOccurs="2" name="item" type="xs:short">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_ShortArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="4" minOccurs="4" name="item" type="xs:short">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ShortArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="2" minOccurs="2" name="item" type="_1_ShortArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_ShortArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="8" minOccurs="8" name="item" type="xs:short">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_ShortArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="4" minOccurs="4" name="item" type="_2_ShortArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ShortArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="2" minOccurs="2" name="item" type="_1_ShortArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_3_ShortArrayArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="16" minOccurs="16" name="item" type="xs:short">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_ShortArrayArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="8" minOccurs="8" name="item" type="_3_ShortArrayArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_ShortArrayArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="4" minOccurs="4" name="item" type="_2_ShortArrayArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ShortArrayArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="2" minOccurs="2" name="item" type="_1_ShortArrayArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="myLong">
+ <xs:restriction base="xs:int">
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="MyLongArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="myLong">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_MyLongArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="myLong">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MyLongArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_MyLongArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_MyLongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="1000" minOccurs="1000" name="item" type="myLong">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_MyLongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="_2_MyLongArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MyLongArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_MyLongArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_3_MyLongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10000" minOccurs="10000" name="item" type="myLong">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_2_MyLongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="1000" minOccurs="1000" name="item" type="_3_MyLongArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="_1_MyLongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="100" minOccurs="100" name="item" type="_2_MyLongArrayArrayArrayArray">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MyLongArrayArrayArrayArray">
+ <xs:sequence>
+ <xs:element maxOccurs="10" minOccurs="10" name="item" type="_1_MyLongArrayArrayArrayArray">
+ </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_Array.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Array.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml