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/09/17 07:03:13 UTC
svn commit: r576256 - in /webservices/axis2/trunk/java/modules/adb-codegen:
./ src/org/apache/axis2/schema/ src/org/apache/axis2/schema/template/
src/org/apache/axis2/schema/writer/ test-resources/testsuite/
test/org/apache/axis2/schema/innerparticleex...
Author: amilas
Date: Sun Sep 16 22:03:11 2007
New Revision: 576256
URL: http://svn.apache.org/viewvc?rev=576256&view=rev
Log:
fixed the issues with the AXIS2_3193.
fixed the union type isssue so that the union can be used with the
attributes as well
Added:
webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticleExtension.xsd
webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union2.xsd
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/TestInnerParticleExtension.java
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/Union2Test.java
Modified:
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/SchemaCompiler.java
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml
webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/particalmaxoccurs/ParticalMaxOccursTest.java
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java Sun Sep 16 22:03:11 2007
@@ -61,6 +61,8 @@
protected String minInclusiveFacet = null;
protected Map memberTypes = new HashMap();
+ protected List memberTypesKeys = new ArrayList();
+
protected QName itemTypeQName;
protected String itemTypeClassName;
protected boolean isUnion;
@@ -809,8 +811,17 @@
this.memberTypes = memberTypes;
}
+ public List getMemberTypesKeys() {
+ return memberTypesKeys;
+ }
+
+ public void setMemberTypesKeys(List memberTypesKeys) {
+ this.memberTypesKeys = memberTypesKeys;
+ }
+
public void addMemberType(QName qname,String className){
this.memberTypes.put(qname,className);
+ this.memberTypesKeys.add(qname);
}
public boolean isList() {
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?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- 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 Sun Sep 16 22:03:11 2007
@@ -1619,9 +1619,7 @@
if (type instanceof XmlSchemaSimpleType) {
XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType) type;
- if ((simpleType != null) &&
- (simpleType.getContent() instanceof XmlSchemaSimpleTypeRestriction)) {
- // we only support simple type restriction
+ if (simpleType != null) {
if (!isAlreadyProcessed(schemaTypeName)) {
//process simple type
processSimpleSchemaType(simpleType, null, parentSchema, null);
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/template/ADBBeanTemplate.xsl Sun Sep 16 22:03:11 2007
@@ -637,7 +637,7 @@
this.localObject = object;
</xsl:for-each>
} else {
- throw new RuntimeException("Invalid object type");
+ throw new java.lang.RuntimeException("Invalid object type");
}
}
@@ -863,7 +863,7 @@
<!-- write the type attribute if needed -->
- <xsl:if test="$extension">
+ <xsl:if test="$extension and not(@anon)">
java.lang.String namespacePrefix = registerPrefix(xmlWriter,"<xsl:value-of select="$nsuri"/>");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
@@ -2243,6 +2243,50 @@
throw new org.apache.axis2.databinding.ADBException("Error in parsing value");
}
}
+
+ public static <xsl:value-of select="$name"/> fromString(java.lang.String value,
+ java.lang.String namespaceURI){
+ <xsl:value-of select="$name"/> object = new <xsl:value-of select="$name"/>();
+ boolean isValueSet = false;
+ <xsl:for-each select="memberType">
+ // we have to set the object with the first matching type.
+ if (!isValueSet) {
+ <xsl:choose>
+ <xsl:when test="@nsuri='http://www.w3.org/2001/XMLSchema'">
+ try {
+ java.lang.reflect.Method converterMethod =
+ org.apache.axis2.databinding.utils.ConverterUtil.class.getMethod(
+ "convertTo<xsl:value-of select="@shorttypename"/>",
+ new java.lang.Class[]{java.lang.String.class});
+ object.setObject(converterMethod.invoke(null, new java.lang.Object[]{value}));
+ isValueSet = true;
+ } catch (java.lang.Exception e) {
+ }
+ </xsl:when>
+ <xsl:otherwise>
+ try {
+ object.setObject(<xsl:value-of select="@type"/>.Factory.fromString(value, namespaceURI));
+ isValueSet = true;
+ } catch (java.lang.Exception e) {
+ }
+ </xsl:otherwise>
+ </xsl:choose>
+ }
+ </xsl:for-each>
+ return object;
+ }
+
+ public static <xsl:value-of select="$name"/> fromString(javax.xml.stream.XMLStreamReader xmlStreamReader,
+ java.lang.String content) {
+ if (content.indexOf(":") > -1){
+ java.lang.String prefix = content.substring(0,content.indexOf(":"));
+ java.lang.String namespaceUri = xmlStreamReader.getNamespaceContext().getNamespaceURI(prefix);
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,namespaceUri);
+ } else {
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,"");
+ }
+ }
+
</xsl:if>
<xsl:if test="$list and $simple">
@@ -2338,6 +2382,17 @@
return returnValue;
}
+ public static <xsl:value-of select="$name"/> fromString(javax.xml.stream.XMLStreamReader xmlStreamReader,
+ java.lang.String content) {
+ if (content.indexOf(":") > -1){
+ java.lang.String prefix = content.substring(0,content.indexOf(":"));
+ java.lang.String namespaceUri = xmlStreamReader.getNamespaceContext().getNamespaceURI(prefix);
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,namespaceUri);
+ } else {
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,"");
+ }
+ }
+
</xsl:if>
<xsl:if test="enumFacet">
public static <xsl:value-of select="$name"/> fromValue(<xsl:value-of select="$propertyType"/> value)
@@ -2378,6 +2433,17 @@
throw new java.lang.IllegalArgumentException();
}
}
+
+ public static <xsl:value-of select="$name"/> fromString(javax.xml.stream.XMLStreamReader xmlStreamReader,
+ java.lang.String content) {
+ if (content.indexOf(":") > -1){
+ java.lang.String prefix = content.substring(0,content.indexOf(":"));
+ java.lang.String namespaceUri = xmlStreamReader.getNamespaceContext().getNamespaceURI(prefix);
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,namespaceUri);
+ } else {
+ return <xsl:value-of select="$name"/>.Factory.fromString(content,"");
+ }
+ }
</xsl:if>
</xsl:for-each>
@@ -2481,8 +2547,22 @@
</xsl:if>
}
+ <xsl:if test="$union">
+ } else {
+ // i.e this is an union type with out specific xsi:type
+ java.lang.String content = reader.getElementText();
+ if (content.indexOf(":") > -1){
+ // i.e. this could be a qname
+ prefix = content.substring(0,content.indexOf(":"));
+ namespaceuri = reader.getNamespaceContext().getNamespaceURI(prefix);
+ object = <xsl:value-of select="$name"/>.Factory.fromString(content,namespaceuri);
+ } else {
+ object = <xsl:value-of select="$name"/>.Factory.fromString(content,"");
+ }
+ </xsl:if>
}
+
</xsl:if>
<xsl:if test="$list">
@@ -2550,18 +2630,8 @@
<xsl:otherwise>
<xsl:choose>
<xsl:when test="@ours">
- if (<xsl:value-of select="$attribName"/>.indexOf(":") > 0) {
- // this seems to be a Qname so find the namespace and send
- prefix = <xsl:value-of select="$attribName"/>.substring(0, <xsl:value-of select="$attribName"/>.indexOf(":"));
- namespaceuri = reader.getNamespaceURI(prefix);
- object.set<xsl:value-of select="$javaName"/>(
- <xsl:value-of select="@type"/>.Factory.fromString(<xsl:value-of select="$attribName"/>,namespaceuri));
- } else {
- // this seems to be not a qname send and empty namespace incase of it is
- // check is done in fromString method
- object.set<xsl:value-of select="$javaName"/>(
- <xsl:value-of select="@type"/>.Factory.fromString(<xsl:value-of select="$attribName"/>,""));
- }
+ object.set<xsl:value-of select="$javaName"/>(
+ <xsl:value-of select="@type"/>.Factory.fromString(reader,<xsl:value-of select="$attribName"/>));
</xsl:when>
<xsl:otherwise>
object.set<xsl:value-of select="$javaName"/>(
@@ -3395,7 +3465,7 @@
<xsl:if test="property[not(@attribute)]"> <!-- this if is needed to skip all this when there are no propoerties-->
<xsl:if test="$unordered and not($particleClass)">
- <xsl:if test="not(property/enumFacet) and not($choice and $hasParticleType)">
+ <xsl:if test="not(property/enumFacet) and not($choice or $hasParticleType)">
else{
// A start element we are not expecting indicates an invalid parameter was passed
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());
Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Sun Sep 16 22:03:11 2007
@@ -51,7 +51,7 @@
*/
public class JavaBeanWriter implements BeanWriter {
- private static final Log log = LogFactory.getLog(JavaBeanWriter .class);
+ private static final Log log = LogFactory.getLog(JavaBeanWriter.class);
public static final String WRAPPED_DATABINDING_CLASS_NAME = "WrappedDatabinder";
@@ -602,7 +602,7 @@
Map typeMap) {
Map memberTypes = metainf.getMemberTypes();
QName memberQName;
- for (Iterator iter = memberTypes.keySet().iterator(); iter.hasNext();) {
+ for (Iterator iter = metainf.getMemberTypesKeys().iterator(); iter.hasNext();) {
memberQName = (QName) iter.next();
String memberClass = (String) memberTypes.get(memberQName);
if (PrimitiveTypeFinder.isPrimitive(memberClass)) {
@@ -740,6 +740,13 @@
// set the is particle class
if (metainf.getParticleTypeStatusForQName(name)){
XSLTUtils.addAttribute(model, "particleClassType", "yes", property);
+ }
+
+ // if we have an particle class in a extension class then we have
+ // to consider the whole class has a particle type.
+
+ if (metainf.isHasParticleType()) {
+ XSLTUtils.addAttribute(model, "hasParticleType", "yes", rootElt);
}
// what happed if this contain attributes
Modified: webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/sub-build.xml Sun Sep 16 22:03:11 2007
@@ -362,6 +362,22 @@
<arg file="${testsuite.source.dir}/rampart.xsd"/>
<arg file="${schema.generated.src.dir}"/>
</java>
+ <echo>Compiling innerParticleExtension.xsd</echo>
+ <java classname="org.apache.axis2.schema.XSD2Java" fork="true">
+ <jvmarg line="${maven.junit.jvmargs}"/>
+ <classpath refid="maven.dependency.classpath"/>
+ <classpath location="${compiled.classes.dir}"/>
+ <arg file="${testsuite.source.dir}/innerParticleExtension.xsd"/>
+ <arg file="${schema.generated.src.dir}"/>
+ </java>
+ <echo>Compiling union2.xsd</echo>
+ <java classname="org.apache.axis2.schema.XSD2Java" fork="true">
+ <jvmarg line="${maven.junit.jvmargs}"/>
+ <classpath refid="maven.dependency.classpath"/>
+ <classpath location="${compiled.classes.dir}"/>
+ <arg file="${testsuite.source.dir}/union2.xsd"/>
+ <arg file="${schema.generated.src.dir}"/>
+ </java>
</target>
</project>
Added: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticleExtension.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticleExtension.xsd?rev=576256&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticleExtension.xsd (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/innerParticleExtension.xsd Sun Sep 16 22:03:11 2007
@@ -0,0 +1,28 @@
+<s:schema elementFormDefault="qualified"
+ xmlns:s="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://tempuri.org/innerparticalextension"
+ targetNamespace="http://tempuri.org/innerparticalextension">
+
+ <s:complexType name="ParentType">
+ <s:choice minOccurs="0" maxOccurs="unbounded">
+ <s:element name="param1" type="s:string"/>
+ <s:element name="param2" type="s:string"/>
+ </s:choice>
+ </s:complexType>
+ <s:element name="TestElement">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="ChildElement" maxOccurs="unbounded">
+ <s:complexType>
+ <s:complexContent>
+ <s:extension base="tns:ParentType">
+ <s:attribute name="testAttribute" type="s:string"/>
+ </s:extension>
+ </s:complexContent>
+ </s:complexType>
+ </s:element>
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+</s:schema>
\ No newline at end of file
Added: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union2.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union2.xsd?rev=576256&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union2.xsd (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/union2.xsd Sun Sep 16 22:03:11 2007
@@ -0,0 +1,34 @@
+<s:schema elementFormDefault="qualified"
+ xmlns:s="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://tempuri.org/union2"
+ targetNamespace="http://tempuri.org/union2">
+
+ <s:simpleType name="TestUnion1">
+ <s:union memberTypes="s:string s:boolean tns:TestRestriction"/>
+ </s:simpleType>
+ <s:simpleType name="TestRestriction">
+ <s:restriction base="s:string">
+ </s:restriction>
+ </s:simpleType>
+ <s:element name="TestUnionElement1" type="tns:TestUnion1"/>
+ <s:element name="TestUnionElement2">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="param1" type="tns:TestUnion1"/>
+ </s:sequence>
+ <s:attribute name="attribute1" type="tns:TestUnion1"/>
+ </s:complexType>
+ </s:element>
+ <s:simpleType name="TestList1">
+ <s:list itemType="s:string"/>
+ </s:simpleType>
+ <s:element name="TestListElement1">
+ <s:complexType>
+ <s:sequence>
+ <s:element name="param1" type="tns:TestList1"/>
+ </s:sequence>
+ <s:attribute name="attribute1" type="tns:TestList1"/>
+ </s:complexType>
+ </s:element>
+</s:schema>
\ No newline at end of file
Added: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/TestInnerParticleExtension.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/TestInnerParticleExtension.java?rev=576256&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/TestInnerParticleExtension.java (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/innerparticleextension/TestInnerParticleExtension.java Sun Sep 16 22:03:11 2007
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.axis2.schema.innerparticleextension;
+
+import junit.framework.TestCase;
+import org.tempuri.innerparticalextension.TestElement;
+import org.tempuri.innerparticalextension.ChildElement_type0;
+import org.tempuri.innerparticalextension.ParentTypeChoice;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axis2.databinding.ADBException;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import java.io.ByteArrayInputStream;
+
+public class TestInnerParticleExtension extends TestCase {
+
+ public void testTestElement(){
+ TestElement testElement = new TestElement();
+
+ ChildElement_type0 childElement_type0[] = new ChildElement_type0[2];
+ childElement_type0[0] = new ChildElement_type0();
+ childElement_type0[0].setTestAttribute("Test Attribute");
+
+ ParentTypeChoice[] parentTypeChoices = new ParentTypeChoice[2];
+ parentTypeChoices[0] = new ParentTypeChoice();
+ parentTypeChoices[0].setParam1("param1");
+ parentTypeChoices[1] = new ParentTypeChoice();
+ parentTypeChoices[1].setParam2("param2");
+
+ childElement_type0[0].setParentTypeChoice(parentTypeChoices);
+
+ childElement_type0[1] = new ChildElement_type0();
+ childElement_type0[1].setTestAttribute("Test Attribute");
+
+ parentTypeChoices = new ParentTypeChoice[2];
+ parentTypeChoices[0] = new ParentTypeChoice();
+ parentTypeChoices[0].setParam1("param1");
+ parentTypeChoices[1] = new ParentTypeChoice();
+ parentTypeChoices[1].setParam2("param2");
+
+ childElement_type0[1].setParentTypeChoice(parentTypeChoices);
+
+ testElement.setChildElement(childElement_type0);
+
+ try {
+ OMElement omElement = testElement.getOMElement(TestElement.MY_QNAME, OMAbstractFactory.getOMFactory());
+ String omElementString = omElement.toStringWithConsume();
+ System.out.println("OM Element string ==> " + omElementString);
+ XMLStreamReader xmlReader =
+ StAXUtils.createXMLStreamReader(new ByteArrayInputStream(omElementString.getBytes()));
+ TestElement result = TestElement.Factory.parse(xmlReader);
+ assertEquals(result.getChildElement()[0].getTestAttribute(),"Test Attribute");
+ assertEquals(result.getChildElement()[1].getTestAttribute(),"Test Attribute");
+
+ assertEquals(result.getChildElement()[0].getParentTypeChoice()[0].getParam1(),"param1");
+ assertEquals(result.getChildElement()[0].getParentTypeChoice()[1].getParam2(),"param2");
+ assertEquals(result.getChildElement()[1].getParentTypeChoice()[0].getParam1(),"param1");
+ assertEquals(result.getChildElement()[1].getParentTypeChoice()[1].getParam2(),"param2");
+
+ } catch (ADBException e) {
+ fail();
+ } catch (XMLStreamException e) {
+ fail();
+ } catch (Exception e) {
+ fail();
+ }
+
+
+ }
+}
Modified: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/particalmaxoccurs/ParticalMaxOccursTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/particalmaxoccurs/ParticalMaxOccursTest.java?rev=576256&r1=576255&r2=576256&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/particalmaxoccurs/ParticalMaxOccursTest.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/particalmaxoccurs/ParticalMaxOccursTest.java Sun Sep 16 22:03:11 2007
@@ -346,8 +346,10 @@
assertEquals(resultChoices[0].getParm1(), "Param11");
assertEquals(resultChoices[1].getParm2(), "Param12");
} catch (XMLStreamException e) {
+ e.printStackTrace();
fail();
} catch (Exception e) {
+ e.printStackTrace();
fail();
}
}
Added: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/Union2Test.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/Union2Test.java?rev=576256&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/Union2Test.java (added)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/union2/Union2Test.java Sun Sep 16 22:03:11 2007
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+package org.apache.axis2.schema.union2;
+
+import org.tempuri.union2.TestUnionElement2;
+import org.tempuri.union2.TestUnion1;
+import org.tempuri.union2.TestListElement1;
+import org.tempuri.union2.TestList1;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axis2.databinding.ADBException;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.TestCase;
+
+import java.io.ByteArrayInputStream;
+
+
+public class Union2Test extends TestCase {
+
+ public void testUnionElement2() {
+ TestUnionElement2 testUnionElement2 = new TestUnionElement2();
+
+ TestUnion1 param1 = new TestUnion1();
+ param1.setObject(Boolean.TRUE);
+ testUnionElement2.setParam1(param1);
+
+ TestUnion1 attribute1 = new TestUnion1();
+ attribute1.setObject("test attribute");
+
+ testUnionElement2.setAttribute1(attribute1);
+
+ try {
+ OMElement omElement = testUnionElement2.getOMElement(
+ TestUnionElement2.MY_QNAME,
+ OMAbstractFactory.getOMFactory());
+ String omElementString = omElement.toStringWithConsume();
+ System.out.println("OM Element String ==> " + omElementString);
+ XMLStreamReader xmlReader =
+ StAXUtils.createXMLStreamReader(
+ new ByteArrayInputStream(omElementString.getBytes()));
+ TestUnionElement2 result = TestUnionElement2.Factory.parse(xmlReader);
+ assertEquals(result.getParam1().getObject(), Boolean.TRUE);
+ assertEquals(result.getAttribute1().getObject(), "test attribute");
+ } catch (ADBException e) {
+ fail();
+ } catch (XMLStreamException e) {
+ fail();
+ } catch (Exception e) {
+ fail();
+ }
+ }
+
+ public void testListElement2() {
+ TestListElement1 testListElement1 = new TestListElement1();
+
+ TestList1 param1 = new TestList1();
+ param1.setString(new String[]{"param1", "param2"});
+ testListElement1.setParam1(param1);
+
+ TestList1 attribute1 = new TestList1();
+ attribute1.setString(new String[]{"attribute1","attribute2"});
+ testListElement1.setAttribute1(attribute1);
+
+ try {
+ OMElement omElement = testListElement1.getOMElement(
+ TestListElement1.MY_QNAME,
+ OMAbstractFactory.getOMFactory());
+ String omElementString = omElement.toStringWithConsume();
+ System.out.println("OM Element String ==> " + omElementString);
+ XMLStreamReader xmlReader =
+ StAXUtils.createXMLStreamReader(
+ new ByteArrayInputStream(omElementString.getBytes()));
+ TestListElement1 result = TestListElement1.Factory.parse(xmlReader);
+ assertEquals(result.getParam1().getString()[0], "param1");
+ assertEquals(result.getParam1().getString()[1], "param2");
+ assertEquals(result.getAttribute1().getString()[0], "attribute1");
+ assertEquals(result.getAttribute1().getString()[1], "attribute2");
+ } catch (ADBException e) {
+ e.printStackTrace();
+ fail();
+ } catch (XMLStreamException e) {
+ fail();
+ } catch (Exception e) {
+ fail();
+ }
+
+
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org