[jbossws-commits] JBossWS SVN: r10268 - in stack/native/trunk/modules: testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap and 1 other directories.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Tue Jun 30 12:49:13 EDT 2009
Author: darran.lofthouse at jboss.com
Date: 2009-06-30 12:49:13 -0400 (Tue, 30 Jun 2009)
New Revision: 10268
Added:
stack/native/trunk/modules/testsuite/native-tests/src/test/resources/common/soap/jbws2693.xml
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPElementTestCase.java
Log:
[JBWS-2693] Implement Node.setTextContent().
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2009-06-30 15:36:17 UTC (rev 10267)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/soap/NodeImpl.java 2009-06-30 16:49:13 UTC (rev 10268)
@@ -657,8 +657,17 @@
public void setTextContent(String textContent) throws DOMException
{
- // FIXME setTextContent
- throw new NotImplementedException("setTextContent");
+ NodeList nodes = getChildNodes();
+ for (int i = 0; i < nodes.getLength(); i++)
+ {
+ removeChild((Node)nodes.item(i));
+ }
+
+ if (textContent != null && textContent.length() > 0)
+ {
+ Node node = domNode.getOwnerDocument().createTextNode(textContent);
+ appendChild(node);
+ }
}
public Object setUserData(String key, Object data, UserDataHandler handler)
Modified: stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPElementTestCase.java
===================================================================
--- stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPElementTestCase.java 2009-06-30 15:36:17 UTC (rev 10267)
+++ stack/native/trunk/modules/testsuite/native-tests/src/test/java/org/jboss/test/ws/common/soap/SOAPElementTestCase.java 2009-06-30 16:49:13 UTC (rev 10268)
@@ -22,6 +22,7 @@
package org.jboss.test.ws.common.soap;
import java.io.ByteArrayInputStream;
+import java.io.File;
import java.io.InputStream;
import java.util.Iterator;
@@ -155,7 +156,41 @@
assertEquals(soapFactory.createName("name"), it.next());
assertEquals(soapFactory.createName("species", null, "http://zoofan.net"), it.next());
}
+
+ public void testSetTextContent() throws Exception
+ {
+ InputStream is = getResourceURL("common/soap/jbws2693.xml").openStream();
+ MessageFactory messageFactory = MessageFactory.newInstance();
+ SOAPMessage soapMessage = messageFactory.createMessage(null, is);
+ NodeList nl = soapMessage.getSOAPBody().getChildNodes();
+ SOAPElement echo = null;
+ for (int i = 0; i < nl.getLength() && echo == null; i++)
+ {
+ Object current = nl.item(i);
+ if (current instanceof SOAPElement)
+ {
+ echo = (SOAPElement)current;
+ }
+ }
+ nl = echo.getChildNodes();
+ SOAPElement arg0 = null;
+ for (int i = 0; i < nl.getLength() && arg0 == null; i++)
+ {
+ Object current = nl.item(i);
+ if (current instanceof SOAPElement)
+ {
+ arg0 = (SOAPElement)current;
+ }
+ }
+ String value = arg0.getTextContent();
+ assertEquals("Expected value", "123", value);
+
+ arg0.setTextContent("456");
+ value = arg0.getTextContent();
+ assertEquals("Expected value", "456", value);
+ }
+
/** Return the count of iterator elements, rendering the iterator unusable.
*/
private int getIteratorCount(Iterator i)
Added: stack/native/trunk/modules/testsuite/native-tests/src/test/resources/common/soap/jbws2693.xml
===================================================================
--- stack/native/trunk/modules/testsuite/native-tests/src/test/resources/common/soap/jbws2693.xml (rev 0)
+++ stack/native/trunk/modules/testsuite/native-tests/src/test/resources/common/soap/jbws2693.xml 2009-06-30 16:49:13 UTC (rev 10268)
@@ -0,0 +1,8 @@
+<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:jbw='http://ws.jboss.org/jbws2693'>
+ <soapenv:Header/>
+ <soapenv:Body>
+ <jbw:echo>
+ <arg0>123</arg0>
+ </jbw:echo>
+ </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file
Property changes on: stack/native/trunk/modules/testsuite/native-tests/src/test/resources/common/soap/jbws2693.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
More information about the jbossws-commits
mailing list