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/09 12:08:28 UTC
svn commit: r472876 - 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: Thu Nov 9 04:08:26 2006
New Revision: 472876
URL: http://svn.apache.org/viewvc?view=rev&rev=472876
Log:
Adding support for IDL anonymous unbounded and bounded strings.
Added:
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonstring.idl
incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl (with props)
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/OperationVisitor.java
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/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=472876&r1=472875&r2=472876
==============================================================================
--- 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 Thu Nov 9 04:08:26 2006
@@ -202,6 +202,7 @@
name.append(getScope().tail());
return name.toString();
}
+
class Types {
private XmlSchemaType schemaType;
private CorbaTypeImpl corbaType;
Modified: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java?view=diff&rev=472876&r1=472875&r2=472876
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java (original)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/main/java/org/apache/yoko/tools/processors/idl/OperationVisitor.java Thu Nov 9 04:08:26 2006
@@ -261,10 +261,8 @@
private Part generateInputPart(Message inputMessage, XmlSchemaElement element) {
// message - part
Part part = definition.createPart();
- //QName element = inputMsg.getQName();
part.setName(IN_PARAMETER);
part.setElementName(element.getQName());
- //typesVisitor.addWrapper(element, inWrappingSequence);
inputMessage.addPart(part);
return part;
}
@@ -272,10 +270,8 @@
private Part generateOutputPart(Message outputMessage, XmlSchemaElement element) {
// message - part
Part part = definition.createPart();
- //QName element = outputMsg.getQName();
part.setName(OUT_PARAMETER);
part.setElementName(element.getQName());
- //typesVisitor.addWrapper(element, outWrappingSequence);
outputMessage.addPart(part);
return part;
}
@@ -310,7 +306,6 @@
String name) {
XmlSchemaElement element = new XmlSchemaElement();
element.setName(name);
- //element.setQName(new QName(schema.getTargetNamespace(), name));
element.setSchemaTypeName(schemaType.getQName());
schemaSequence.getItems().add(element);
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=472876&r1=472875&r2=472876
==============================================================================
--- 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 Thu Nov 9 04:08:26 2006
@@ -66,24 +66,13 @@
// 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),
schemas,
schema,
typeMap,
- identifierNode);
+ null);
visitor.visit(simpleTypeSpecNode);
XmlSchemaType stype = visitor.getSchemaType();
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=472876&r1=472875&r2=472876
==============================================================================
--- 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 Thu Nov 9 04:08:26 2006
@@ -83,16 +83,56 @@
stringNode = node;
boundNode = stringNode.getFirstChild();
- identifierNode = stringNode.getNextSibling();
- stringName = getIdentifier(identifierNode);
+ if (identifierNode == null) {
+ Integer index = 0;
+ do {
+ index++;
+ stringName = "_" + index.toString() + "_" + getScope().tail();
+ } while (schema.getTypeByName(new QName(schema.getTargetNamespace(), stringName)) != null);
+ } else {
+ stringName = getIdentifier(identifierNode);
+ }
+
if (boundNode != null) {
- // bounded string/wstring
- visitBoundedString();
+ if (identifierNode != null) {
+ // bounded string/wstring
+ visitBoundedString();
+ } else {
+ // anonymous bounded string/wstring
+ visitAnonBoundedString();
+ }
} else {
// unbounded string/wstring
visitUnboundedString();
}
+ }
+
+ private void visitAnonBoundedString() {
+ // xmlschema:bounded anon string
+ XmlSchemaSimpleType simpleType = new XmlSchemaSimpleType(schema);
+ simpleType.setName(stringName);
+ XmlSchemaSimpleTypeRestriction restriction = new XmlSchemaSimpleTypeRestriction();
+ restriction.setBaseTypeName(Constants.XSD_STRING);
+ XmlSchemaMaxLengthFacet maxLengthFacet = new XmlSchemaMaxLengthFacet();
+ maxLengthFacet.setValue(boundNode.toString());
+ restriction.getFacets().add(maxLengthFacet);
+ simpleType.setContent(restriction);
+
+ // add schemaType
+ schema.getItems().add(simpleType);
+ schema.addType(simpleType);
+ setSchemaType(simpleType);
+
+ // corba:anonstring
+ Anonstring anonstring = new Anonstring();
+ anonstring.setQName(new QName(typeMap.getTargetNamespace(), stringName));
+ anonstring.setBound(new Long(boundNode.toString()));
+ anonstring.setType(simpleType.getQName());
+
+ // add corba:anonstring
+ typeMap.getStructOrExceptionOrUnion().add(anonstring);
+ setCorbaType(anonstring);
}
private void visitBoundedString() {
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=472876&r1=472875&r2=472876
==============================================================================
--- 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 Thu Nov 9 04:08:26 2006
@@ -194,4 +194,8 @@
testWSDLGeneration("/idl/Anonboundedsequence.idl", "/idl/expected_Anonboundedsequence.wsdl");
}
+ public void testAnonstringGeneration() throws Exception {
+ testWSDLGeneration("/idl/Anonstring.idl", "/idl/expected_Anonstring.wsdl");
+ }
+
}
Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonstring.idl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonstring.idl?view=auto&rev=472876
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonstring.idl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/Anonstring.idl Thu Nov 9 04:08:26 2006
@@ -0,0 +1,79 @@
+/*
+ * 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 AnonStrings {
+
+ typedef sequence< string<10> > SequenceBoundedString;
+ typedef sequence< sequence< string<10> > > SequenceSequenceBoundedString;
+
+
+ typedef sequence< string<10>, 20 > BoundedSequenceBoundedString;
+ typedef sequence< sequence< string<10>, 20 > > SequenceBoundedSequenceBoundedString;
+
+
+ interface anonStringIf {
+ string<10> anonStringOperation(in string<20> inString);
+ string<30> anotherAnonStringOperation(in string<40> inString);
+ };
+
+
+ struct anonStringStruct {
+ string unboundedString;
+ string anotherUnboundedString;
+
+ string<10> anonBoundedString;
+ string<20> anotherAnonBoundedString;
+ };
+
+
+ typedef struct typedefAnonStringStruct {
+ string unboundedString;
+ string anotherUnboundedString;
+
+ string<10> anonBoundedString;
+ string<20> anotherAnonBoundedString;
+ } myTypedefAnonStringStruct;
+
+
+ union anonStringUnion switch(long) {
+ case 1:
+ string< 10 > anonStringUnion1;
+ default:
+ string< 100 > anonStringUnionDefault;
+ };
+
+
+ typedef union typedefAnonStringUnion switch(long) {
+ case 1:
+ string< 10 > anonStringUnion1;
+ default:
+ string< 100 > anonStringUnionDefault;
+ } myTypedefAnonStringUnion;
+
+
+ exception anonException {
+ string unboundedString;
+ string anotherUnboundedString;
+
+ string<10> anonBoundedAnonString;
+ string<20> anotherBoundedAnonString;
+ };
+
+};
+
Added: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl?view=auto&rev=472876
==============================================================================
--- incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl (added)
+++ incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl Thu Nov 9 04:08:26 2006
@@ -0,0 +1,379 @@
+<?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/Anonstring" xmlns:tns="http://schemas.apache.org/yoko/idl/Anonstring" 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/Anonstring/typemap">
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_SequenceBoundedString" type="ns4:_1_SequenceBoundedString" />
+ <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_1_SequenceBoundedString" bound="0" repositoryID="IDL:SequenceBoundedString:1.0" name="SequenceBoundedString" type="ns4:SequenceBoundedString" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_SequenceSequenceBoundedString" type="ns4:_1_SequenceSequenceBoundedString" />
+ <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_1_SequenceSequenceBoundedString" bound="0" name="_2_SequenceSequenceBoundedString" type="ns4:_2_SequenceSequenceBoundedString" />
+ <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_2_SequenceSequenceBoundedString" bound="0" repositoryID="IDL:SequenceSequenceBoundedString:1.0" name="SequenceSequenceBoundedString" type="ns4:SequenceSequenceBoundedString" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_BoundedSequenceBoundedString" type="ns4:_1_BoundedSequenceBoundedString" />
+ <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_1_BoundedSequenceBoundedString" bound="20" repositoryID="IDL:BoundedSequenceBoundedString:1.0" name="BoundedSequenceBoundedString" type="ns4:BoundedSequenceBoundedString" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_SequenceBoundedSequenceBoundedString" type="ns4:_1_SequenceBoundedSequenceBoundedString" />
+ <corba:anonsequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_1_SequenceBoundedSequenceBoundedString" bound="20" name="_2_SequenceBoundedSequenceBoundedString" type="ns4:_2_SequenceBoundedSequenceBoundedString" />
+ <corba:sequence xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" elemtype="_2_SequenceBoundedSequenceBoundedString" bound="0" repositoryID="IDL:SequenceBoundedSequenceBoundedString:1.0" name="SequenceBoundedSequenceBoundedString" type="ns4:SequenceBoundedSequenceBoundedString" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_anonStringIf" type="ns4:_1_anonStringIf" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="20" name="_2_anonStringIf" type="ns4:_2_anonStringIf" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="30" name="_3_anonStringIf" type="ns4:_3_anonStringIf" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="40" name="_4_anonStringIf" type="ns4:_4_anonStringIf" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_anonStringStruct" type="ns4:_1_anonStringStruct" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="20" name="_2_anonStringStruct" type="ns4:_2_anonStringStruct" />
+ <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" repositoryID="IDL:anonStringStruct:1.0" name="anonStringStruct" type="ns4:anonStringStruct">
+ <corba:member name="unboundedString" idltype="corba:string" />
+ <corba:member name="anotherUnboundedString" idltype="corba:string" />
+ <corba:member name="anonBoundedString" idltype="_1_anonStringStruct" />
+ <corba:member name="anotherAnonBoundedString" idltype="_2_anonStringStruct" />
+ </corba:struct>
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_typedefAnonStringStruct" type="ns4:_1_typedefAnonStringStruct" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="20" name="_2_typedefAnonStringStruct" type="ns4:_2_typedefAnonStringStruct" />
+ <corba:struct xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" repositoryID="IDL:typedefAnonStringStruct:1.0" name="typedefAnonStringStruct" type="ns4:typedefAnonStringStruct">
+ <corba:member name="unboundedString" idltype="corba:string" />
+ <corba:member name="anotherUnboundedString" idltype="corba:string" />
+ <corba:member name="anonBoundedString" idltype="_1_typedefAnonStringStruct" />
+ <corba:member name="anotherAnonBoundedString" idltype="_2_typedefAnonStringStruct" />
+ </corba:struct>
+ <corba:alias xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" basetype="typedefAnonStringStruct" repositoryID="IDL:myTypedefAnonStringStruct:1.0" name="myTypedefAnonStringStruct" type="ns4:typedefAnonStringStruct" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_anonStringUnion" type="ns4:_1_anonStringUnion" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="100" name="_2_anonStringUnion" type="ns4:_2_anonStringUnion" />
+ <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" discriminator="corba:long" repositoryID="IDL:anonStringUnion:1.0" name="anonStringUnion" type="ns4:anonStringUnion">
+ <corba:unionbranch name="anonStringUnion1" idltype="_1_anonStringUnion">
+ <corba:case label="1" />
+ </corba:unionbranch>
+ <corba:unionbranch name="anonStringUnionDefault" idltype="_2_anonStringUnion" default="true" />
+ </corba:union>
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_typedefAnonStringUnion" type="ns4:_1_typedefAnonStringUnion" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="100" name="_2_typedefAnonStringUnion" type="ns4:_2_typedefAnonStringUnion" />
+ <corba:union xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" discriminator="corba:long" repositoryID="IDL:typedefAnonStringUnion:1.0" name="typedefAnonStringUnion" type="ns4:typedefAnonStringUnion">
+ <corba:unionbranch name="anonStringUnion1" idltype="_1_typedefAnonStringUnion">
+ <corba:case label="1" />
+ </corba:unionbranch>
+ <corba:unionbranch name="anonStringUnionDefault" idltype="_2_typedefAnonStringUnion" default="true" />
+ </corba:union>
+ <corba:alias xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" basetype="typedefAnonStringUnion" repositoryID="IDL:myTypedefAnonStringUnion:1.0" name="myTypedefAnonStringUnion" type="ns4:typedefAnonStringUnion" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="10" name="_1_anonException" type="ns4:_1_anonException" />
+ <corba:anonstring xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" bound="20" name="_2_anonException" type="ns4:_2_anonException" />
+ <corba:exception xmlns:ns4="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" repositoryID="IDL:anonException:1.0" name="anonException" type="ns4:anonExceptionType">
+ <corba:member name="unboundedString" idltype="corba:string" />
+ <corba:member name="anotherUnboundedString" idltype="corba:string" />
+ <corba:member name="anonBoundedAnonString" idltype="_1_anonException" />
+ <corba:member name="anotherBoundedAnonString" idltype="_2_anonException" />
+ </corba:exception>
+ </corba:typeMapping>
+ <wsdl:types>
+ <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://schemas.apache.org/yoko/idl/Anonstring" xmlns="http://schemas.apache.org/yoko/idl/Anonstring" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:simpleType name="_1_SequenceBoundedString">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="SequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="_1_SequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="_1_SequenceSequenceBoundedString">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="_2_SequenceSequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="_1_SequenceSequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SequenceSequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="_2_SequenceSequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="_1_BoundedSequenceBoundedString">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="BoundedSequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="20" minOccurs="0" name="item" type="_1_BoundedSequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="_1_SequenceBoundedSequenceBoundedString">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="_2_SequenceBoundedSequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="20" minOccurs="0" name="item" type="_1_SequenceBoundedSequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SequenceBoundedSequenceBoundedString">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="_2_SequenceBoundedSequenceBoundedString">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="anonStringOperation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="inString" type="_2_anonStringIf">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="anonStringOperationResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="return" type="_1_anonStringIf">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="_1_anonStringIf">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_anonStringIf">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="anotherAnonStringOperation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="inString" type="_4_anonStringIf">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="anotherAnonStringOperationResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="return" type="_3_anonStringIf">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="_3_anonStringIf">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_4_anonStringIf">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="40">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_1_anonStringStruct">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_anonStringStruct">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="anonStringStruct">
+ <xs:sequence>
+ <xs:element name="unboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anotherUnboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anonBoundedString" type="_1_anonStringStruct">
+ </xs:element>
+ <xs:element name="anotherAnonBoundedString" type="_2_anonStringStruct">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="_1_typedefAnonStringStruct">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_typedefAnonStringStruct">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="typedefAnonStringStruct">
+ <xs:sequence>
+ <xs:element name="unboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anotherUnboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anonBoundedString" type="_1_typedefAnonStringStruct">
+ </xs:element>
+ <xs:element name="anotherAnonBoundedString" type="_2_typedefAnonStringStruct">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="myTypedefAnonStringStruct">
+ <xs:restriction base="typedefAnonStringStruct">
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_1_anonStringUnion">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_anonStringUnion">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="anonStringUnion">
+ <xs:sequence>
+ <xs:element name="discriminator" type="xs:int">
+ </xs:element>
+ <xs:choice>
+ <xs:element name="anonStringUnion1" type="_1_anonStringUnion">
+ </xs:element>
+ <xs:element name="anonStringUnionDefault" type="_2_anonStringUnion">
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="_1_typedefAnonStringUnion">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_typedefAnonStringUnion">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="typedefAnonStringUnion">
+ <xs:sequence>
+ <xs:element name="discriminator" type="xs:int">
+ </xs:element>
+ <xs:choice>
+ <xs:element name="anonStringUnion1" type="_1_typedefAnonStringUnion">
+ </xs:element>
+ <xs:element name="anonStringUnionDefault" type="_2_typedefAnonStringUnion">
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="myTypedefAnonStringUnion">
+ <xs:restriction base="typedefAnonStringUnion">
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_1_anonException">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="10">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="_2_anonException">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20">
+ </xs:maxLength>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="anonException" type="anonExceptionType">
+ </xs:element>
+ <xs:complexType name="anonExceptionType">
+ <xs:sequence>
+ <xs:element name="unboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anotherUnboundedString" type="xs:string">
+ </xs:element>
+ <xs:element name="anonBoundedAnonString" type="_1_anonException">
+ </xs:element>
+ <xs:element name="anotherBoundedAnonString" type="_2_anonException">
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="anonStringOperation">
+ <wsdl:part name="inparameter" element="tns:anonStringOperation"/>
+ </wsdl:message>
+ <wsdl:message name="anotherAnonStringOperation">
+ <wsdl:part name="inparameter" element="tns:anotherAnonStringOperation"/>
+ </wsdl:message>
+ <wsdl:message name="anotherAnonStringOperationResponse">
+ <wsdl:part name="outparameter" element="tns:anotherAnonStringOperationResponse"/>
+ </wsdl:message>
+ <wsdl:message name="anonStringOperationResponse">
+ <wsdl:part name="outparameter" element="tns:anonStringOperationResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="anonStringIf">
+ <wsdl:operation name="anonStringOperation">
+ <wsdl:input name="anonStringOperationRequest" message="tns:anonStringOperation"/>
+ <wsdl:output name="anonStringOperationResponse" message="tns:anonStringOperationResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="anotherAnonStringOperation">
+ <wsdl:input name="anotherAnonStringOperationRequest" message="tns:anotherAnonStringOperation"/>
+ <wsdl:output name="anotherAnonStringOperationResponse" message="tns:anotherAnonStringOperationResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="anonStringIfCORBABinding" type="tns:anonStringIf">
+ <corba:binding repositoryID="IDL:anonStringIf:1.0" />
+ <wsdl:operation name="anonStringOperation">
+ <corba:operation name="anonStringOperation">
+ <corba:param xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" mode="in" name="inString" idltype="_2_anonStringIf" />
+ <corba:return xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" name="return" idltype="_1_anonStringIf" />
+ </corba:operation>
+ <wsdl:input name="anonStringOperationRequest">
+ </wsdl:input>
+ <wsdl:output name="anonStringOperationResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="anotherAnonStringOperation">
+ <corba:operation name="anotherAnonStringOperation">
+ <corba:param xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" mode="in" name="inString" idltype="_4_anonStringIf" />
+ <corba:return xmlns="http://schemas.apache.org/yoko/idl/Anonstring/typemap" name="return" idltype="_3_anonStringIf" />
+ </corba:operation>
+ <wsdl:input name="anotherAnonStringOperationRequest">
+ </wsdl:input>
+ <wsdl:output name="anotherAnonStringOperationResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="anonStringIfCORBAService">
+ <wsdl:port name="anonStringIfCORBAPort" binding="tns:anonStringIfCORBABinding">
+ <corba:address location="IOR:" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
Propchange: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/yoko/branches/idltowsdl_anon_refactor/tools/src/test/resources/idl/expected_Anonstring.wsdl
------------------------------------------------------------------------------
svn:mime-type = text/xml