You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by am...@apache.org on 2007/02/20 07:10:32 UTC
svn commit: r509433 - in /webservices/axis2/trunk/java/modules/adb-codegen:
src/org/apache/axis2/schema/SchemaCompiler.java
test-resources/testsuite/list.xsd
test/org/apache/axis2/schema/list/ListTest.java
Author: amilas
Date: Mon Feb 19 22:10:31 2007
New Revision: 509433
URL: http://svn.apache.org/viewvc?view=rev&rev=509433
Log:
Add the support for Annonymous inner simple classes in list type
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/list.xsd
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/list/ListTest.java
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java?view=diff&rev=509433&r1=509432&r2=509433
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java Mon Feb 19 22:10:31 2007
@@ -2030,11 +2030,22 @@
XmlSchemaSimpleTypeList simpleTypeList = (XmlSchemaSimpleTypeList) content;
QName itemTypeQName = simpleTypeList.getItemTypeName();
- if (!isAlreadyProcessed(itemTypeQName)){
- XmlSchemaType simpleSchemaType = getType(parentSchema,itemTypeQName);
- if (simpleSchemaType instanceof XmlSchemaSimpleType){
- processSimpleSchemaType((XmlSchemaSimpleType)simpleSchemaType,null,parentSchema,null);
+ if (itemTypeQName != null){
+ if (!isAlreadyProcessed(itemTypeQName)){
+ XmlSchemaType simpleSchemaType = getType(parentSchema,itemTypeQName);
+ if (simpleSchemaType instanceof XmlSchemaSimpleType){
+ processSimpleSchemaType((XmlSchemaSimpleType)simpleSchemaType,null,parentSchema,null);
+ }
}
+ } else {
+ XmlSchemaSimpleType listSimpleType = simpleTypeList.getItemType();
+ itemTypeQName = listSimpleType.getQName();
+ if (itemTypeQName == null){
+ // we create a fake Qname for all these simple types since most propably they don't have one
+ itemTypeQName = new QName(parentSimpleTypeQname.getNamespaceURI(),parentSimpleTypeQname.getLocalPart() + "_type0");
+ }
+ processSimpleSchemaType(listSimpleType,null,parentSchema,itemTypeQName);
+
}
String className = findClassName(itemTypeQName,false);
Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/list.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/list.xsd?view=diff&rev=509433&r1=509432&r2=509433
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/list.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/list.xsd Mon Feb 19 22:10:31 2007
@@ -38,4 +38,17 @@
<xs:element name="SuperTestListStringElement" type="tns:SuperTestListString"/>
+ <xs:simpleType name="InnerListSimpleType">
+ <xs:list>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Exist"/>
+ <xs:enumeration value="Access"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:list>
+ </xs:simpleType>
+
+ <xs:element name="TestInnerListSimpleType" type="tns:InnerListSimpleType"/>
+
</schema>
Modified: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/list/ListTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/list/ListTest.java?view=diff&rev=509433&r1=509432&r2=509433
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/list/ListTest.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/list/ListTest.java Mon Feb 19 22:10:31 2007
@@ -120,5 +120,30 @@
}
}
+ public void testInnerSimpleTypes(){
+ TestInnerListSimpleType testInnerListSimpleType = new TestInnerListSimpleType();
+ InnerListSimpleType innerListSimpleType = new InnerListSimpleType();
+ testInnerListSimpleType.setTestInnerListSimpleType(innerListSimpleType);
+ InnerListSimpleType_type0[] list = new InnerListSimpleType_type0[2];
+ list[0] = InnerListSimpleType_type0.Access;
+ list[1] = InnerListSimpleType_type0.Exist;
+
+ innerListSimpleType.setInnerListSimpleType_type0(list);
+
+ OMElement omElement = testInnerListSimpleType.getOMElement(TestInnerListSimpleType.MY_QNAME,
+ OMAbstractFactory.getOMFactory());
+ try {
+ String omElementString = omElement.toStringWithConsume();
+ System.out.println("OM Element ==> " + omElementString);
+ XMLStreamReader xmlReader = StAXUtils.createXMLStreamReader(new ByteArrayInputStream(omElementString.getBytes()));
+ TestInnerListSimpleType result = TestInnerListSimpleType.Factory.parse(xmlReader);
+ assertEquals(result.getTestInnerListSimpleType().getInnerListSimpleType_type0()[0],InnerListSimpleType_type0.Access);
+ assertEquals(result.getTestInnerListSimpleType().getInnerListSimpleType_type0()[1],InnerListSimpleType_type0.Exist);
+ } catch (Exception e) {
+ assertTrue(false);
+ }
+
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org