You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2014/07/12 01:51:41 UTC

svn commit: r1609866 - in /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj: NodeImpl.java ProxyNode.java SOAPBodyElementImpl.java SOAPBodyImpl.java SOAPElementImpl.java SOAPHeaderImpl.java

Author: veithen
Date: Fri Jul 11 23:51:40 2014
New Revision: 1609866

URL: http://svn.apache.org/r1609866
Log:
More SAAJ fixes and cleanups.

Modified:
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/NodeImpl.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/ProxyNode.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyElementImpl.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
    axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/NodeImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/NodeImpl.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/NodeImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/NodeImpl.java Fri Jul 11 23:51:40 2014
@@ -19,6 +19,8 @@
 package org.apache.axis2.saaj;
 
 import javax.xml.soap.Node;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
 
 import org.apache.axiom.om.OMNode;
 
@@ -26,4 +28,16 @@ public abstract class NodeImpl<T extends
     public NodeImpl(T target, S omTarget) {
         super(target, omTarget);
     }
+
+    public final void detachNode() {
+        omTarget.detach();
+    }
+
+    public final SOAPElement getParentElement() {
+        return (SOAPElement)getParentNode();
+    }
+
+    public void setParentElement(SOAPElement parent) throws SOAPException {
+        (((SOAPElementImpl<?>)parent).omTarget).addChild(this.omTarget);
+    }
 }

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/ProxyNode.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/ProxyNode.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/ProxyNode.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/ProxyNode.java Fri Jul 11 23:51:40 2014
@@ -20,12 +20,10 @@
 package org.apache.axis2.saaj;
 
 import org.apache.axiom.om.OMComment;
-import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMInformationItem;
-import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMText;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -55,7 +53,6 @@ import javax.xml.soap.SOAPException;
 public abstract class ProxyNode<T extends org.w3c.dom.Node, S extends OMInformationItem> implements Node {
     protected final T target;
     protected final S omTarget;
-    protected SOAPElement parentElement;
     static final String SAAJ_NODE = "saaj.node";
 
     public ProxyNode(T target, S omTarget) {
@@ -73,35 +70,6 @@ public abstract class ProxyNode<T extend
     }
 
     /**
-     * Removes this <code>Node</code> object from the tree. Once removed, this node can be garbage
-     * collected if there are no application references to it.
-     */
-    public void detachNode() {
-        this.detach();
-    }
-
-    public OMNode detach() {
-        parentElement = null;
-        return null;
-    }
-
-    /**
-     * Removes this <code>Node</code> object from the tree. Once removed, this node can be garbage
-     * collected if there are no application references to it.
-     */
-    public SOAPElement getParentElement() {
-        return this.parentElement;
-    }
-
-    public OMContainer getParent() {
-        return (OMContainer)this.parentElement;
-    }
-
-    /* public OMNode getOMNode() {
-        return omNode;
-    }*/
-
-    /**
      * Notifies the implementation that this <code>Node</code> object is no longer being used by the
      * application and that the implementation is free to reuse this object for nodes that may be
      * created later.
@@ -114,19 +82,6 @@ public abstract class ProxyNode<T extend
         // There is no implementation in Axis 1.2 also
     }
 
-    /**
-     * Sets the parent of this <code>Node</code> object to the given <code>SOAPElement</code>
-     * object.
-     *
-     * @param parent the <code>SOAPElement</code> object to be set as the parent of this
-     *               <code>Node</code> object
-     * @throws SOAPException if there is a problem in setting the parent to the given element
-     * @see #getParentElement() getParentElement()
-     */
-    public void setParentElement(SOAPElement parent) throws SOAPException {
-        this.parentElement = parent;
-    }
-
     public void setType(int nodeType) throws OMException {
         throw new UnsupportedOperationException("TODO");
     }
@@ -235,21 +190,20 @@ public abstract class ProxyNode<T extend
         }
     }
     
