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 2005/04/27 18:09:46 UTC
svn commit: r165003 - in
/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj: ./ bin/
src/java/javax/xml/soap/ src/java/org/apache/axis/saaj/
src/test/org/apache/axis/saaj/
Author: venkat
Date: Wed Apr 27 09:09:45 2005
New Revision: 165003
URL: http://svn.apache.org/viewcvs?rev=165003&view=rev
Log:
Adding files for SAAJ implementation over OM - from Ashutosh.
This check has some test cases. Thanks Ashu !
Added:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPFactoryImpl.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestHeaders.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestPrefixes.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPElement.java
Removed:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/bin/
Modified:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/.classpath
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/javax/xml/soap/SOAPFactory.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPPartImpl.java
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/.classpath
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/.classpath?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/.classpath (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/.classpath Wed Apr 27 09:09:45 2005
@@ -3,20 +3,11 @@
<classpathentry kind="src" path="src/java"/>
<classpathentry kind="src" path="src/test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/stax-api-1.0.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-core-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-deployment-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-http-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-mail-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-om-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-Samples-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-Tools-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/axis2-wsdl-M1.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/commons-fileupload-1.0.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/commons-logging-1.0.3.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/log4j-1.2.8.jar"/>
- <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/stax-1.1.1-dev.jar"/>
<classpathentry kind="lib" path="C:/Apache/ws-axis/java/lib/mailapi_1_3_1.jar"/>
<classpathentry kind="lib" path="C:/Apache/ws-axis/java/lib/activation.jar"/>
+ <classpathentry kind="lib" path="C:/Apache/ws-axis/java/lib/junit.jar"/>
+ <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/stax-1.1.1-dev.jar"/>
+ <classpathentry kind="lib" path="C:/tomcat5/webapps/axis2/WEB-INF/lib/stax-api-1.0.jar"/>
+ <classpathentry kind="src" path="/Axis2"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/readme.txt Wed Apr 27 09:09:45 2005
@@ -19,6 +19,10 @@
13th April 2005
Fixed some bugs related to NullPointerException. Provided test cases to check correctness of SOAP
-Envelope and SOAP body.
+Envelope
+
+27th April
+Added some more code for some functions and more test cases for soapbody, header, element, prefixes etc
+
Ashutosh Shahi
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/javax/xml/soap/SOAPFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/javax/xml/soap/SOAPFactory.java?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/javax/xml/soap/SOAPFactory.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/javax/xml/soap/SOAPFactory.java Wed Apr 27 09:09:45 2005
@@ -143,5 +143,5 @@
private static final String SF_PROPERTY = "javax.xml.soap.SOAPFactory";
private static final String DEFAULT_SF =
- "org.apache.axis.soap.SOAPFactoryImpl";
+ "org.apache.axis.saaj.SOAPFactoryImpl";
}
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/MessageFactoryImpl.java Wed Apr 27 09:09:45 2005
@@ -37,7 +37,8 @@
public SOAPMessage createMessage(MimeHeaders mimeheaders,
InputStream inputstream) throws IOException, SOAPException {
// TODO Auto-generated method stub
- return null;
+ SOAPMessageImpl message = new SOAPMessageImpl(inputstream, false,mimeheaders);
+ return message;
}
}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPFactoryImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPFactoryImpl.java?rev=165003&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPFactoryImpl.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPFactoryImpl.java Wed Apr 27 09:09:45 2005
@@ -0,0 +1,75 @@
+/*
+ * Created on Apr 27, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import javax.xml.soap.Detail;
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+
+import org.apache.axis.om.OMElement;
+import org.apache.axis.om.OMFactory;
+
+/**
+ * @author shaas02
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class SOAPFactoryImpl extends javax.xml.soap.SOAPFactory {
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createElement(javax.xml.soap.Name)
+ */
+ public SOAPElement createElement(Name name) throws SOAPException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createElement(java.lang.String)
+ */
+ public SOAPElement createElement(String localName) throws SOAPException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createElement(java.lang.String, java.lang.String, java.lang.String)
+ */
+ public SOAPElement createElement(String localName, String prefix, String uri)
+ throws SOAPException {
+ OMElement newOMElement = OMFactory.newInstance().createOMElement(localName, uri, prefix);
+ return new SOAPElementImpl(newOMElement);
+ }
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createDetail()
+ */
+ public Detail createDetail() throws SOAPException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createName(java.lang.String, java.lang.String, java.lang.String)
+ */
+ public Name createName(String localName, String prefix, String uri)
+ throws SOAPException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.xml.soap.SOAPFactory#createName(java.lang.String)
+ */
+ public Name createName(String localName) throws SOAPException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPMessageImpl.java Wed Apr 27 09:09:45 2005
@@ -16,6 +16,8 @@
import javax.xml.soap.SOAPPart;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPHeader;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamWriter;
import org.apache.axis.transport.http.HTTPConstants;
@@ -32,12 +34,24 @@
private MimeHeaders headers;
public SOAPMessageImpl(Object initialContents){
+ try{
setup(initialContents, false, null, null, null);
+ } catch(SOAPException e){
+ e.printStackTrace();
+ }
}
+ public SOAPMessageImpl(Object initialContents, boolean bodyInStream, javax.xml.soap.MimeHeaders headers) {
+ try{
+ setup(initialContents, bodyInStream, null, null, (MimeHeaders)headers);
+ } catch(SOAPException e){
+ e.printStackTrace();
+ }
+ }
+
private void setup(Object initialContents, boolean bodyInStream,
String contentType, String contentLocation,
- MimeHeaders mimeHeaders){
+ MimeHeaders mimeHeaders)throws SOAPException{
if(null == mSOAPPart)
mSOAPPart = new SOAPPartImpl(this, initialContents, bodyInStream);
else
@@ -171,8 +185,13 @@
* @see javax.xml.soap.SOAPMessage#writeTo(java.io.OutputStream)
*/
public void writeTo(OutputStream out) throws SOAPException, IOException {
- // TODO Auto-generated method stub
-
+ try{
+ XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(out);
+ ((SOAPEnvelopeImpl)mSOAPPart.getEnvelope()).getOMEnvelope().serialize(writer, true);
+ writer.flush();
+ } catch(Exception e){
+ throw new SOAPException(e);
+ }
}
}
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPPartImpl.java?rev=165003&r1=165002&r2=165003&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPPartImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/java/org/apache/axis/saaj/SOAPPartImpl.java Wed Apr 27 09:09:45 2005
@@ -6,6 +6,8 @@
*/
package org.apache.axis.saaj;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.util.Iterator;
import javax.xml.soap.MimeHeaders;
@@ -14,6 +16,10 @@
import javax.xml.soap.SOAPPart;
import javax.xml.transform.Source;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLInputFactory;
+import org.apache.axis.om.impl.llom.builder.StAXSOAPModelBuilder;
+
import org.apache.axis.transport.http.HTTPConstants;
import org.apache.axis.util.SessionUtils;
import org.w3c.dom.Attr;
@@ -48,15 +54,28 @@
*/
private String currentEncoding = "UTF-8";
- public SOAPPartImpl(SOAPMessageImpl parent, Object initialContents, boolean isBodyStream){
+ public SOAPPartImpl(SOAPMessageImpl parent, Object initialContents, boolean isBodyStream) throws SOAPException{
setMimeHeader(HTTPConstants.HEADER_CONTENT_ID , SessionUtils.generateSessionId());
setMimeHeader(HTTPConstants.HEADER_CONTENT_TYPE , "text/xml");
+ StAXSOAPModelBuilder stAXSOAPModelBuilder;
msgObject = parent;
- if(initialContents instanceof SOAPEnvelope){
- ((SOAPEnvelopeImpl)initialContents).setOwnerDocument(this);
- envelope = initialContents;
+ try{
+ if(initialContents instanceof SOAPEnvelope){
+ ((SOAPEnvelopeImpl)initialContents).setOwnerDocument(this);
+ envelope = initialContents;
+ } else if(initialContents instanceof InputStream){
+ //XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader((InputStream)initialContents);
+ InputStreamReader inr = new InputStreamReader((InputStream)initialContents);
+ stAXSOAPModelBuilder = new StAXSOAPModelBuilder(XMLInputFactory.newInstance().createXMLStreamReader(inr));
+ org.apache.axis.om.SOAPEnvelope omEnv = stAXSOAPModelBuilder.getSOAPEnvelope();
+ envelope = new SOAPEnvelopeImpl(omEnv);
+ ((SOAPEnvelopeImpl)envelope).setOwnerDocument(this);
+ }
+
+ }catch(Exception e){
+ throw new SOAPException(e);
}
}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestHeaders.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestHeaders.java?rev=165003&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestHeaders.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestHeaders.java Wed Apr 27 09:09:45 2005
@@ -0,0 +1,57 @@
+/*
+ * Created on Apr 15, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import junit.framework.TestCase;
+import java.io.ByteArrayOutputStream;
+import java.util.Iterator;
+
+import javax.xml.soap.Name;
+import javax.xml.soap.SOAPElement;
+
+/**
+ * @author Ashutosh Shahi ashutosh.shahi@gmail.com
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestHeaders extends TestCase {
+
+ private final String actor = "ACTOR#1";
+ private final String localName = "Local1";
+ private final String namespace = "http://ws.apache.org";
+ private final String prefix = "P1";
+
+ public TestHeaders(String name) {
+ super(name);
+ }
+
+ public void testAddingHeaderElements() throws Exception {
+ javax.xml.soap.SOAPMessage soapMessage = javax.xml.soap.MessageFactory.newInstance().createMessage();
+ javax.xml.soap.SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope();
+ javax.xml.soap.SOAPHeader header = soapEnv.getHeader();
+ header.addChildElement("ebxmlms");
+
+ /*ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ soapMessage.writeTo(baos);
+ String xml = new String(baos.toByteArray());
+ assertTrue(xml.indexOf("ebxmlms") != -1);*/
+
+ Iterator it = header.getChildElements();
+ boolean b = false;
+ while(it.hasNext()){
+ SOAPElement el = (SOAPElement) it.next();
+ String lName = el.getNodeName();
+ if(lName.equalsIgnoreCase("ebxmlms")){
+ b = true;
+ break;
+ }
+ }
+ assertTrue(b);
+ }
+
+}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestPrefixes.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestPrefixes.java?rev=165003&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestPrefixes.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestPrefixes.java Wed Apr 27 09:09:45 2005
@@ -0,0 +1,77 @@
+/*
+ * Created on Apr 26, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import junit.framework.TestCase;
+
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPMessage;
+import javax.xml.soap.SOAPPart;
+import javax.xml.soap.SOAPEnvelope;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPElement;
+
+import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
+
+/**
+ * @author Ashutosh Shahi
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestPrefixes extends TestCase {
+
+ public TestPrefixes(String name) {
+ super(name);
+ }
+
+ public void testAddingPrefixesForChildElements() throws Exception {
+ MessageFactory factory = MessageFactory.newInstance();
+ SOAPMessage msg = factory.createMessage();
+ SOAPPart sp = msg.getSOAPPart();
+ SOAPEnvelope se = sp.getEnvelope();
+ SOAPBody sb = se.getBody();
+ SOAPElement el1 = sb.addBodyElement(se.createName
+ ("element1", "prefix1", "http://www.sun.com"));
+ SOAPElement el2 = el1.addChildElement(se.createName
+ ("element2", "prefix2", "http://www.apache.org"));
+
+ org.apache.axis.om.SOAPEnvelope omEnv = ((SOAPEnvelopeImpl)se).getOMEnvelope();
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ msg.writeTo(baos);
+
+ String xml = new String(baos.toByteArray());
+ System.out.println(xml);
+ assertTrue(xml.indexOf("prefix1") != -1);
+ assertTrue(xml.indexOf("prefix2") != -1);
+ assertTrue(xml.indexOf("http://www.sun.com") != -1);
+ assertTrue(xml.indexOf("http://www.apache.org") != -1);
+ }
+
+ public void testAttribute() throws Exception {
+ String soappacket = "<SOAP-ENV:Envelope xmlns:SOAP-ENV =\"http://schemas.xmlsoap.org/soap/envelope/\"" +
+ "xmlns:xsi =\"http://www.w3.org/1999/XMLSchema-instance\"" +
+ "xmlns:xsd =\"http://www.w3.org/1999/XMLSchema\">" +
+ "<SOAP-ENV:Body>" +
+ "<helloworld name=\"tester\" />" +
+ "</SOAP-ENV:Body>" +
+ "</SOAP-ENV:Envelope>";
+ SOAPMessage msg = MessageFactory.newInstance().createMessage(new MimeHeaders(), new ByteArrayInputStream(soappacket.getBytes()));
+ SOAPBody body = msg.getSOAPPart().getEnvelope().getBody();
+ msg.writeTo(System.out);
+
+ SOAPElement ele = (SOAPElement) body.getChildElements().next();
+ java.util.Iterator attit = ele.getAllAttributes();
+
+ System.out.println(attit.next().getClass());
+
+ //javax.xml.soap.Name n = (javax.xml.soap.Name) attit.next();
+ //assertEquals("Test fail prefix problem",n.getQualifiedName(),"name");
+ }
+
+}
Added: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPElement.java?rev=165003&view=auto
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPElement.java (added)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/saaj/src/test/org/apache/axis/saaj/TestSOAPElement.java Wed Apr 27 09:09:45 2005
@@ -0,0 +1,57 @@
+/*
+ * Created on Apr 27, 2005
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.apache.axis.saaj;
+
+import junit.framework.TestCase;
+
+import javax.xml.soap.SOAPElement;
+import java.util.List;
+
+/**
+ * @author Ashutosh Shahi ashutosh.shahi@gmail.com
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class TestSOAPElement extends TestCase {
+
+ private SOAPElement soapElem;
+
+ protected void setUp() throws Exception
+ {
+ soapElem = SOAPFactoryImpl.newInstance().createElement( "Test", "test", "http://test.apache.org/" );
+ }
+
+ public void testAddTextNode() throws Exception
+ {
+ assertNotNull( soapElem );
+ final String value = "foo";
+ soapElem.addTextNode( value );
+ assertEquals( value, soapElem.getValue() );
+ TextImpl text = assertContainsText( soapElem );
+ assertEquals( value, text.getValue() );
+ }
+
+ private TextImpl assertContainsText( SOAPElement soapElem ){
+ assertTrue( soapElem.hasChildNodes() );
+ List childElems = toList( soapElem.getChildElements() );
+ assertTrue( childElems.size() == 1 );
+ NodeImpl node = (NodeImpl) childElems.get( 0 );
+ assertTrue( node instanceof TextImpl );
+ return (TextImpl) node;
+ }
+
+ private List toList( java.util.Iterator iter )
+ {
+ List list = new java.util.ArrayList();
+ while ( iter.hasNext() )
+ {
+ list.add( iter.next() );
+ }
+ return list;
+ }
+}