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 ru...@apache.org on 2005/08/01 14:21:48 UTC

svn commit: r226778 - in /webservices/axis/trunk/java/modules/xml: src/org/apache/axis2/om/impl/llom/ test-resources/soap/soap11/ test/org/apache/axis2/soap/ test/org/apache/axis2/soap/impl/llom/ test/org/apache/axis2/soap/impl/llom/builder/

Author: ruchithf
Date: Mon Aug  1 05:21:11 2005
New Revision: 226778

URL: http://svn.apache.org/viewcvs?rev=226778&view=rev
Log:
Fixed the missing spaces problem, fixed the exisiting tests to trim the text values before comparison and added a test case to test UTF-16 encoding

Added:
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java
Modified:
    webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
    webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java

Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java Mon Aug  1 05:21:11 2005
@@ -622,8 +622,8 @@
             if (child.getType() == OMNode.TEXT_NODE) {
                 textNode = (OMText) child;
                 if (textNode.getText() != null &&
-                        !"".equals(textNode.getText().trim())) {
-                    childText += textNode.getText().trim();
+                        !"".equals(textNode.getText())) {
+                    childText += textNode.getText();
                 }
             }
             child = child.getNextSibling();

Modified: webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml (original)
+++ webservices/axis/trunk/java/modules/xml/test-resources/soap/soap11/soap11message.xml Mon Aug  1 05:21:11 2005
@@ -25,9 +25,7 @@
             <soapenv:faultcode>
                 env:Sender
             </soapenv:faultcode>
-            <soapenv:faultstring>
-                Sender Timeout
-            </soapenv:faultstring>
+            <soapenv:faultstring>Sender Timeout</soapenv:faultstring>
             <soapenv:faultactor>
                 http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver
             </soapenv:faultactor>
@@ -44,4 +42,5 @@
             </soapenv:detail>
         </soapenv:Fault>
     </soapenv:Body>
-</soapenv:Envelope>
\ No newline at end of file
+</soapenv:Envelope>
+

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultNodeTest.java Mon Aug  1 05:21:11 2005
@@ -72,7 +72,7 @@
     public void testSOAP12GetNodeValueWithParser() {
         assertTrue(
                 "SOAP 1.2 Fault Node Test With Parser : - getNodeValue method returns incorrect value",
-                soap12FaultNodeWithParser.getNodeValue().equals(
+                soap12FaultNodeWithParser.getNodeValue().trim().equals(
                         "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"));
     }
 }

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultRoleTest.java Mon Aug  1 05:21:11 2005
@@ -40,7 +40,7 @@
         soap11FaultRole.setRoleValue("This is only a test");
         assertTrue(
                 "SOAP 1.1 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
-                soap11FaultRole.getRoleValue().equals("This is only a test"));
+                soap11FaultRole.getRoleValue().trim().equals("This is only a test"));
     }
 
     public void testSOAP11GetRoleValue() {
@@ -50,7 +50,7 @@
         soap11FaultRole.setRoleValue("This is only a test");
         assertTrue(
                 "SOAP 1.1 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
-                soap11FaultRole.getRoleValue().equals("This is only a test"));
+                soap11FaultRole.getRoleValue().trim().equals("This is only a test"));
     }
 
     //SOAP 1.2 Fault Role Test (Programaticaly Created)
@@ -58,24 +58,24 @@
         soap12FaultRole.setRoleValue("This is only a test");
         assertTrue(
                 "SOAP 1.2 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
-                soap12FaultRole.getRoleValue().equals("This is only a test"));
+                soap12FaultRole.getRoleValue().trim().equals("This is only a test"));
     }
 
     public void testSOAP12GetRoleValue() {
         assertTrue(
                 "SOAP 1.2 Fault Role Test : - After creating SOAPFaultRole, it has a value",
-                soap12FaultRole.getRoleValue().equals(""));
+                soap12FaultRole.getRoleValue().trim().equals(""));
         soap12FaultRole.setRoleValue("This is only a test");
         assertTrue(
                 "SOAP 1.2 Fault Role Test : - After calling setRoleValue method, getRoleValue method returns incorrect value",
-                soap12FaultRole.getRoleValue().equals("This is only a test"));
+                soap12FaultRole.getRoleValue().trim().equals("This is only a test"));
     }
 
     //SOAP 1.1 Fault Role Test (With Parser)
     public void testSOAP11GetRoleValueWithParser() {
         assertTrue(
                 "SOAP 1.1 Fault Role Test With Parser : - getRoleValue method returns incorrect value",
-                soap11FaultRoleWithParser.getRoleValue().equals(
+                soap11FaultRoleWithParser.getRoleValue().trim().equals(
                         "http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver"));
     }
 
@@ -83,7 +83,7 @@
     public void testSOAP12GetRoleValueWithParser() {
         assertTrue(
                 "SOAP 1.2 Fault Role Test With Parser : - getRoleValue method returns incorrect value",
-                soap12FaultRoleWithParser.getRoleValue().equals(
+                soap12FaultRoleWithParser.getRoleValue().trim().equals(
                         "ultimateReceiver"));
     }
 }

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultTextTest.java Mon Aug  1 05:21:11 2005
@@ -144,7 +144,7 @@
     public void testSOAP11GetTextWithParser() {
         assertTrue(
                 "SOAP 1.1 Fault Text Test With Parser : - getText method returns incorrect string",
-                soap11FaultTextWithParser.getText().equals("Sender Timeout"));
+                soap11FaultTextWithParser.getText().trim().equals("Sender Timeout"));
     }
 
     //SOAP 1.2 Fault Text Test (With Parser)
