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 2014/07/11 20:50:38 UTC

svn commit: r1609770 - in /webservices/axiom/trunk/modules: axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/

Author: veithen
Date: Fri Jul 11 18:50:38 2014
New Revision: 1609770

URL: http://svn.apache.org/r1609770
Log:
Merged the nextSibling/previousSibling code into a common aspect.

Added:
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java   (with props)
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNodeSupport.aj
Modified:
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNode.java
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNodeSupport.aj
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INode.java
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerSupport.aj
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMElementSupport.aj
    webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeSupport.aj
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
    webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/RootNode.java
    webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMNodeImpl.java
    webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNode.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNode.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNode.java Fri Jul 11 18:50:38 2014
@@ -21,5 +21,4 @@ package org.apache.axiom.om.impl.common;
 public interface CoreChildNode {
     CoreParentNode coreGetParent();
     void coreSetParent(CoreParentNode parent);
-    CoreChildNode coreGetNextSiblingIfAvailable();
 }

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNodeSupport.aj?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNodeSupport.aj (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/CoreChildNodeSupport.aj Fri Jul 11 18:50:38 2014
@@ -23,6 +23,25 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.impl.builder.StAXBuilder;
 
 public aspect CoreChildNodeSupport {
+    private CoreChildNode CoreChildNode.nextSibling;
+    private CoreChildNode CoreChildNode.previousSibling;
+    
+    public final CoreChildNode CoreChildNode.coreGetNextSiblingIfAvailable() {
+        return nextSibling;
+    }
+
+    public final void CoreChildNode.coreSetNextSibling(CoreChildNode nextSibling) {
+        this.nextSibling = nextSibling;
+    }
+    
+    public final CoreChildNode CoreChildNode.coreGetPreviousSibling() {
+        return previousSibling;
+    }
+    
+    public final void CoreChildNode.coreSetPreviousSibling(CoreChildNode previousSibling) {
+        this.previousSibling = previousSibling;
+    }
+    
     public CoreChildNode CoreChildNode.coreGetNextSibling() throws OMException {
         CoreChildNode nextSibling = coreGetNextSiblingIfAvailable();
         if (nextSibling == null) {

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INode.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INode.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/INode.java Fri Jul 11 18:50:38 2014
@@ -18,11 +18,8 @@
  */
 package org.apache.axiom.om.impl.common;
 
-import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.impl.OMNodeEx;
 
 public interface INode extends OMNodeEx, CoreChildNode, ISerializable {
-    public void setNextOMSibling(OMNode node);
 
-    public void setPreviousOMSibling(OMNode previousSibling);
 }

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerSupport.aj?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerSupport.aj (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMContainerSupport.aj Fri Jul 11 18:50:38 2014
@@ -147,9 +147,9 @@ public aspect OMContainerSupport {
         if (coreGetFirstChildIfAvailable() == null) {
             coreSetFirstChild(child);
         } else {
-            INode lastChild = (INode)coreGetLastKnownChild();
-            child.setPreviousOMSibling(lastChild);
-            lastChild.setNextOMSibling(child);
+            CoreChildNode lastChild = coreGetLastKnownChild();
+            child.coreSetPreviousSibling(lastChild);
+            lastChild.coreSetNextSibling(child);
         }
         coreSetLastChild(child);
 
@@ -210,8 +210,8 @@ public aspect OMContainerSupport {
         }
         while (child != null) {
             CoreChildNode nextSibling = child.coreGetNextSiblingIfAvailable();
-            ((INode)child).setPreviousOMSibling(null);
-            ((INode)child).setNextOMSibling(null);
+            child.coreSetPreviousSibling(null);
+            child.coreSetNextSibling(null);
             child.coreSetParent(null);
             child = nextSibling;
         }

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMElementSupport.aj?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMElementSupport.aj (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMElementSupport.aj Fri Jul 11 18:50:38 2014
@@ -191,8 +191,8 @@ public aspect OMElementSupport {
     
     public void IElement.detachAndDiscardParent() {
         coreSetParent(null);
-        setPreviousOMSibling(null);
-        setNextOMSibling(null);
+        coreSetPreviousSibling(null);
+        coreSetNextSibling(null);
     }
     
     public static void insertChild(OMElement parent, Class[] sequence, int pos, OMNode newChild) {

Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeSupport.aj?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeSupport.aj (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMNodeSupport.aj Fri Jul 11 18:50:38 2014
@@ -30,4 +30,8 @@ public aspect OMNodeSupport {
     public OMNode INode.getNextOMSibling() {
         return (OMNode)coreGetNextSibling();
     }
+
+    public final OMNode INode.getPreviousOMSibling() {
+        return (OMNode)coreGetPreviousSibling();
+    }
 }

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java Fri Jul 11 18:50:38 2014
@@ -503,10 +503,6 @@ public class AttrImpl extends RootNode i
         // An attribute node doesn't have a builder
     }
 
-    public final Node getNextSibling() {
-        return null;
-    }
-
     public final String lookupNamespaceURI(String specifiedPrefix) {
         Element ownerElement = getOwnerElement();
         return ownerElement == null ? null : ownerElement.lookupNamespaceURI(specifiedPrefix);

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java Fri Jul 11 18:50:38 2014
@@ -25,15 +25,10 @@ import org.apache.axiom.om.OMXMLParserWr
 import org.apache.axiom.om.impl.common.CoreChildNode;
 import org.apache.axiom.om.impl.common.CoreParentNode;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
 
-public abstract class ChildNode extends NodeImpl implements CoreChildNode {
+public abstract class ChildNode extends NodeImpl implements DOMChildNode {
     private ParentNode ownerNode;
     
-    private NodeImpl previousSibling;
-
-    private NodeImpl nextSibling;
-
     public ChildNode(OMFactory factory) {
         super(factory);
     }
@@ -47,23 +42,19 @@ public abstract class ChildNode extends 
     }
 
     final NodeImpl internalGetPreviousSibling() {
-        return previousSibling;
+        return (NodeImpl)coreGetPreviousSibling();
     }
     
     final NodeImpl internalGetNextSibling() {
-        return nextSibling;
+        return (NodeImpl)coreGetNextSiblingIfAvailable();
     }
     
     final void internalSetPreviousSibling(NodeImpl previousSibling) {
-        this.previousSibling = previousSibling;
+        coreSetPreviousSibling((CoreChildNode)previousSibling);
     }
     
     final void internalSetNextSibling(NodeImpl nextSibling) {
-        this.nextSibling = nextSibling;
-    }
-    
-    public final CoreChildNode coreGetNextSiblingIfAvailable() {
-        return (CoreChildNode)nextSibling;
+        coreSetNextSibling((CoreChildNode)nextSibling);
     }
 
     final NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep, boolean namespaceRepairing) {
@@ -103,10 +94,6 @@ public abstract class ChildNode extends 
         // Do nothing; a leaf node is always complete
     }
 
-    public final Node getNextSibling() {
-        return (Node)coreGetNextSibling();
-    }
-
     public final CoreParentNode coreGetParent() {
         return parentNode();
     }

Added: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java?rev=1609770&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java (added)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java Fri Jul 11 18:50:38 2014
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.dom;
+
+import org.apache.axiom.om.impl.common.CoreChildNode;
+import org.w3c.dom.Node;
+
+public interface DOMChildNode extends Node, CoreChildNode{
+
+}

Propchange: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNodeSupport.aj?rev=1609770&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNodeSupport.aj (added)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMChildNodeSupport.aj Fri Jul 11 18:50:38 2014
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.dom;
+
+import org.w3c.dom.Node;
+
+public aspect DOMChildNodeSupport {
+    public final Node DOMChildNode.getNextSibling() {
+        return (Node)coreGetNextSibling();
+    }
+    
+    public final Node DOMChildNode.getPreviousSibling() {
+        return (Node)coreGetPreviousSibling();
+    }
+}

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java Fri Jul 11 18:50:38 2014
@@ -99,10 +99,6 @@ public class DocumentFragmentImpl extend
         // A document fragment doesn't have a builder
     }
 
-    public final Node getNextSibling() {
-        return null;
-    }
-
     public final String lookupNamespaceURI(String specifiedPrefix) {
         return null;
     }

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java Fri Jul 11 18:50:38 2014
@@ -577,10 +577,6 @@ public class DocumentImpl extends RootNo
         defaultBuild();
     }
 
-    public final Node getNextSibling() {
-        return null;
-    }
-    
     public final String lookupNamespaceURI(String specifiedPrefix) {
         Element documentElement = getDocumentElement();
         return documentElement == null ? null

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java Fri Jul 11 18:50:38 2014
@@ -59,17 +59,13 @@ import java.util.ArrayList;
 import java.util.Iterator;
 
 /** Implementation of the org.w3c.dom.Element and org.apache.axiom.om.Element interfaces. */
-public class ElementImpl extends ParentNode implements Element, IElement, NamedNode,
+public class ElementImpl extends ParentNode implements Element, IElement, NamedNode, DOMChildNode,
         OMConstants {
 
     private static final Log log = LogFactory.getLog(ElementImpl.class);
     
     private ParentNode ownerNode;
     
-    private NodeImpl previousSibling;
-
-    private NodeImpl nextSibling;
-
     private int lineNumber;
 
     /**
@@ -114,23 +110,19 @@ public class ElementImpl extends ParentN
     }
 
     final NodeImpl internalGetPreviousSibling() {
-        return previousSibling;
+        return (NodeImpl)coreGetPreviousSibling();
     }
     
     final NodeImpl internalGetNextSibling() {
-        return nextSibling;
+        return (NodeImpl)coreGetNextSiblingIfAvailable();
     }
     
     final void internalSetPreviousSibling(NodeImpl previousSibling) {
-        this.previousSibling = previousSibling;
+        coreSetPreviousSibling((CoreChildNode)previousSibling);
     }
     
     final void internalSetNextSibling(NodeImpl nextSibling) {
-        this.nextSibling = nextSibling;
-    }
-
-    public final CoreChildNode coreGetNextSiblingIfAvailable() {
-        return (CoreChildNode)nextSibling;
+        coreSetNextSibling((CoreChildNode)nextSibling);
     }
 
     OMNamespace handleNamespace(String namespaceURI, String prefix) {
@@ -1033,10 +1025,6 @@ public class ElementImpl extends ParentN
         defaultBuild();
     }
 
-    public final Node getNextSibling() {
-        return (Node)coreGetNextSibling();
-    }
-
     public final CoreParentNode coreGetParent() {
         return parentNode();
     }

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java Fri Jul 11 18:50:38 2014
@@ -498,14 +498,6 @@ public abstract class NodeImpl extends I
         return hasParent() ? internalGetOwnerNode() : null;
     }
 
-    public final OMNode getPreviousOMSibling() {
-        return (OMNode)internalGetPreviousSibling();
-    }
-
-    public final Node getPreviousSibling() {
-        return internalGetPreviousSibling();
-    }
-
     // /
     // /OMNode methods
     // /

Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/RootNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/RootNode.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/RootNode.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/RootNode.java Fri Jul 11 18:50:38 2014
@@ -19,6 +19,7 @@
 package org.apache.axiom.om.impl.dom;
 
 import org.apache.axiom.om.OMFactory;
+import org.w3c.dom.Node;
 
 public abstract class RootNode extends ParentNode {
     public RootNode(OMFactory factory) {
@@ -40,4 +41,12 @@ public abstract class RootNode extends P
     final void internalSetNextSibling(NodeImpl nextSibling) {
         throw new UnsupportedOperationException();
     }
+
+    public final Node getNextSibling() {
+        return null;
+    }
+
+    public final Node getPreviousSibling() {
+        return null;
+    }
 }

Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMNodeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMNodeImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMNodeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMNodeImpl.java Fri Jul 11 18:50:38 2014
@@ -36,12 +36,6 @@ public abstract class OMNodeImpl extends
     /** Field parent */
     protected IContainer parent;
 
-    /** Field nextSibling */
-    protected OMNodeImpl nextSibling;
-
-    /** Field previousSibling */
-    protected OMNodeImpl previousSibling;
-
     /**
      * Constructor OMNodeImpl
      *
@@ -89,17 +83,13 @@ public abstract class OMNodeImpl extends
         }
     }
 
-    public CoreChildNode coreGetNextSiblingIfAvailable() {
-        return nextSibling;
-    }
-
     /**
      * Method setNextOMSibling.
      *
      * @param node
      */
     public void setNextOMSibling(OMNode node) {
-        this.nextSibling = (OMNodeImpl) node;
+        coreSetNextSibling((OMNodeImpl)node);
     }
 
     /**
@@ -116,19 +106,20 @@ public abstract class OMNodeImpl extends
         // builder will always add new nodes to the end of list of children of the
         // document or element being built.
         INode nextSibling = (INode)getNextOMSiblingIfAvailable();
+        INode previousSibling = (INode)coreGetPreviousSibling();
         if (previousSibling == null) {
             parent.coreSetFirstChild(nextSibling);
         } else {
-            previousSibling.setNextOMSibling(nextSibling);
+            previousSibling.coreSetNextSibling(nextSibling);
         }
         if (nextSibling == null) {
             parent.coreSetLastChild(previousSibling);
         } else {
-            nextSibling.setPreviousOMSibling(previousSibling);
+            nextSibling.coreSetPreviousSibling(previousSibling);
         }
 
-        this.previousSibling = null;
-        this.nextSibling = null;
+        coreSetPreviousSibling(null);
+        coreSetNextSibling(null);
         this.parent = null;
         return this;
     }
@@ -147,17 +138,18 @@ public abstract class OMNodeImpl extends
         }
         OMNodeImpl siblingImpl = (OMNodeImpl)parent.prepareNewChild(sibling);
         siblingImpl.coreSetParent(parent);
-        if (nextSibling == null) {
+        if (coreGetNextSiblingIfAvailable() == null) {
             getNextOMSibling();
         }
-        siblingImpl.setPreviousOMSibling(this);
+        siblingImpl.coreSetPreviousSibling(this);
+        OMNodeImpl nextSibling = (OMNodeImpl)coreGetNextSiblingIfAvailable();
         if (nextSibling == null) {
             parent.coreSetLastChild((CoreChildNode)sibling);
         } else {
-            nextSibling.setPreviousOMSibling(sibling);
+            nextSibling.coreSetPreviousSibling((CoreChildNode)sibling);
         }
-        ((INode)sibling).setNextOMSibling(nextSibling);
-        nextSibling = siblingImpl;
+        ((INode)sibling).coreSetNextSibling(nextSibling);
+        coreSetNextSibling(siblingImpl);
     }
 
     /**
@@ -173,26 +165,18 @@ public abstract class OMNodeImpl extends
             throw new OMException("Inserting self as the sibling is not allowed");
         }
         OMNodeImpl siblingImpl = (OMNodeImpl)parent.prepareNewChild(sibling);
+        OMNodeImpl previousSibling = (OMNodeImpl)coreGetPreviousSibling();
         if (previousSibling == null) {
             parent.coreSetFirstChild(siblingImpl);
-            siblingImpl.nextSibling = this;
-            siblingImpl.previousSibling = null;
+            siblingImpl.coreSetNextSibling(this);
+            siblingImpl.coreSetPreviousSibling(null);
         } else {
             siblingImpl.coreSetParent(parent);
-            siblingImpl.nextSibling = this;
-            previousSibling.setNextOMSibling(siblingImpl);
-            siblingImpl.setPreviousOMSibling(previousSibling);
+            siblingImpl.coreSetNextSibling(this);
+            previousSibling.coreSetNextSibling(siblingImpl);
+            siblingImpl.coreSetPreviousSibling(previousSibling);
         }
-        previousSibling = siblingImpl;
-    }
-
-    /**
-     * Gets the previous sibling.
-     *
-     * @return boolean
-     */
-    public OMNode getPreviousOMSibling() {
-        return previousSibling;
+        coreSetPreviousSibling(siblingImpl);
     }
 
     /**
@@ -201,7 +185,7 @@ public abstract class OMNodeImpl extends
      * @param previousSibling
      */
     public void setPreviousOMSibling(OMNode previousSibling) {
-        this.previousSibling = (OMNodeImpl) previousSibling;
+        coreSetPreviousSibling((OMNodeImpl)previousSibling);
     }
 
     /**

Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java?rev=1609770&r1=1609769&r2=1609770&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java Fri Jul 11 18:50:38 2014
@@ -1081,10 +1081,6 @@ public class OMSourcedElementImpl extend
         super.coreSetParent(element);
     }
 
-    public CoreChildNode coreGetNextSiblingIfAvailable() {
-        return super.coreGetNextSiblingIfAvailable();
-    }
-
     public CoreChildNode coreGetFirstChild() {
         return super.coreGetFirstChild();
     }