You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2015/07/18 20:12:58 UTC

svn commit: r1691761 - in /webservices/axiom/trunk: aspects/core-aspects/src/main/java/org/apache/axiom/core/ aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/ implementations/axio...

Author: veithen
Date: Sat Jul 18 18:12:57 2015
New Revision: 1691761

URL: http://svn.apache.org/r1691761
Log:
Unify the setText/setTextContent methods.

Modified:
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttribute.java
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMLeafNodeSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNode.java Sat Jul 18 18:12:57 2015
@@ -37,4 +37,5 @@ public interface CoreParentNode extends
     void build();
     
     String coreGetTextContent(ElementAction elementAction);
+    void coreSetTextContent(String text, DetachPolicy detachPolicy);
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreParentNodeSupport.aj Sat Jul 18 18:12:57 2015
@@ -228,4 +228,13 @@ public aspect CoreParentNodeSupport {
             return textContent;
         }
     }
+    
+    public final void CoreParentNode.coreSetTextContent(String text, DetachPolicy detachPolicy) {
+        coreRemoveChildren(detachPolicy);
+        if (text != null && text.length() > 0) {
+            CoreCharacterData cdata = coreGetNodeFactory().createCharacterData();
+            cdata.coreSetData(text);
+            coreAppendChild(cdata, false);
+        }
+    }
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttribute.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttribute.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttribute.java (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttribute.java Sat Jul 18 18:12:57 2015
@@ -19,8 +19,9 @@
 package org.apache.axiom.dom;
 
 import org.apache.axiom.core.CoreAttribute;
+import org.apache.axiom.core.NonDeferringParentNode;
 import org.w3c.dom.Attr;
 
-public interface DOMAttribute extends Attr, CoreAttribute {
+public interface DOMAttribute extends Attr, CoreAttribute, NonDeferringParentNode {
 
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMAttributeSupport.aj Sat Jul 18 18:12:57 2015
@@ -50,4 +50,8 @@ public aspect DOMAttributeSupport {
     public final String DOMAttribute.getTextContent() {
         return getValue();
     }
+
+    public final void DOMAttribute.setTextContent(String textContent) {
+        coreSetTextContent(textContent, Policies.DETACH_POLICY);
+    }
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentFragmentSupport.aj Sat Jul 18 18:12:57 2015
@@ -75,4 +75,8 @@ public aspect DOMDocumentFragmentSupport
     public final String DOMDocumentFragment.getTextContent() {
         return coreGetTextContent(ElementAction.RECURSE);
     }
+
+    public final void DOMDocumentFragment.setTextContent(String textContent) {
+        coreSetTextContent(textContent, Policies.DETACH_POLICY);
+    }
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj Sat Jul 18 18:12:57 2015
@@ -68,10 +68,14 @@ public aspect DOMDocumentSupport {
         return null;
     }
 
-    public final String DOMDocument.getTextContent() throws DOMException {
+    public final String DOMDocument.getTextContent() {
         return null;
     }
 
+    public final void DOMDocument.setTextContent(String textContent) {
+        // no-op
+    }
+
     public final Element DOMDocument.getDocumentElement() {
         return (Element)coreGetDocumentElement();
     }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMElementSupport.aj Sat Jul 18 18:12:57 2015
@@ -189,4 +189,8 @@ public aspect DOMElementSupport {
     public final String DOMElement.getTextContent() {
         return coreGetTextContent(ElementAction.RECURSE);
     }
+
+    public final void DOMElement.setTextContent(String textContent) {
+        coreSetTextContent(textContent, Policies.DETACH_POLICY);
+    }
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj Sat Jul 18 18:12:57 2015
@@ -55,7 +55,11 @@ public aspect DOMEntityReferenceSupport
         return null;
     }
 
-    public final String DOMEntityReference.getTextContent() throws DOMException {
+    public final String DOMEntityReference.getTextContent() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final void DOMEntityReference.setTextContent(String textContent) {
         throw new UnsupportedOperationException();
     }
 }

Modified: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMLeafNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMLeafNodeSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMLeafNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMLeafNodeSupport.aj Sat Jul 18 18:12:57 2015
@@ -85,4 +85,8 @@ public aspect DOMLeafNodeSupport {
     public final String DOMLeafNode.getTextContent() {
         return getNodeValue();
     }
+
+    public final void DOMLeafNode.setTextContent(String textContent) {
+        setNodeValue(textContent);
+    }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj Sat Jul 18 18:12:57 2015
@@ -188,11 +188,7 @@ public aspect AxiomElementSupport {
     
     // Not final because overridden in Abdera
     public void AxiomElement.setText(String text) {
-        removeChildren();
-        // Add a new text node
-        if (text != null && text.length() > 0) {
-            getOMFactory().createOMText(this, text);
-        }
+        coreSetTextContent(text, Policies.DETACH_POLICY);
     }
 
     public final void AxiomElement.setText(QName qname) {

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java Sat Jul 18 18:12:57 2015
@@ -19,7 +19,6 @@
 
 package org.apache.axiom.om.impl.dom;
 
-import org.apache.axiom.core.NonDeferringParentNode;
 import org.apache.axiom.dom.DOMAttribute;
 import org.apache.axiom.om.OMFactory;
 import org.w3c.dom.DOMException;
@@ -29,7 +28,7 @@ import org.w3c.dom.Text;
 import org.w3c.dom.TypeInfo;
 
 /** Implementation of <code>org.w3c.dom.Attr</code> and <code>org.apache.axiom.om.OMAttribute</code> */
-public abstract class AttrImpl extends RootNode implements DOMAttribute, NonDeferringParentNode {
+public abstract class AttrImpl extends RootNode implements DOMAttribute {
     /** Flag used to mark an attribute as per the DOM Level 3 specification */
     protected boolean isId;
 

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java Sat Jul 18 18:12:57 2015
@@ -334,10 +334,6 @@ public class DocumentImpl extends RootNo
     * DOM-Level 3 methods
     */
 
-    public void setTextContent(String textContent) throws DOMException {
-        // no-op
-    }
-
     public Node adoptNode(Node node) throws DOMException {
         if (node instanceof NodeImpl) {
             NodeImpl childNode = (NodeImpl)node;

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java Sat Jul 18 18:12:57 2015
@@ -88,10 +88,6 @@ public abstract class NodeImpl implement
         throw newDOMException(DOMException.NOT_SUPPORTED_ERR);
     }
 
-    public void setTextContent(String textContent) throws DOMException {
-        setNodeValue(textContent);  // overriden in some subclasses
-    }
-
     public boolean isSameNode(Node node) {
         // TODO : check
         return this == node;

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java?rev=1691761&r1=1691760&r2=1691761&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java Sat Jul 18 18:12:57 2015
@@ -163,13 +163,4 @@ public abstract class ParentNode extends
     }
     
     abstract ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing);
-
-    public void setTextContent(String textContent) throws DOMException {
-        // get rid of any existing children
-        coreRemoveChildren(Policies.DETACH_POLICY);
-        // create a Text node to hold the given content
-        if (textContent != null && textContent.length() != 0) {
-            coreAppendChild((CoreChildNode)getOMFactory().createOMText(textContent), false);
-        }
-    }
 }