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);
- }
- }
}