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/01/23 18:54:11 UTC

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

Author: veithen
Date: Sat Jan 23 17:54:10 2016
New Revision: 1726421

URL: http://svn.apache.org/viewvc?rev=1726421&view=rev
Log:
Eliminate OMElementEx.

Removed:
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java
Modified:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderUtil.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomElement.java

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderUtil.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderUtil.java?rev=1726421&r1=1726420&r2=1726421&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderUtil.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderUtil.java Sat Jan 23 17:54:10 2016
@@ -20,7 +20,7 @@ package org.apache.axiom.om.impl.common.
 
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.OMElementEx;
+import org.apache.axiom.om.impl.intf.AxiomElement;
 
 /**
  * For internal use only.
@@ -46,7 +46,7 @@ public class BuilderUtil {
             }
             // This is actually the place where we perform namespace repairing as specified
             // in the contract of OMXMLBuilderFactory#createStAXOMBuilder:
-            namespace = ((OMElementEx)element).addNamespaceDeclaration(namespaceURI, prefix);
+            namespace = ((AxiomElement)element).addNamespaceDeclaration(namespaceURI, prefix);
         }
         if (namespace != null && namespaceURI.length() > 0) {
             element.setNamespace(namespace, false);

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java?rev=1726421&r1=1726420&r2=1726421&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java Sat Jan 23 17:54:10 2016
@@ -33,12 +33,12 @@ import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMText;
 import org.apache.axiom.om.impl.OMContainerEx;
-import org.apache.axiom.om.impl.OMElementEx;
 import org.apache.axiom.om.impl.builder.Builder;
 import org.apache.axiom.om.impl.builder.CustomBuilder;
 import org.apache.axiom.om.impl.builder.CustomBuilderSupport;
 import org.apache.axiom.om.impl.builder.Detachable;
 import org.apache.axiom.om.impl.builder.OMFactoryEx;
+import org.apache.axiom.om.impl.intf.AxiomElement;
 import org.apache.axiom.util.stax.XMLEventUtils;
 import org.apache.axiom.util.stax.XMLStreamReaderUtils;
 import org.apache.commons.logging.Log;
@@ -942,7 +942,7 @@ public class StAXOMBuilder implements Bu
     public final OMElement getDocumentElement(boolean discardDocument) {
         OMElement element = getDocument().getOMDocumentElement();
         if (discardDocument) {
-            ((OMElementEx)element).detachAndDiscardParent();
+            ((AxiomElement)element).detachAndDiscardParent();
             document = null;
         }
         return element;
@@ -981,7 +981,7 @@ public class StAXOMBuilder implements Bu
                 prefix = "";
             }
             
-            ((OMElementEx)node).addNamespaceDeclaration(namespaceURI, prefix);
+            ((AxiomElement)node).addNamespaceDeclaration(namespaceURI, prefix);
         }
 
         // set the own namespace

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java?rev=1726421&r1=1726420&r2=1726421&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java Sat Jan 23 17:54:10 2016
@@ -26,10 +26,10 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.OMContainerEx;
-import org.apache.axiom.om.impl.OMElementEx;
 import org.apache.axiom.om.impl.builder.OMFactoryEx;
 import org.apache.axiom.om.impl.common.OMContentHandler;
 import org.apache.axiom.om.impl.common.builder.BuilderUtil;
+import org.apache.axiom.om.impl.intf.AxiomElement;
 import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
 
@@ -142,14 +142,14 @@ public class SAXOMBuilder extends OMCont
             String namespaceURI, String prefix, String[] namespaces, int namespaceCount) {
         OMElement element = factory.createOMElement(localName, parent, this);
         for (int i = 0; i < namespaceCount; i++) {
-            ((OMElementEx)element).addNamespaceDeclaration(namespaces[2*i+1], namespaces[2*i]);
+            ((AxiomElement)element).addNamespaceDeclaration(namespaces[2*i+1], namespaces[2*i]);
         }
         BuilderUtil.setNamespace(element, namespaceURI, prefix, false);
         return element;
     }
 
     protected void completed(OMElement element) {
-        ((OMElementEx)element).setComplete(true);
+        ((AxiomElement)element).setComplete(true);
     }
 
     protected void createOMText(OMContainer parent, String text, int type) {

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomElement.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomElement.java?rev=1726421&r1=1726420&r2=1726421&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomElement.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomElement.java Sat Jan 23 17:54:10 2016
@@ -20,9 +20,27 @@ package org.apache.axiom.om.impl.intf;
 
 import org.apache.axiom.core.CoreNSAwareElement;
 import org.apache.axiom.core.DeferringParentNode;
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.OMElementEx;
 
-public interface AxiomElement extends OMElementEx, AxiomContainer, AxiomChildNode, AxiomNamedInformationItem, CoreNSAwareElement, DeferringParentNode {
+public interface AxiomElement extends OMElement, AxiomContainer, AxiomChildNode, AxiomNamedInformationItem, CoreNSAwareElement, DeferringParentNode {
+    /**
+     * Adds a namespace declaration without doing any additional checks. This method is used
+     * internally by the builder (which can safely assume that the data received from the parser is
+     * well formed with respect to namespaces).
+     * <p>
+     * In contrast to {@link OMElement#declareNamespace(String, String)} this method can be used to
+     * declare the default namespace.
+     * 
+     * @param uri
+     *            the namespace to declare; must not be <code>null</code>
+     * @param prefix
+     *            the prefix to associate with the given namespace; must not be <code>null</code>
+     * @return the created namespace information item
+     */
+    OMNamespace addNamespaceDeclaration(String uri, String prefix);
+    
+    void detachAndDiscardParent();
+    
     void addNamespaceDeclaration(OMNamespace ns);
 }