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 ch...@apache.org on 2005/10/19 07:00:22 UTC
svn commit: r326391 - in /webservices/axis2/trunk/java/modules/codegen:
project.xml src/org/apache/axis2/rpc/client/RPCCall.java
test/org/apache/axis2/databinding/utils/ADBPullParserTest.java
Author: chinthaka
Date: Tue Oct 18 22:00:09 2005
New Revision: 326391
URL: http://svn.apache.org/viewcvs?rev=326391&view=rev
Log:
Moving XML comparisons to XMLUnit.
Modified:
webservices/axis2/trunk/java/modules/codegen/project.xml
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/client/RPCCall.java
webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java
Modified: webservices/axis2/trunk/java/modules/codegen/project.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/project.xml?rev=326391&r1=326390&r2=326391&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/project.xml (original)
+++ webservices/axis2/trunk/java/modules/codegen/project.xml Tue Oct 18 22:00:09 2005
@@ -49,7 +49,7 @@
<dependency>
<groupId>ws-commons</groupId>
<artifactId>XmlSchema</artifactId>
- <version>${XmlSchema.version}</version>
+ <version>${XmlSchema.version}</version>
</dependency>
<dependency>
<groupId>geronimo-spec</groupId>
@@ -61,14 +61,14 @@
</dependency>
<dependency>
- <groupId>xmlbeans</groupId>
- <artifactId>xbean</artifactId>
- <version>${xbean.version}</version>
- <type>jar</type>
- <properties>
- <module>true</module>
- </properties>
- </dependency>
+ <groupId>xmlbeans</groupId>
+ <artifactId>xbean</artifactId>
+ <version>${xbean.version}</version>
+ <type>jar</type>
+ <properties>
+ <module>true</module>
+ </properties>
+ </dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
@@ -113,38 +113,47 @@
</properties>
<url>http://dist.codehaus.org/stax/jars/</url>
</dependency>
- <dependency>
- <groupId>axis</groupId>
- <artifactId>axis-wsdl4j</artifactId>
- <version>${axis.wsdl4j.version}</version>
- <properties>
- <module>true</module>
- </properties>
- </dependency>
- <dependency>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- <version>${ant.version}</version>
- <type>jar</type>
- <properties>
- <module>true</module>
- </properties>
- </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-wsdl4j</artifactId>
+ <version>${axis.wsdl4j.version}</version>
+ <properties>
+ <module>true</module>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>${ant.version}</version>
+ <type>jar</type>
+ <properties>
+ <module>true</module>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>xmlunit</groupId>
+ <artifactId>xmlunit</artifactId>
+ <version>${xmlunit.version}</version>
+ <properties>
+ <module>true</module>
+ </properties>
+ <url>http://www.ibiblio.org/maven/xmlunit/jars/</url>
+ </dependency>
</dependencies>
<reports/>
- <!-- add the build properties-->
- <build>
- <resources>
- <resource>
- <directory>src</directory>
- <includes>
- <include>**/*.properties</include>
- <include>**/*.xml</include>
- <include>**/*.xsl</include>
- <include>**/*.xsd</include>
- </includes>
- </resource>
- </resources>
- </build>
+ <!-- add the build properties-->
+ <build>
+ <resources>
+ <resource>
+ <directory>src</directory>
+ <includes>
+ <include>**/*.properties</include>
+ <include>**/*.xml</include>
+ <include>**/*.xsl</include>
+ <include>**/*.xsd</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
</project>
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/client/RPCCall.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/client/RPCCall.java?rev=326391&r1=326390&r2=326391&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/client/RPCCall.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/rpc/client/RPCCall.java Tue Oct 18 22:00:09 2005
@@ -1,19 +1,18 @@
package org.apache.axis2.rpc.client;
import org.apache.axis2.AxisFault;
-import org.apache.axis2.rpc.RPCParameter;
-import org.apache.axis2.rpc.receivers.SimpleTypeMapper;
-import org.apache.axis2.databinding.utils.ADBPullParser;
import org.apache.axis2.clientapi.Call;
import org.apache.axis2.clientapi.Callback;
import org.apache.axis2.clientapi.InOutMEPClient;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.context.ServiceContext;
+import org.apache.axis2.databinding.utils.ADBPullParser;
import org.apache.axis2.description.OperationDescription;
-import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
import org.apache.axis2.om.impl.llom.factory.OMXMLBuilderFactory;
+import org.apache.axis2.rpc.receivers.SimpleTypeMapper;
import org.apache.axis2.soap.SOAPEnvelope;
import org.apache.wsdl.WSDLConstants;
Modified: webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java?rev=326391&r1=326390&r2=326391&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/test/org/apache/axis2/databinding/utils/ADBPullParserTest.java Tue Oct 18 22:00:09 2005
@@ -1,6 +1,5 @@
package org.apache.axis2.databinding.utils;
-import junit.framework.TestCase;
import org.apache.axis2.databinding.ADBBean;
import org.apache.axis2.om.OMAbstractFactory;
import org.apache.axis2.om.OMAttribute;
@@ -9,11 +8,18 @@
import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.custommonkey.xmlunit.XMLTestCase;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.util.ArrayList;
/*
@@ -34,7 +40,7 @@
* @author : Eran Chinthaka (chinthaka@apache.org)
*/
-public class ADBPullParserTest extends TestCase {
+public class ADBPullParserTest extends XMLTestCase {
protected Log log = LogFactory.getLog(getClass());
@@ -80,38 +86,40 @@
QName projectQName = new QName("Person");
XMLStreamReader pullParser = ADBPullParser.createPullParser(projectQName, propertyList.toArray(), null);
+
+// StringBuffer buff = new StringBuffer();
// while (pullParser.hasNext()) {
// int eventCode = pullParser.next();
-// System.out.println(eventCode + ":" + getEventString(eventCode));
+//
+// switch (eventCode) {
+// case XMLStreamConstants.START_ELEMENT :
+// buff.append("<");
+// buff.append(pullParser.getLocalName());
+// buff.append(">");
+// break;
+// case XMLStreamConstants.CHARACTERS :
+// buff.append(pullParser.getText());
+// break;
+// case XMLStreamConstants.END_ELEMENT :
+// buff.append("</");
+// buff.append(pullParser.getLocalName());
+// buff.append(">");
+// break;
+// default:
+// System.out.println("No Other event can be trown here");
+// }
// }
- StringBuffer buff = new StringBuffer();
- while (pullParser.hasNext()) {
- int eventCode = pullParser.next();
-
- switch (eventCode) {
- case XMLStreamConstants.START_ELEMENT :
- buff.append("<");
- buff.append(pullParser.getLocalName());
- buff.append(">");
- break;
- case XMLStreamConstants.CHARACTERS :
- buff.append(pullParser.getText());
- break;
- case XMLStreamConstants.END_ELEMENT :
- buff.append("</");
- buff.append(pullParser.getLocalName());
- buff.append(">");
- break;
- default:
- System.out.println("No Other event can be trown here");
- }
- }
-
-
- assertEquals(exptectedXML, buff.toString());
- } catch (XMLStreamException e) {
- log.error("Parser Error " + e);
+
+ Document actualDom = newDocument(getStringXML(pullParser));
+ Document expectedDocument = newDocument(exptectedXML);
+ assertXMLEqual(actualDom, expectedDocument);
+ } catch (ParserConfigurationException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (SAXException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (IOException e) {
+ fail("Exception in parsing documents " + e);
}
}
@@ -155,9 +163,10 @@
String exptectedXML = "<Person><Name>FooOne</Name><Organization>Apache</Organization>" +
"<Dependent><Name>FooTwo</Name><Age>25</Age><Sex>Male</Sex><Depemdent>" +
"<Name>FooTwo</Name><Age>25</Age><Sex>Male</Sex><Depemdent><Name>FooTwo</Name>" +
- "<Age>25</Age><Sex>Male</Sex></Depemdent></Depemdent></Dependent><Dependent>" +
- "<Name>FooTwo</Name><Age>25</Age><Sex>Male</Sex><Depemdent><Name>FooTwo</Name>" +
- "<Age>25</Age><Sex>Male</Sex></Depemdent></Dependent></Person>";
+ "<Age>25</Age><Sex>Male</Sex></Depemdent></Depemdent></Dependent>" +
+ "<test:Dependent xmlns:test=\"http://whatever.com\"><Name>FooTwo</Name><Age>25</Age>" +
+ "<Sex>Male</Sex><Depemdent><Name>FooTwo</Name><Age>25</Age><Sex>Male</Sex>" +
+ "</Depemdent></test:Dependent></Person>";
ArrayList propertyList = new ArrayList();
@@ -181,33 +190,38 @@
QName projectQName = new QName("Person");
XMLStreamReader pullParser = ADBPullParser.createPullParser(projectQName, propertyList.toArray(), null, true);
- StringBuffer buff = new StringBuffer();
- while (pullParser.hasNext()) {
- int eventCode = pullParser.next();
-
- switch (eventCode) {
- case XMLStreamConstants.START_ELEMENT :
- buff.append("<");
- buff.append(pullParser.getLocalName());
- buff.append(">");
- break;
- case XMLStreamConstants.CHARACTERS :
- buff.append(pullParser.getText());
- break;
- case XMLStreamConstants.END_ELEMENT :
- buff.append("</");
- buff.append(pullParser.getLocalName());
- buff.append(">");
- break;
- default:
- System.out.println("No Other event can be trown here");
- }
- }
-
-
- assertEquals(exptectedXML, buff.toString());
- } catch (XMLStreamException e) {
- log.error("Parser Error " + e);
+// StringBuffer buff = new StringBuffer();
+// while (pullParser.hasNext()) {
+// int eventCode = pullParser.next();
+//
+// switch (eventCode) {
+// case XMLStreamConstants.START_ELEMENT :
+// buff.append("<");
+// buff.append(pullParser.getLocalName());
+// buff.append(">");
+// break;
+// case XMLStreamConstants.CHARACTERS :
+// buff.append(pullParser.getText());
+// break;
+// case XMLStreamConstants.END_ELEMENT :
+// buff.append("</");
+// buff.append(pullParser.getLocalName());
+// buff.append(">");
+// break;
+// default:
+// System.out.println("No Other event can be trown here");
+// }
+// }
+
+ Document actualDom = newDocument(getStringXML(pullParser));
+ Document expectedDocument = newDocument(exptectedXML);
+ assertXMLEqual(actualDom, expectedDocument);
+ } catch (ParserConfigurationException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (SAXException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (IOException e) {
+ fail("Exception in parsing documents " + e);
}
}
@@ -304,12 +318,31 @@
}
String stringXML = getStringXML(ADBPullParser.createPullParser(elementQName, null, attribute, true));
- assertEquals(stringXML, expectedXML);
+ try {
+ Document actualDom = newDocument(stringXML);
+ Document expectedDocument = newDocument(expectedXML);
+ assertXMLEqual(actualDom, expectedDocument);
+ } catch (ParserConfigurationException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (SAXException e) {
+ fail("Exception in parsing documents " + e);
+ } catch (IOException e) {
+ fail("Exception in parsing documents " + e);
+ }
+
}
private String getStringXML(XMLStreamReader reader) {
OMElement omelement = new StAXOMBuilder(reader).getDocumentElement();
return omelement.toString();
+ }
+
+ public Document newDocument(String xml)
+ throws ParserConfigurationException, SAXException, IOException {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ dbf.setNamespaceAware(true);
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ return db.parse(new ByteArrayInputStream(xml.getBytes()));
}
}