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/19 15:29:46 UTC

svn commit: r1691825 - in /webservices/axiom: experimental/dom/src/main/java/org/apache/axiom/dom/impl/ trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/ trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ trunk/impl...

Author: veithen
Date: Sun Jul 19 13:29:46 2015
New Revision: 1691825

URL: http://svn.apache.org/r1691825
Log:
Move the DOMImplementation code to dom-aspects.

Added:
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java   (with props)
    webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactorySupport.aj
      - copied, changed from r1691651, webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMImplementationImpl.java
Removed:
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMImplementationImpl.java
Modified:
    webservices/axiom/experimental/dom/src/main/java/org/apache/axiom/dom/impl/NodeFactoryImpl.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/factory/OMDOMFactory.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java

Modified: webservices/axiom/experimental/dom/src/main/java/org/apache/axiom/dom/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/experimental/dom/src/main/java/org/apache/axiom/dom/impl/NodeFactoryImpl.java?rev=1691825&r1=1691824&r2=1691825&view=diff
==============================================================================
--- webservices/axiom/experimental/dom/src/main/java/org/apache/axiom/dom/impl/NodeFactoryImpl.java (original)
+++ webservices/axiom/experimental/dom/src/main/java/org/apache/axiom/dom/impl/NodeFactoryImpl.java Sun Jul 19 13:29:46 2015
@@ -25,9 +25,9 @@ import org.apache.axiom.core.CoreNSAware
 import org.apache.axiom.core.CoreNSUnawareAttribute;
 import org.apache.axiom.core.CoreNamespaceDeclaration;
 import org.apache.axiom.core.CoreProcessingInstruction;
-import org.apache.axiom.core.NodeFactory;
+import org.apache.axiom.dom.DOMNodeFactory;
 