-    // TODO: the existence of this method probably indicates a problem in TextImplEx
     public org.w3c.dom.Node getParentNode() {
-        return null;
+        return toSAAJNode(target.getParentNode());
     }
 
     public final boolean hasAttributes() {
-        return parentElement.hasAttributes();
+        return target.hasAttributes();
     }
 
     public final boolean isSupported(String feature, String version) {
-        return parentElement.isSupported(feature, version);
+        return target.isSupported(feature, version);
     }
 
     public final String getBaseURI() {
-        return parentElement.getBaseURI();
+        return target.getBaseURI();
     }
 
     public final String getNodeValue() throws DOMException {

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyElementImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyElementImpl.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyElementImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyElementImpl.java Fri Jul 11 23:51:40 2014
@@ -39,7 +39,7 @@ public class SOAPBodyElementImpl<T exten
         if (!(parent instanceof SOAPBody)) {
             throw new IllegalArgumentException("Parent is not a SOAPBody");
         }
-        this.parentElement = parent;
+        super.setParentElement(parent);
     }
 
     public SOAPElement addAttribute(QName qname, String value) throws SOAPException {

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java Fri Jul 11 23:51:40 2014
@@ -21,7 +21,6 @@ package org.apache.axis2.saaj;
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
 import org.apache.axiom.soap.SOAP11Version;
 import org.apache.axiom.soap.SOAP12Version;
 import org.apache.axiom.soap.SOAPFactory;
@@ -124,12 +123,12 @@ public class SOAPBodyImpl extends SOAPEl
         if (namespaceURI == null || namespaceURI.trim().length() == 0) {
             childEle =
                 new SOAPBodyElementImpl<OMElement>(
-                        (OMElement)getOwnerDocument().createElement(localName));
+                        (OMElement)target.getOwnerDocument().createElement(localName));
         } else {
             omTarget.declareNamespace(namespaceURI, prefix);
             childEle =
                 new SOAPBodyElementImpl<OMElement>(
-                        (OMElement)getOwnerDocument().createElementNS(namespaceURI,
+                        (OMElement)target.getOwnerDocument().createElementNS(namespaceURI,
                                                                         localName));            
         }
 
@@ -477,15 +476,6 @@ public class SOAPBodyImpl extends SOAPEl
         return saajEle;
     }
 
-    public void detachNode() {
-        this.detach();
-    }
-
-    public OMNode detach() {
-        this.parentElement = null;
-        return this.omTarget.detach();
-    }
-
     public Iterator getChildElements(Name name) {
         QName qName = new QName(name.getURI(), name.getLocalName());
         return getChildren(omTarget.getChildrenWithName(qName));

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java Fri Jul 11 23:51:40 2014
@@ -640,30 +640,6 @@ public class SOAPElementImpl<T extends O
     }
 
     /**
-     * Returns the parent element of this <code>Node</code> object. This method can throw an
-     * <code>UnsupportedOperationException</code> if the tree is not kept in memory.
-     *
-     * @return the <code>SOAPElement</code> object that is the parent of this <code>Node</code>
-     *         object or <code>null</code> if this <code>Node</code> object is root
-     * @throws UnsupportedOperationException if the whole tree is not kept in memory
-     * @see #setParentElement(javax.xml.soap.SOAPElement) setParentElement(javax.xml.soap.SOAPElement)
-     */
-    public SOAPElement getParentElement() {
-        if (this.parentElement == null) {
-            Node parentNode = toSAAJNode(target.getParentNode());
-            if (parentNode instanceof SOAPElement) {
-                this.parentElement = (SOAPElement) parentNode;
-            }
-        }
-        return this.parentElement;
-    }
-
-    public void setParentElement(SOAPElement parent) throws SOAPException {
-        this.parentElement = parent;
-        (((SOAPElementImpl<? extends OMElement>)parent).omTarget).addChild(this.omTarget);
-    }
-
-    /**
      * Returns the the value of the immediate child of this <code>Node</code> object if a child
      * exists and its value is text.
      *
@@ -691,19 +667,6 @@ public class SOAPElementImpl<T extends O
         return super.clone();
     }
 
-    public Node getParentNode() {
-        Node parentNode = null;
-        if (this.parentElement == null) {
-            parentNode = toSAAJNode(target.getParentNode());
-            if (parentNode instanceof SOAPElement) {
-                this.parentElement = (SOAPElement) parentNode;
-            }
-        } else {
-            parentNode = this.parentElement;
-        }
-        return parentNode;
-    }
-
     /**
      * If this is a Text node then this method will set its value, otherwise it sets the value of
      * the immediate (Text) child of this node. The value of the immediate child of this node can be
@@ -732,16 +695,6 @@ public class SOAPElementImpl<T extends O
         }
     }
 
-    public void detachNode() {
-        this.detach();
-    }
-
-    public OMNode detach() {
-        OMNode omNode = this.omTarget.detach();
-        this.parentElement = null;
-        return omNode;
-    }
-
     public String toString() {
         return target.toString();
     }

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java?rev=1609866&r1=1609865&r2=1609866&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java Fri Jul 11 23:51:40 2014
@@ -21,7 +21,6 @@ package org.apache.axis2.saaj;
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
 import org.apache.axiom.soap.SOAP11Version;
 import org.apache.axiom.soap.SOAP12Version;
 import org.apache.axiom.soap.SOAPFactory;
@@ -31,7 +30,6 @@ import org.w3c.dom.Element;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.Name;
-import javax.xml.soap.Node;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPHeader;
@@ -363,14 +361,4 @@ public class SOAPHeaderImpl extends SOAP
         }
         return childElements.iterator();
     }
-
-    public void detachNode() {
-        this.detach();
-    }
-
-    public OMNode detach() {
-        OMNode omNode = omTarget.detach();
-        parentElement = null;
-        return omNode;
-    }
 }