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 ve...@apache.org on 2009/06/15 23:09:03 UTC

svn commit: r784978 - in /webservices/axis2/trunk/java/modules: adb-codegen/test-resources/testsuite/anytype.xsd adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Author: veithen
Date: Mon Jun 15 21:09:02 2009
New Revision: 784978

URL: http://svn.apache.org/viewvc?rev=784978&view=rev
Log:
Fixed AXIS2-4273.

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/anytype.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java
    webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/anytype.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/anytype.xsd?rev=784978&r1=784977&r2=784978&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/anytype.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/anytype.xsd Mon Jun 15 21:09:02 2009
@@ -114,6 +114,13 @@
         </xs:complexType>
     </xs:element>
 
-
+    <xs:element name="TestMixed">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element minOccurs="0" name="param1" nillable="true" type="xs:anyType"/>
+                <xs:element minOccurs="0" name="param2" nillable="true" type="xs:string"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 </xs:schema>
 

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java?rev=784978&r1=784977&r2=784978&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test/org/apache/axis2/schema/anytype/AnyTypeTest.java Mon Jun 15 21:09:02 2009
@@ -30,6 +30,7 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import java.io.ByteArrayInputStream;
+import java.io.StringReader;
 
 
 
@@ -673,5 +674,17 @@
             fail();
         }
     }
+    
+    // Regression test for AXIS2-4273
+    public void testTestMixedWithNilledAnyType() throws Exception {
+        TestMixed test = TestMixed.Factory.parse(StAXUtils.createXMLStreamReader(new StringReader(
+                "<TestMixed xmlns='http://adb.test/anyType' " +
+                "           xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" +
+                "  <param1 xsi:nil='true'/>" +
+                "  <param2>test</param2>" +
+                "</TestMixed>")));
+        assertNull(test.getParam1());
+        assertEquals("test", test.getParam2());
+    }
 }
 

Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java?rev=784978&r1=784977&r2=784978&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java Mon Jun 15 21:09:02 2009
@@ -1512,6 +1512,7 @@
         String nillableValue = xmlStreamReader.getAttributeValue(Constants.XSI_NAMESPACE, "nil");
         if ("true".equals(nillableValue) || "1".equals(nillableValue)){
             returnObject = null;
+            xmlStreamReader.next();
         } else {
             String attributeType = xmlStreamReader.getAttributeValue(Constants.XSI_NAMESPACE, "type");
             if (attributeType != null) {