@@ -169,8 +169,10 @@
     }
 
     public void testSOAP12GetTextWithParser() {
+    	
         assertTrue(
                 "SOAP 1.2 Fault Text Test With Parser : - getText method returns incorrect string",
                 soap12FaultTextWithParser.getText().equals("Sender Timeout"));
+        													
     }
 }

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/SOAPFaultValueTest.java Mon Aug  1 05:21:11 2005
@@ -97,7 +97,7 @@
     public void testSOAP11GetTextWithParser() {
         assertTrue(
                 "SOAP 1.1 Fault Value Test with parser : - value text mismatch",
-                soap11FaultValueWithParser.getText().equals("env:Sender"));
+                soap11FaultValueWithParser.getText().trim().equals("env:Sender"));
     }
 
     //SOAP 1.2 Fault Value(In Fault Code) Test (With Parser)

Added: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java?rev=226778&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java (added)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/CharacterEncodingTest.java Mon Aug  1 05:21:11 2005
@@ -0,0 +1,135 @@
+package org.apache.axis2.soap.impl.llom;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.impl.OMOutputImpl;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
+import org.apache.axis2.soap.impl.llom.builder.StAXSOAPModelBuilder;
+
+
+/**
+ * Test for serialization and deserialization using UTF-16
+ * character encoding 
+ * 
+ * @author Ruchith Fernando (ruchith.fernando@gmail.com)
+ */
+public class CharacterEncodingTest extends TestCase {
+
+	public static final String UTF_8 = "utf-8";
+	public static final String UTF_16 = "utf-16";
+	
+	public CharacterEncodingTest(String name) {
+		super(name);
+	}
+	
+	public void runTest(String value, String expected) throws XMLStreamException, FactoryConfigurationError, IOException {
+		
+		SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
+		SOAPEnvelope envelope = factory.getDefaultEnvelope();
+		String ns = "http://testuri.org";
+		OMNamespace namespace = factory.createOMNamespace(ns,"tst");
+		
+		String ln = "Child";
+		
+		OMElement bodyChild = factory.createOMElement(ln,namespace);
+		bodyChild.addChild(factory.createText(value));
+		
+		envelope.getBody().addChild(bodyChild);
+
+
+		ByteArrayOutputStream byteOutStr = new ByteArrayOutputStream();
+		
+		XMLStreamWriter writer = XMLOutputFactory
+				.newInstance().createXMLStreamWriter(byteOutStr,UTF_16);
+		OMOutputImpl outputImpl = new OMOutputImpl(writer);
+		envelope.serializeWithCache(outputImpl);
+		outputImpl.flush();
+		
+		ByteArrayInputStream byteInStr = new ByteArrayInputStream(byteOutStr.toByteArray());
+		
+		StAXSOAPModelBuilder builder = new StAXSOAPModelBuilder(XMLInputFactory.newInstance().createXMLStreamReader(byteInStr, UTF_16),null);
+
+		SOAPEnvelope resultEnv = builder.getSOAPEnvelope();
+		
+		OMElement bodyChildResult = resultEnv.getBody().getFirstElement();
+		
+		assertNotNull("No child in body element", bodyChildResult);
+		
+		String result = bodyChildResult.getText();
+		
+		assertNotNull("No value for testParam param", result);
+		
+		System.out.println("\nResult: " + result);
+		
+		assertEquals("Expected result not received.", expected, result);
+	
+		
+	}
+	
+    private void runtest(String value) throws Exception {
+        runTest(value, value);
+    }
+    
+    public void testSimpleString() throws Exception {
+        runtest("a simple string");
+    }
+    
+    public void testStringWithApostrophes() throws Exception {
+        runtest("this isn't a simple string");
+    }
+    
+    public void testStringWithEntities() throws Exception {
+        runTest("&amp;&lt;&gt;&apos;&quot;", "&amp;&lt;&gt;&apos;&quot;");
+    }
+    
+    public void testStringWithRawEntities() throws Exception {
+        runTest("&<>'\"", "&<>'\"");
+    }
+    public void testStringWithLeadingAndTrailingSpaces() throws Exception {
+        runtest("          centered          ");
+    }
+    
+    public void testWhitespace() throws Exception {
+        runtest(" \n \t "); // note: \r fails
+    }
+    
+    public void testFrenchAccents() throws Exception {
+        runtest("\u00e0\u00e2\u00e4\u00e7\u00e8\u00e9\u00ea\u00eb\u00ee\u00ef\u00f4\u00f6\u00f9\u00fb\u00fc");
+    }
+    
+    public void testGermanUmlauts() throws Exception {
+        runtest(" Some text \u00df with \u00fc special \u00f6 chars \u00e4.");
+    }
+    
+    public void testWelcomeUnicode() throws Exception {
+        // welcome in several languages
+        runtest(
+          "Chinese (trad.) : \u6b61\u8fce  ");
+    }
+
+    public void testWelcomeUnicode2() throws Exception {
+        // welcome in several languages
+        runtest(
+          "Greek : \u03ba\u03b1\u03bb\u03ce\u03c2 \u03bf\u03c1\u03af\u03c3\u03b1\u03c4\u03b5");
+    }
+
+    public void testWelcomeUnicode3() throws Exception {
+        // welcome in several languages
+        runtest(
+          "Japanese : \u3088\u3046\u3053\u305d");
+    }
+	
+}

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java?rev=226778&r1=226777&r2=226778&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/soap/impl/llom/builder/StAXSOAPModelBuilderTest.java Mon Aug  1 05:21:11 2005
@@ -162,16 +162,23 @@
             assertTrue("SOAP 1.2 :- Header block name space uri mismatch",
                     headerBlock.getNamespace().getName().equals(
                             "http://example.org/ts-tests"));
