Argh! just tried getXMLStreamReaderWithoutCaching(), that fails :( we need a "stronger" fix.
On 1/28/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Author: ruchithf > Date: Fri Jan 27 21:01:51 2006 > New Revision: 373086 > > URL: http://svn.apache.org/viewcvs?rev=373086&view=rev > Log: > Adding a test method to test conversion of ADB generated content to DOOM : > Now ADBSOAPModelBuilderTest will fail > > Added: > > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ClientInfo.java > > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/CreateAccountRequest.java > Modified: > > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ADBSOAPModelBuilderTest.java > > Modified: > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ADBSOAPModelBuilderTest.java > URL: > http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ADBSOAPModelBuilderTest.java?rev=373086&r1=373085&r2=373086&view=diff > ============================================================================== > --- > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ADBSOAPModelBuilderTest.java > (original) > +++ > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ADBSOAPModelBuilderTest.java > Fri Jan 27 21:01:51 2006 > @@ -16,21 +16,26 @@ > > package org.apache.axis2.databinding; > > -import org.apache.axis2.databinding.utils.ADBPullParser; > -import org.apache.axis2.om.OMAbstractFactory; > -import org.apache.axis2.om.OMElement; > -import org.custommonkey.xmlunit.XMLTestCase; > -import org.w3c.dom.Document; > -import org.xml.sax.SAXException; > +import java.io.ByteArrayInputStream; > +import java.io.IOException; > +import java.util.ArrayList; > > import javax.xml.namespace.QName; > import javax.xml.parsers.DocumentBuilder; > import javax.xml.parsers.DocumentBuilderFactory; > import javax.xml.parsers.ParserConfigurationException; > import javax.xml.stream.XMLStreamReader; > -import java.io.ByteArrayInputStream; > -import java.io.IOException; > -import java.util.ArrayList; > + > +import org.apache.axis2.databinding.utils.ADBPullParser; > +import org.apache.axis2.om.DOOMAbstractFactory; > +import org.apache.axis2.om.OMAbstractFactory; > +import org.apache.axis2.om.OMElement; > +import org.apache.axis2.soap.SOAP11Constants; > +import org.apache.axis2.soap.SOAPEnvelope; > +import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder; > +import org.custommonkey.xmlunit.XMLTestCase; > +import org.w3c.dom.Document; > +import org.xml.sax.SAXException; > > public class ADBSOAPModelBuilderTest extends XMLTestCase { > public void testSimpleArrayList() throws Exception { > @@ -55,6 +60,29 @@ > Document actualDom = newDocument(root.toString()); > assertXMLEqual(actualDom, expectedDOM); > } > + > + public void testConvertToDOOM() { > + > + CreateAccountRequest request = new CreateAccountRequest(); > + ClientInfo clientInfo = new ClientInfo(); > + clientInfo.setName("bob"); > + clientInfo.setSsn("123456789"); > + request.setClientInfo(clientInfo); > + request.setPassword("passwd"); > + > + ADBSOAPModelBuilder builder = new ADBSOAPModelBuilder(request > + .getPullParser(CreateAccountRequest.MY_QNAME), > + OMAbstractFactory.getSOAP11Factory()); > + > + SOAPEnvelope env = builder.getEnvelope(); > + env.build(); > + > + StAXSOAPModelBuilder builder2 = new > StAXSOAPModelBuilder(env.getXMLStreamReader(), > DOOMAbstractFactory.getSOAP11Factory(), > SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); > + > + SOAPEnvelope envelope = builder2.getSOAPEnvelope(); > + envelope.build(); > + } > + > > public class DummyADBBean implements ADBBean { > ArrayList propertyList = new ArrayList(); > @@ -87,4 +115,5 @@ > DocumentBuilder db = dbf.newDocumentBuilder(); > return db.parse(new ByteArrayInputStream(xml.getBytes())); > } > + > } > > Added: > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ClientInfo.java > URL: > http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ClientInfo.java?rev=373086&view=auto > ============================================================================== > --- > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ClientInfo.java > (added) > +++ > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/ClientInfo.java > Fri Jan 27 21:01:51 2006 > @@ -0,0 +1,175 @@ > +/** > + * ClientInfo.java > + * > + * This file was auto-generated from WSDL > + * by the Apache Axis2 version: #axisVersion# #today# > + */ > + > +package org.apache.axis2.databinding; > + > +/** > + * ClientInfo bean class > + */ > + > +public class ClientInfo > + implements org.apache.axis2.databinding.ADBBean { > + /* This type was generated from the piece of schema that had > + name = ClientInfo > + Namespace URI = http://www.wso2.com/types > + Namespace Prefix = ns1 > + */ > + > + public ClientInfo(String localName, String localSsn) { > + this.localName = localName; > + this.localSsn = localSsn; > + } > + > + public ClientInfo() { > + } > + > + /** > + * field for Name > + */ > + protected java.lang.String localName; > + > + > + /** > + * Auto generated getter method > + * > + * @return java.lang.String > + */ > + public java.lang.String getName() { > + return localName; > + } > + > + /** > + * Auto generated setter method > + * > + * @param param Name > + */ > + public void setName(java.lang.String param) { > + > + > + this.localName = param; > + } > + > + > + /** > + * field for Ssn > + */ > + protected java.lang.String localSsn; > + > + > + /** > + * Auto generated getter method > + * > + * @return java.lang.String > + */ > + public java.lang.String getSsn() { > + return localSsn; > + } > + > + /** > + * Auto generated setter method > + * > + * @param param Ssn > + */ > + public void setSsn(java.lang.String param) { > + > + > + this.localSsn = param; > + } > + > + > + /** > + * databinding method to get an XML representation of this object > + */ > + public javax.xml.stream.XMLStreamReader > getPullParser(javax.xml.namespace.QName qName) { > + > + > + java.util.ArrayList elementList = new java.util.ArrayList(); > + java.util.ArrayList attribList = new java.util.ArrayList(); > + > + > + elementList.add(new javax.xml.namespace.QName("", > + "name")); > + > elementList.add(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localName)); > + > + elementList.add(new javax.xml.namespace.QName("", > + "ssn")); > + > elementList.add(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localSsn)); > + > + > + return > org.apache.axis2.databinding.utils.ADBPullParser.createPullParser(qName, > elementList.toArray(), attribList.toArray()); > + > + > + } > + > + /** > + * Factory class that keeps the parse method > + */ > + public static class Factory { > + /** > + * static method to create the object > + */ > + public static ClientInfo parse(javax.xml.stream.XMLStreamReader > reader) throws java.lang.Exception { > + ClientInfo object = new ClientInfo(); > + try { > + int event = reader.getEventType(); > + int count = 0; > + int argumentCount = 2; > + boolean done = false; > + //event better be a START_ELEMENT. if not we should go up to > the start element here > + while (!reader.isStartElement()) { > + event = reader.next(); > + } > + > + > + while (!done) { > + if (javax.xml.stream.XMLStreamConstants.START_ELEMENT == > event) { > + > + > + if ("name".equals(reader.getLocalName())) { > + > + String content = reader.getElementText(); > + object.setName( > + > org.apache.axis2.databinding.utils.ConverterUtil.convertTostring(content)); > + count++; > + > + > + } > + > + > + if ("ssn".equals(reader.getLocalName())) { > + > + String content = reader.getElementText(); > + object.setSsn( > + > org.apache.axis2.databinding.utils.ConverterUtil.convertTostring(content)); > + count++; > + > + > + } > + > + > + } > + > + if (argumentCount == count) { > + done = true; > + } > + > + if (!done) { > + event = reader.next(); > + } > + > + } > + > + } catch (javax.xml.stream.XMLStreamException e) { > + throw new java.lang.Exception(e); > + } > + > + return object; > + } > + }//end of factory class > + > +} > + > \ No newline at end of file > > Added: > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/CreateAccountRequest.java > URL: > http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/CreateAccountRequest.java?rev=373086&view=auto > ============================================================================== > --- > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/CreateAccountRequest.java > (added) > +++ > webservices/axis2/trunk/java/modules/adb/test/org/apache/axis2/databinding/CreateAccountRequest.java > Fri Jan 27 21:01:51 2006 > @@ -0,0 +1,158 @@ > +/** > + * CreateAccountRequest.java > + * > + * This file was auto-generated from WSDL > + * by the Apache Axis2 version: #axisVersion# #today# > + */ > + > +package org.apache.axis2.databinding; > + > +/** > + * CreateAccountRequest bean class > + */ > + > +public class CreateAccountRequest implements > + org.apache.axis2.databinding.ADBBean { > + > + public static final javax.xml.namespace.QName MY_QNAME = new > javax.xml.namespace.QName( > + "http://www.wso2.com/types", "createAccountRequest", "ns1"); > + > + /** > + * field for ClientInfo > + */ > + protected ClientInfo localClientInfo; > + > + /** > + * Auto generated getter method > + * > + * @return com.wso2.www.types.ClientInfo > + */ > + public ClientInfo getClientInfo() { > + return localClientInfo; > + } > + > + /** > + * Auto generated setter method > + * > + * @param param > + * ClientInfo > + */ > + public void setClientInfo(ClientInfo param) { > + > + this.localClientInfo = param; > + } > + > + /** > + * field for Password > + */ > + protected java.lang.String localPassword; > + > + /** > + * Auto generated getter method > + * > + * @return java.lang.String > + */ > + public java.lang.String getPassword() { > + return localPassword; > + } > + > + /** > + * Auto generated setter method > + * > + * @param param > + * Password > + */ > + public void setPassword(java.lang.String param) { > + > + this.localPassword = param; > + } > + > + /** > + * databinding method to get an XML representation of this object > + * > + */ > + public javax.xml.stream.XMLStreamReader getPullParser( > + javax.xml.namespace.QName qName) { > + > + java.util.ArrayList elementList = new java.util.ArrayList(); > + java.util.ArrayList attribList = new java.util.ArrayList(); > + > + elementList.add(new javax.xml.namespace.QName( > + "http://www.wso2.com/types", "clientinfo")); > + elementList.add(localClientInfo); > + > + elementList.add(new javax.xml.namespace.QName("", "password")); > + elementList.add(org.apache.axis2.databinding.utils.ConverterUtil > + .convertToString(localPassword)); > + > + return org.apache.axis2.databinding.utils.ADBPullParser > + .createPullParser(qName, elementList.toArray(), attribList > + .toArray()); > + > + } > + > + /** > + * Factory class that keeps the parse method > + */ > + public static class Factory { > + /** > + * static method to create the object > + */ > + public static CreateAccountRequest parse( > + javax.xml.stream.XMLStreamReader reader) > + throws java.lang.Exception { > + CreateAccountRequest object = new CreateAccountRequest(); > + try { > + int event = reader.getEventType(); > + int count = 0; > + int argumentCount = 2; > + boolean done = false; > + // event better be a START_ELEMENT. if not we should go up to > + // the start element here > + while (!reader.isStartElement()) { > + event = reader.next(); > + } > + > + while (!done) { > + if (javax.xml.stream.XMLStreamConstants.START_ELEMENT == > event) { > + > + if ("clientinfo".equals(reader.getLocalName())) { > + > + object > + .setClientInfo(ClientInfo.Factory > + .parse(reader)); > + count++; > + > + } > + > + if ("password".equals(reader.getLocalName())) { > + > + String content = reader.getElementText(); > + object > + > .setPassword(org.apache.axis2.databinding.utils.ConverterUtil > + .convertTostring(content)); > + count++; > + > + } > + > + } > + > + if (argumentCount == count) { > + done = true; > + } > + > + if (!done) { > + event = reader.next(); > + } > + > + } > + > + } catch (javax.xml.stream.XMLStreamException e) { > + throw new java.lang.Exception(e); > + } > + > + return object; > + } > + }// end of factory class > + > +} > > > -- Davanum Srinivas : http://wso2.com/blogs/
