Author: veithen
Date: Tue Nov 15 00:52:28 2011
New Revision: 1201986

URL: http://svn.apache.org/viewvc?rev=1201986&view=rev
Log:
Merged r1201467 to the 1.6 branch to make sure that the build succeeds with 
Axiom 1.2.13-SNAPSHOT.

Modified:
    axis/axis2/java/core/branches/1_6/   (props changed)
    
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
    
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java

Propchange: axis/axis2/java/core/branches/1_6/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Nov 15 00:52:28 2011
@@ -1 +1 @@
-/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1163389,1166038,1166040,1166132,1167045,1174618,1184808,1184810,1184816,1185504,1190469,1190499,1195893,1195972,1195982,1198288,1201863,1201957
+/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1163389,1166038,1166040,1166132,1167045,1174618,1184808,1184810,1184816,1185504,1190469,1190499,1195893,1195972,1195982,1198288,1201467,1201863,1201957

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?rev=1201986&r1=1201985&r2=1201986&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
 Tue Nov 15 00:52:28 2011
@@ -173,10 +173,23 @@ public class SOAPElementImpl extends Nod
     /* (non-Javadoc)
     * @see javax.xml.soap.SOAPElement#addChildElement(java.lang.String, 
java.lang.String, java.lang.String)
     */
-    public SOAPElement addChildElement(String localName, String prefix, String 
uri)
+    public SOAPElement addChildElement(String localName, String prefix, String 
namespaceURI)
             throws SOAPException {
-        OMNamespace omNamespace = prefix == null || prefix.length() == 0 ? 
element.declareDefaultNamespace(uri) : element.declareNamespace(uri, prefix);
-        return addChildElement(localName, omNamespace.getPrefix());
+        if (prefix == null) {
+            prefix = "";
+        }
+        SOAPElementImpl childEle =
+                new SOAPElementImpl((ElementImpl)getOwnerDocument().
+                        createElementNS(namespaceURI, prefix.length() == 0 ? 
localName : prefix + ":" + localName));
+    
+        childEle.element.setUserData(SAAJ_NODE, childEle, null);
+        childEle.element.setNamespace(prefix.length() == 0
+                ? childEle.element.declareDefaultNamespace(namespaceURI)
+                : childEle.element.declareNamespace(namespaceURI, prefix));
+        element.appendChild(childEle.element);
+        ((NodeImpl)childEle.element.getParentNode()).setUserData(SAAJ_NODE, 
this, null);
+        childEle.setParentElement(this);
+        return childEle;
     }
 
     /* (non-Javadoc)
@@ -189,18 +202,7 @@ public class SOAPElementImpl extends Nod
             throw new SOAPException("Namespace not declared for the give 
prefix: " + prefix);
         }
 
-        SOAPElementImpl childEle =
-                new SOAPElementImpl((ElementImpl)getOwnerDocument().
-                        createElementNS(namespaceURI, prefix + ":" + 
localName));
-
-        childEle.element.setUserData(SAAJ_NODE, childEle, null);
-        childEle.element.setNamespace(prefix == null || prefix.length() == 0
-                ? childEle.element.declareDefaultNamespace(namespaceURI)
-                : childEle.element.declareNamespace(namespaceURI, prefix));
-        element.appendChild(childEle.element);
-        ((NodeImpl)childEle.element.getParentNode()).setUserData(SAAJ_NODE, 
this, null);
-        childEle.setParentElement(this);
-        return childEle;
+        return addChildElement(localName, prefix, namespaceURI);
     }
 
     /* (non-Javadoc)

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java?rev=1201986&r1=1201985&r2=1201986&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPElementTest.java
 Tue Nov 15 00:52:28 2011
@@ -38,6 +38,7 @@ import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPFactory;
 import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
@@ -196,6 +197,31 @@ public class SOAPElementTest extends Ass
     }
 
     @Validated @Test
+    public void testAddChildElementWithUndeclaredNamespace() throws Exception {
+        SOAPElement element = SOAPFactory.newInstance().createElement("test");
+        SOAPElement child = element.addChildElement("test", "p", "urn:ns");
+        assertEquals(0, element.getAttributes().getLength());
+        assertEquals("urn:ns", child.getNamespaceURI());
+        assertEquals("p", child.getPrefix());
+        assertEquals("test", child.getLocalName());
+        Attr nsDecl = 
child.getAttributeNodeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "p");
+        assertNotNull(nsDecl);
+        assertEquals("urn:ns", nsDecl.getValue());
+    }
+    
+    @Validated @Test
+    public void testAddChildElementWithDeclaredNamespace() throws Exception {
+        SOAPElement element = SOAPFactory.newInstance().createElement("test");
+        element.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:p", 
"urn:ns");
+        SOAPElement child = element.addChildElement("test", "p", "urn:ns");
+        assertEquals("urn:ns", child.getNamespaceURI());
+        assertEquals("p", child.getPrefix());
+        assertEquals("test", child.getLocalName());
+        // TODO: don't know how to fix this :-(
+//        assertEquals(0, child.getAttributes().getLength());
+    }
+    
+    @Validated @Test
     public void testAddChildElement() throws Exception {
         String s = "MyName1";
         String p = "MyPrefix1";


Reply via email to