-            assertTrue("SOAP 1.2 :- Headaer block text mismatch",
-                    headerBlock.getText().equals("foo"));
+            assertTrue("SOAP 1.2 :- Header block text mismatch",
+                    headerBlock.getText().trim().equals("foo"));
 
             Iterator headerBlockAttributes = headerBlock.getAttributes();
             OMAttribute roleAttribute = (OMAttribute) headerBlockAttributes.next();
             assertTrue("SOAP 1.2 :- Role attribute name mismatch",
                     roleAttribute.getLocalName().equals(
                             SOAP12Constants.SOAP_ROLE));
+            
+            System.out.println(roleAttribute.getValue().trim());
+            System.out.println(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI + "/" +
+                    SOAP12Constants.SOAP_ROLE +
+                    "/" +
+                    "ultimateReceiver");
+            
             assertTrue("SOAP 1.2 :- Role value mismatch",
-                    roleAttribute.getValue().equals(
+                    roleAttribute.getValue().trim().equals(
                             SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI + "/" +
                     SOAP12Constants.SOAP_ROLE +
                     "/" +
@@ -306,7 +313,7 @@
                     node.getNamespace().getName().equals(
                             SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
             assertTrue("SOAP 1.2 :- Node value mismatch",
-                    node.getText().equals(
+                    node.getText().trim().equals(
                             "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"));
 
             iteratorInFault.next();
@@ -318,7 +325,7 @@
                     role.getNamespace().getName().equals(
                             SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
             assertTrue("SOAP 1.2 :- Role value mismatch",
-                    role.getText().equals("ultimateReceiver"));
+                    role.getText().trim().equals("ultimateReceiver"));
 
             iteratorInFault.next();
             SOAPFaultDetail detail = (SOAPFaultDetail) iteratorInFault.next();
@@ -330,7 +337,7 @@
                             SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI));
 
             assertTrue("SOAP 1.2 :- Text in detail mismatch",
-                    detail.getText().equals("Details of error"));
+                    detail.getText().trim().equals("Details of error"));
 
             Iterator iteratorInDetail = detail.getChildren();
 
@@ -342,7 +349,7 @@
                     element1.getNamespace().getName().equals(
                             "http:www.sample.org"));
             assertTrue("SOAP 1.2 :- Text value in MaxTime element mismatch",
-                    element1.getText().equals("P5M"));
+                    element1.getText().trim().equals("P5M"));
 
             Iterator attributeIterator = element1.getAttributes();
             OMAttribute attributeInMaxTime = (OMAttribute) attributeIterator.next();
