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 2016/02/28 11:51:08 UTC

svn commit: r1732715 - in /webservices/axiom/trunk: aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl...

Author: veithen
Date: Sun Feb 28 10:51:08 2016
New Revision: 1732715

URL: http://svn.apache.org/viewvc?rev=1732715&view=rev
Log:
Clean up the coreAppendChild API.

Modified:
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNodeSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
    webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
    webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFeed.java

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNodeSupport.aj?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNodeSupport.aj Sun Feb 28 10:51:08 2016
@@ -93,7 +93,7 @@ public aspect CoreNodeSupport {
     final <T> CoreNode CoreNode.internalClone(ClonePolicy<T> policy, T options, CoreParentNode targetParent) throws CoreModelException {
         CoreNode clone = shallowClone(policy, options);
         if (targetParent != null) {
-            targetParent.coreAppendChild((CoreChildNode)clone, false);
+            targetParent.coreAppendChild((CoreChildNode)clone);
         }
         policy.postProcess(options, clone);
         cloneChildrenIfNecessary(policy, options, clone);

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj Sun Feb 28 10:51:08 2016
@@ -178,12 +178,14 @@ public aspect CoreParentNodeSupport {
         return child;
     }
     
-    public final void CoreParentNode.coreAppendChild(CoreChildNode child, boolean fromBuilder) {
+    public final void CoreParentNode.coreAppendChild(CoreChildNode child) {
+        // TODO: this is wrong; we only need to build the node locally, but build() builds incomplete children as well
+        build();
+        internalAppendChildWithoutBuild(child);
+    }
+    
+    public final void CoreParentNode.internalAppendChildWithoutBuild(CoreChildNode child) {
         CoreParentNode parent = child.coreGetParent();
-        if (!fromBuilder) {
-            // TODO: this is wrong; we only need to build the node locally, but build() builds incomplete children as well
-            build();
-        }
         Content content = getContent(true);
         if (parent == this && child == content.lastChild) {
             // The child is already the last node. 

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java Sun Feb 28 10:51:08 2016
@@ -118,10 +118,10 @@ public final class Context implements In
         if (pendingCharacterData != null) {
             AxiomCharacterDataNode cdataNode = builderHandler.nodeFactory.createNode(AxiomCharacterDataNode.class);
             cdataNode.coreSetCharacterData(pendingCharacterData);
-            target.coreAppendChild(cdataNode, true);
+            target.internalAppendChildWithoutBuild(cdataNode);
             pendingCharacterData = null;
         }
-        target.coreAppendChild(node, true);
+        target.internalAppendChildWithoutBuild(node);
         if (!(node instanceof CoreCharacterDataNode)) {
             builderHandler.nodeAdded(node);
         }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj Sun Feb 28 10:51:08 2016
@@ -142,7 +142,7 @@ public aspect AxiomContainerSupport {
     public void AxiomContainer.addChild(OMNode omNode) {
         AxiomChildNode child = prepareNewChild(omNode);
         
-        coreAppendChild(child, false);
+        coreAppendChild(child);
 
         // For a normal OMNode, the incomplete status is
         // propogated up the tree.  

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=1732715&r1=1732714&r2=1732715&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 Sun Feb 28 10:51:08 2016
@@ -40,7 +40,7 @@ public abstract class ParentNode extends
     public final Node appendChild(Node newChild) throws DOMException {
         checkNewChild(newChild, null);
         if (newChild instanceof CoreChildNode) {
-            coreAppendChild((CoreChildNode)newChild, false);
+            coreAppendChild((CoreChildNode)newChild);
         } else if (newChild instanceof CoreDocumentFragment) {
             coreAppendChildren((CoreDocumentFragment)newChild);
         } else {
@@ -119,7 +119,7 @@ public abstract class ParentNode extends
             oldChild.coreDetach(DOMSemantics.INSTANCE);
             if (newChild instanceof CoreChildNode) {
                 if (nextSibling == null) {
-                    coreAppendChild((CoreChildNode)newChild, false);
+                    coreAppendChild((CoreChildNode)newChild);
                 } else {
                     nextSibling.coreInsertSiblingBefore((CoreChildNode)newChild);
                 }

Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMElement.java Sun Feb 28 10:51:08 2016
@@ -80,8 +80,9 @@ import org.apache.axiom.om.impl.intf.Axi
 
 @SuppressWarnings("unchecked")
 public class FOMElement extends FOMChildNode implements AbderaElement, AxiomElement {
+    // Overridden in subclasses!
     public void _addChild(AbderaElement element) {
-        coreAppendChild(element, false);
+        coreAppendChild(element);
     }
     
     protected void setParentDocument(Document parent) {
@@ -259,7 +260,7 @@ public class FOMElement extends FOMChild
     public void _setChild(QName qname, Element element) {
         AbderaElement e = _getFirstChildWithName(qname);
         if (e == null && element != null) {
-            coreAppendChild((AbderaElement)element, false);
+            coreAppendChild((AbderaElement)element);
         } else if (e != null && element != null) {
             e.coreReplaceWith((AbderaElement)element, FOMSemantics.INSTANCE);
         } else if (e != null && element == null) {

Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFeed.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFeed.java?rev=1732715&r1=1732714&r2=1732715&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFeed.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFeed.java Sun Feb 28 10:51:08 2016
@@ -94,7 +94,7 @@ public class FOMFeed extends FOMSource i
                     return;
                 }
             }
-            coreAppendChild(element, false);
+            coreAppendChild(element);
         } catch (CoreModelException ex) {
             throw FOMSemantics.INSTANCE.toUncheckedException(ex);
         }