Author: veithen
Date: Sun Aug 30 21:09:50 2015
New Revision: 1700162

URL: http://svn.apache.org/r1700162
Log:
Move the remaining Document#createXxx methods to dom-aspects.

Removed:
    
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMUtil.java
Modified:
    
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
    
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
    
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/NSAwareElement.java
    
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
    
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java

Modified: 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java?rev=1700162&r1=1700161&r2=1700162&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
 (original)
+++ 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
 Sun Aug 30 21:09:50 2015
@@ -23,6 +23,7 @@ public interface NodeFactory {
     CoreDocumentTypeDeclaration createDocumentTypeDeclaration();
     CoreCharacterDataNode createCharacterDataNode();
     CoreCDATASection createCDATASection();
+    CoreNSUnawareElement createNSUnawareElement();
     <T extends CoreNSAwareElement> T createNSAwareElement(Class<T> type);
     CoreNSUnawareAttribute createNSUnawareAttribute();
     CoreNSAwareAttribute createNSAwareAttribute();
@@ -30,4 +31,5 @@ public interface NodeFactory {
     CoreProcessingInstruction createProcessingInstruction();
     CoreEntityReference createEntityReference();
     CoreComment createComment();
+    CoreDocumentFragment createDocumentFragment();
 }

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=1700162&r1=1700161&r2=1700162&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
 Sun Aug 30 21:09:50 2015
@@ -28,6 +28,7 @@ import org.w3c.dom.DOMConfiguration;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Element;
 import org.w3c.dom.EntityReference;
 import org.w3c.dom.NamedNodeMap;
@@ -142,13 +143,20 @@ public aspect DOMDocumentSupport {
         return text;
     }
 
-    public final CDATASection DOMDocument.createCDATASection(String data) 
throws DOMException {
+    public final CDATASection DOMDocument.createCDATASection(String data) {
         DOMCDATASection cdataSection = 
(DOMCDATASection)coreGetNodeFactory().createCDATASection();
         cdataSection.coreSetOwnerDocument(this);
         cdataSection.coreSetCharacterData(data, Policies.DETACH_POLICY);
         return cdataSection;
     }
     
+    public final Element DOMDocument.createElement(String tagName) {
+        DOMNSUnawareElement element = 
(DOMNSUnawareElement)coreGetNodeFactory().createNSUnawareElement();
+        element.coreSetOwnerDocument(this);
+        element.coreSetName(tagName);
+        return element;
+    }
+
     public final Attr DOMDocument.createAttribute(String name) {
         NSUtil.validateName(name);
         DOMNSUnawareAttribute attr = 
(DOMNSUnawareAttribute)coreGetNodeFactory().createNSUnawareAttribute();
@@ -158,6 +166,25 @@ public aspect DOMDocumentSupport {
         return attr;
     }
 
+    public final Element DOMDocument.createElementNS(String namespaceURI, 
String qualifiedName) {
+        int i = NSUtil.validateQualifiedName(qualifiedName);
+        String prefix;
+        String localName;
+        if (i == -1) {
+            prefix = "";
+            localName = qualifiedName;
+        } else {
+            prefix = qualifiedName.substring(0, i);
+            localName = qualifiedName.substring(i+1);
+        }
+        namespaceURI = NSUtil.normalizeNamespaceURI(namespaceURI);
+        NSUtil.validateNamespace(namespaceURI, prefix);
+        DOMNSAwareElement element = 
coreGetNodeFactory().createNSAwareElement(DOMNSAwareElement.class);
+        element.coreSetOwnerDocument(this);
+        element.coreSetName(namespaceURI, localName, prefix);
+        return element;
+    }
+
     public final Attr DOMDocument.createAttributeNS(String namespaceURI, 
String qualifiedName) {
         int i = NSUtil.validateQualifiedName(qualifiedName);
         String prefix;
@@ -207,6 +234,12 @@ public aspect DOMDocumentSupport {
         return node;
     }
 
+    public final DocumentFragment DOMDocument.createDocumentFragment() {
+        DOMDocumentFragment fragment = 
(DOMDocumentFragment)coreGetNodeFactory().createDocumentFragment();
+        fragment.coreSetOwnerDocument(this);
+        return fragment;
+    }
+
     public final NodeList DOMDocument.getElementsByTagName(String tagname) {
         return new ElementsByTagName(this, tagname);
     }

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=1700162&r1=1700161&r2=1700162&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
 Sun Aug 30 21:09:50 2015
@@ -33,10 +33,8 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.impl.common.AxiomDocument;
-import org.apache.axiom.om.impl.common.OMNamespaceImpl;
 import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
-import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -59,41 +57,6 @@ public class DocumentImpl extends Parent
     // /org.w3c.dom.Document methods
     // /
 
-    public DocumentFragment createDocumentFragment() {
-        DocumentFragmentImpl fragment = new 
DocumentFragmentImpl(getOMFactory());
-        fragment.coreSetOwnerDocument(this);
-        return fragment;
-    }
-
-    public Element createElement(String tagName) throws DOMException {
-        NSUnawareElement element = new NSUnawareElement(getOMFactory());
-        element.coreSetName(tagName);
-        element.coreSetOwnerDocument(this);
-        return element;
-    }
-
-    public Element createElementNS(String namespaceURI, String qualifiedName)
-            throws DOMException {
-
-        if (namespaceURI != null && namespaceURI.length() == 0) {
-            namespaceURI = null;
-        }
-
-        String localName = DOMUtil.getLocalName(qualifiedName);
-        String prefix = DOMUtil.getPrefix(qualifiedName);
-        DOMUtil.validateElementName(namespaceURI, localName, prefix);
-        
-        OMNamespaceImpl namespace;
-        if (namespaceURI == null) {
-            namespace = null;
-        } else {
-            namespace = new OMNamespaceImpl(namespaceURI, prefix == null ? "" 
: prefix);
-        }
-        NSAwareElement element = new NSAwareElement(null, localName, 
namespace, null, getOMFactory(), false);
-        element.coreSetOwnerDocument(this);
-        return element;
-    }
-
     public DocumentType getDoctype() {
         Iterator it = getChildren();
         while (it.hasNext()) {

Modified: 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareElement.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareElement.java?rev=1700162&r1=1700161&r2=1700162&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareElement.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NSAwareElement.java
 Sun Aug 30 21:09:50 2015
@@ -28,8 +28,6 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.common.AxiomContainer;
 import org.apache.axiom.om.impl.common.AxiomElement;
 
 /** Implementation of the org.w3c.dom.Element and org.apache.axiom.om.Element 
interfaces. */
@@ -42,21 +40,6 @@ public class NSAwareElement extends Elem
         super(factory);
     }
     
-    public NSAwareElement(ParentNode parentNode, String localName, OMNamespace 
ns, OMXMLParserWrapper builder,
-                       OMFactory factory, boolean generateNSDecl) {
-        super(factory);
-        coreSetBuilder(builder);
-        if (parentNode != null) {
-            // TODO: dirty hack to get the correct semantics (reordering) if 
the parent is a SOAP envelope
-            if (parentNode instanceof AxiomContainer) {
-                ((AxiomContainer)parentNode).addChild(this, builder != null);
-            } else {
-                parentNode.coreAppendChild(this, builder != null);
-            }
-        }
-        initName(localName, ns, generateNSDecl);
-    }
-
     // /
     // /OmElement methods
     // /

Modified: 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=1700162&r1=1700161&r2=1700162&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
 Sun Aug 30 21:09:50 2015
@@ -25,13 +25,16 @@ import org.apache.axiom.core.CoreCDATASe
 import org.apache.axiom.core.CoreCharacterDataNode;
 import org.apache.axiom.core.CoreComment;
 import org.apache.axiom.core.CoreDocument;
+import org.apache.axiom.core.CoreDocumentFragment;
 import org.apache.axiom.core.CoreDocumentTypeDeclaration;
 import org.apache.axiom.core.CoreEntityReference;
 import org.apache.axiom.core.CoreNSAwareAttribute;
 import org.apache.axiom.core.CoreNSAwareElement;
 import org.apache.axiom.core.CoreNSUnawareAttribute;
+import org.apache.axiom.core.CoreNSUnawareElement;
 import org.apache.axiom.core.CoreNamespaceDeclaration;
 import org.apache.axiom.core.CoreProcessingInstruction;
+import org.apache.axiom.dom.DOMNSAwareElement;
 import org.apache.axiom.dom.DOMNodeFactory;
 import org.apache.axiom.om.OMComment;
 import org.apache.axiom.om.OMContainer;
@@ -51,12 +54,14 @@ import org.apache.axiom.om.impl.common.O
 import org.apache.axiom.om.impl.common.factory.AxiomNodeFactory;
 import org.apache.axiom.om.impl.dom.CDATASectionImpl;
 import org.apache.axiom.om.impl.dom.CommentImpl;
+import org.apache.axiom.om.impl.dom.DocumentFragmentImpl;
 import org.apache.axiom.om.impl.dom.DocumentImpl;
 import org.apache.axiom.om.impl.dom.DocumentTypeImpl;
 import org.apache.axiom.om.impl.dom.EntityReferenceImpl;
 import org.apache.axiom.om.impl.dom.NSAwareAttribute;
 import org.apache.axiom.om.impl.dom.NSAwareElement;
 import org.apache.axiom.om.impl.dom.NSUnawareAttribute;
+import org.apache.axiom.om.impl.dom.NSUnawareElement;
 import org.apache.axiom.om.impl.dom.NamespaceDeclaration;
 import org.apache.axiom.om.impl.dom.ProcessingInstructionImpl;
 import org.apache.axiom.om.impl.dom.TextImpl;
@@ -243,7 +248,7 @@ public class OMDOMFactory implements Axi
 
     public final <T extends CoreNSAwareElement> T 
createNSAwareElement(Class<T> type) {
         CoreNSAwareElement element;
-        if (type == AxiomElement.class) {
+        if (type == AxiomElement.class || type == DOMNSAwareElement.class) {
             element = new NSAwareElement(this);
         } else if (type == AxiomSOAPEnvelope.class) {
             element = new SOAPEnvelopeImpl(this);
@@ -316,4 +321,12 @@ public class OMDOMFactory implements Axi
     public final CoreComment createComment() {
         return new CommentImpl(this);
     }
+
+    public final CoreNSUnawareElement createNSUnawareElement() {
+        return new NSUnawareElement(this);
+    }
+
+    public final CoreDocumentFragment createDocumentFragment() {
+        return new DocumentFragmentImpl(this);
+    }
 }

Modified: 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=1700162&r1=1700161&r2=1700162&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
 Sun Aug 30 21:09:50 2015
@@ -25,11 +25,13 @@ import org.apache.axiom.core.CoreCDATASe
 import org.apache.axiom.core.CoreCharacterDataNode;
 import org.apache.axiom.core.CoreComment;
 import org.apache.axiom.core.CoreDocument;
+import org.apache.axiom.core.CoreDocumentFragment;
 import org.apache.axiom.core.CoreDocumentTypeDeclaration;
 import org.apache.axiom.core.CoreEntityReference;
 import org.apache.axiom.core.CoreNSAwareAttribute;
 import org.apache.axiom.core.CoreNSAwareElement;
 import org.apache.axiom.core.CoreNSUnawareAttribute;
+import org.apache.axiom.core.CoreNSUnawareElement;
 import org.apache.axiom.core.CoreNamespaceDeclaration;
 import org.apache.axiom.core.CoreProcessingInstruction;
 import org.apache.axiom.om.OMAbstractFactory;
@@ -323,4 +325,12 @@ public class OMLinkedListImplFactory imp
     public CoreComment createComment() {
         return new OMCommentImpl(this);
     }
+
+    public final CoreNSUnawareElement createNSUnawareElement() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final CoreDocumentFragment createDocumentFragment() {
+        throw new UnsupportedOperationException();
+    }
 }


Reply via email to