-final class NodeFactoryImpl implements NodeFactory {
+final class NodeFactoryImpl implements DOMNodeFactory {
     static final NodeFactoryImpl INSTANCE = new NodeFactoryImpl();
     
     private NodeFactoryImpl() {}

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=1691825&r1=1691824&r2=1691825&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 Jul 19 13:29:46 2015
@@ -25,6 +25,7 @@ import org.w3c.dom.Attr;
 import org.w3c.dom.CDATASection;
 import org.w3c.dom.DOMConfiguration;
 import org.w3c.dom.DOMException;
+import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -90,6 +91,10 @@ public aspect DOMDocumentSupport {
         return coreGetDocumentElement();
     }
 
+    public final DOMImplementation DOMDocument.getImplementation() {
+        return (DOMNodeFactory)coreGetNodeFactory();
+    }
+
     public final DOMConfiguration DOMDocument.getDomConfig() {
         return domConfig;
     }

Added: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java?rev=1691825&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java (added)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java Sun Jul 19 13:29:46 2015
@@ -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.dom;
+
+import org.apache.axiom.core.NodeFactory;
+import org.w3c.dom.DOMImplementation;
+
+public interface DOMNodeFactory extends NodeFactory, DOMImplementation {
+
+}

Propchange: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactorySupport.aj (from r1691651, webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMImplementationImpl.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactorySupport.aj?p2=webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactorySupport.aj&p1=webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMImplementationImpl.java&r1=1691651&r2=1691825&rev=1691825&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DOMImplementationImpl.java (original)
+++ webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMNodeFactorySupport.aj Sun Jul 19 13:29:46 2015
@@ -16,36 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.apache.axiom.dom;
 
-package org.apache.axiom.om.impl.dom;
-
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.impl.common.OMNamespaceImpl;
-import org.apache.axiom.om.impl.dom.factory.OMDOMFactory;
 import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
 
-public class DOMImplementationImpl implements DOMImplementation {
-    private final OMFactory factory;
-    
-    public DOMImplementationImpl(OMFactory factory) {
-        this.factory = factory;
-    }
-
-    public boolean hasFeature(String feature, String version) {
+public aspect DOMNodeFactorySupport {
+    public boolean DOMNodeFactory.hasFeature(String feature, String version) {
         boolean anyVersion = version == null || version.length() == 0;
         return (feature.equalsIgnoreCase("Core") || feature.equalsIgnoreCase("XML"))
                 && (anyVersion || version.equals("1.0") || version.equals("2.0"));
     }
 
-    public Document createDocument(String namespaceURI, String qualifiedName,
+    public Document DOMNodeFactory.createDocument(String namespaceURI, String qualifiedName,
                                    DocumentType doctype) throws DOMException {
 
         // TODO Handle docType stuff
-        DocumentImpl doc = new DocumentImpl(factory);
+        Document doc = (Document)createDocument();
 
         Element element = doc.createElementNS(namespaceURI, qualifiedName);
         doc.appendChild(element);
@@ -53,7 +42,7 @@ public class DOMImplementationImpl imple
         return doc;
     }
 
-    public DocumentType createDocumentType(String qualifiedName,
+    public DocumentType DOMNodeFactory.createDocumentType(String qualifiedName,
                                            String publicId, String systemId) throws DOMException {
         // TODO
         throw new UnsupportedOperationException("TODO");
@@ -63,7 +52,7 @@ public class DOMImplementationImpl imple
      * DOM-Level 3 methods
      */
 
-    public Object getFeature(String feature, String version) {
+    public Object DOMNodeFactory.getFeature(String feature, String version) {
         // TODO TODO
         throw new UnsupportedOperationException("TODO");
     }

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=1691825&r1=1691824&r2=1691825&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 Jul 19 13:29:46 2015
@@ -32,7 +32,6 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.dom.DOMMetaFactory;
 import org.apache.axiom.om.impl.common.AxiomDocument;
 import org.apache.axiom.om.impl.common.OMDocumentHelper;
 import org.apache.axiom.om.impl.common.OMNamespaceImpl;
@@ -41,15 +40,12 @@ import org.apache.axiom.om.impl.common.s
 import org.w3c.dom.Attr;
 import org.w3c.dom.Comment;
 import org.w3c.dom.DOMException;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
 import org.w3c.dom.EntityReference;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
 
 import java.util.Enumeration;
 import java.util.Hashtable;
@@ -159,10 +155,6 @@ public class DocumentImpl extends Parent
         return null;
     }
 
-    public DOMImplementation getImplementation() {
-        return ((DOMMetaFactory)getOMFactory().getMetaFactory()).getDOMImplementation();
-    }
-
     public Node importNode(Node importedNode, boolean deep) throws DOMException {
 
         short type = importedNode.getNodeType();

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=1691825&r1=1691824&r2=1691825&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 Jul 19 13:29:46 2015
@@ -26,6 +26,7 @@ import org.apache.axiom.core.CoreNSAware
 import org.apache.axiom.core.CoreNSUnawareAttribute;
 import org.apache.axiom.core.CoreNamespaceDeclaration;
 import org.apache.axiom.core.CoreProcessingInstruction;
+import org.apache.axiom.dom.DOMNodeFactory;
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMComment;
 import org.apache.axiom.om.OMContainer;
@@ -69,7 +70,7 @@ import javax.xml.namespace.QName;
  * OM factory implementation for DOOM. It creates nodes that implement
  * DOM as defined by the interfaces in {@link org.w3c.dom}.
  */
-public class OMDOMFactory implements AxiomNodeFactory {
+public class OMDOMFactory implements AxiomNodeFactory, DOMNodeFactory {
     private final OMDOMMetaFactory metaFactory;
 
     public OMDOMFactory(OMDOMMetaFactory metaFactory) {

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java?rev=1691825&r1=1691824&r2=1691825&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java Sun Jul 19 13:29:46 2015
@@ -22,13 +22,10 @@ package org.apache.axiom.om.impl.dom.fac
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.dom.DOMMetaFactory;
 import org.apache.axiom.om.impl.common.factory.AbstractOMMetaFactory;
-import org.apache.axiom.om.impl.dom.DOMImplementationImpl;
 import org.apache.axiom.om.impl.dom.jaxp.DOOMDocumentBuilderFactory;
 import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPMessage;
 import org.apache.axiom.soap.impl.common.AxiomSOAPMessage;
 import org.apache.axiom.soap.impl.dom.SOAPMessageImpl;
 import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
@@ -43,10 +40,9 @@ public class OMDOMMetaFactory extends Ab
     // Since that method is deprecated, this singleton should disappear in Axiom 1.3.
     public static final OMDOMMetaFactory INSTANCE = new OMDOMMetaFactory();
     
-    private final OMFactory omFactory = new OMDOMFactory(this);
+    private final OMDOMFactory omFactory = new OMDOMFactory(this);
     private final SOAPFactory soap11Factory = new SOAP11Factory(this);
     private final SOAPFactory soap12Factory = new SOAP12Factory(this);
-    private final DOMImplementation domImplementation = new DOMImplementationImpl(omFactory);
     
     public OMFactory getOMFactory() {
         return omFactory;
@@ -69,6 +65,6 @@ public class OMDOMMetaFactory extends Ab
     }
 
     public DOMImplementation getDOMImplementation() {
-        return domImplementation;
+        return omFactory;
     }
 }