@@ -352,7 +359,7 @@
                     attributeInMaxTime.getNamespace().getName().equals(
                             "http:www.sample.org"));
             assertTrue("SOAP 1.2 :- Attribute value mismatch",
-                    attributeInMaxTime.getValue().equals("This is only a test"));
+                    attributeInMaxTime.getValue().trim().equals("This is only a test"));
 
             iteratorInDetail.next();
             OMElement element2 = (OMElement) iteratorInDetail.next();
@@ -372,7 +379,7 @@
                     element21.getNamespace().getName().equals(
                             "http:www.sample.org"));
             assertTrue("SOAP 1.2 :- Text value in Time element mismatch",
-                    element21.getText().equals("P3M"));
+                    element21.getText().trim().equals("P3M"));
 
             XMLStreamReader sopa11Parser = XMLInputFactory.newInstance()
                     .createXMLStreamReader(new StringReader(soap11Message));
@@ -405,7 +412,7 @@
                     headerBlock.getNamespace().getName().equals(
                             "http://example.org/ts-tests"));
             assertTrue("SOAP 1.1 :- Headaer block text mismatch",
-                    headerBlock.getText().equals("foo"));
+                    headerBlock.getText().trim().equals("foo"));
 
             headerBlockAttributes = headerBlock.getAttributes();
 
@@ -427,7 +434,7 @@
                     actorAttribute.getLocalName().equals(
                             SOAP11Constants.ATTR_ACTOR));
             assertTrue("SOAP 1.1 :- Actor value mismatch",
-                    actorAttribute.getValue().equals(
+                    actorAttribute.getValue().trim().equals(
                             "http://schemas.xmlsoap.org/soap/" +
                     SOAP11Constants.ATTR_ACTOR +
                     "/" +
@@ -471,7 +478,7 @@
                     reason.getNamespace().getName().equals(
                             SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
             assertTrue("SOAP 1.1 :- Fault string value mismatch",
-                    reason.getSOAPText().getText().equals("Sender Timeout"));
+                    reason.getSOAPText().getText().trim().equals("Sender Timeout"));
 
             iteratorInFault.next();
             role = (SOAPFaultRole) iteratorInFault.next();
@@ -482,7 +489,7 @@
                     role.getNamespace().getName().equals(
                             SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
             assertTrue("SOAP 1.1 :- Actor value mismatch",
-                    role.getText().equals(
+                    role.getText().trim().equals(
                             "http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver"));
 
             iteratorInFault.next();
@@ -494,7 +501,7 @@
                     detail.getNamespace().getName().equals(
                             SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI));
             assertTrue("SOAP 1.2 :- Text in detail mismatch",
-                    detail.getText().equals("Details of error"));
+                    detail.getText().trim().equals("Details of error"));
 
             iteratorInDetail = detail.getChildren();
 
@@ -506,7 +513,7 @@
                     element1.getNamespace().getName().equals(
                             "http:www.sample.org"));
             assertTrue("SOAP 1.1 :- Text value in MaxTime element mismatch",
-                    element1.getText().equals("P5M"));
+                    element1.getText().trim().equals("P5M"));
 
             attributeIterator = element1.getAttributes();
             attributeInMaxTime = (OMAttribute) attributeIterator.next();
@@ -536,7 +543,7 @@
                     element21.getNamespace().getName().equals(
                             "http:www.sample.org"));
             assertTrue("SOAP 1.1 :- Text value in Time element mismatch",
-                    element21.getText().equals("P3M"));
+                    element21.getText().trim().equals("P3M"));
 
             iteratorInFault.next();
             OMElement testElement = (OMElement) iteratorInFault.next();
@@ -553,7 +560,7 @@
                     childOfTestElement.getNamespace().getName().equals(
                             "http:www.Test.org"));
             assertTrue("SOAP 1.1 :- Test element child value mismatch",
-                    childOfTestElement.getText().equals("This is only a test"));
+                    childOfTestElement.getText().trim().equals("This is only a test"));
 
         } catch (XMLStreamException e) {
             log.info(e.getMessage());