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/27 13:06:02 UTC

svn commit: r1732630 - in /webservices/axiom/trunk/aspects: core-aspects/src/main/java/org/apache/axiom/core/ core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/ om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ om-...

Author: veithen
Date: Sat Feb 27 12:06:01 2016
New Revision: 1732630

URL: http://svn.apache.org/viewvc?rev=1732630&view=rev
Log:
Prepare to move the serialization logic to the core model.

Modified:
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNode.java
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreDocumentFragmentSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareElementSupport.aj
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java Sat Feb 27 12:06:01 2016
@@ -18,9 +18,6 @@
  */
 package org.apache.axiom.core;
 
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.core.stream.XmlHandler;
-
 public interface CoreAttribute extends NonDeferringParentNode, CoreCharacterDataContainingParentNode {
     /**
      * Get the owner element of this attribute.
@@ -62,6 +59,4 @@ public interface CoreAttribute extends N
      *         of its owner element or if the attribute has no owner element
      */
     CoreAttribute coreGetPreviousAttribute();
-    
-    void coreSerialize(XmlHandler handler) throws CoreModelException, StreamException;
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNode.java?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNode.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreNode.java Sat Feb 27 12:06:01 2016
@@ -18,6 +18,9 @@
  */
 package org.apache.axiom.core;
 
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
+
 public interface CoreNode {
     void coreSetOwnerDocument(CoreDocument document);
     
@@ -45,4 +48,6 @@ public interface CoreNode {
     
     <T> void init(ClonePolicy<T> policy, T options, CoreNode other) throws CoreModelException;
     <T> void cloneChildrenIfNecessary(ClonePolicy<T> policy, T options, CoreNode clone) throws CoreModelException;
+
+    void internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException;
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreDocumentFragmentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreDocumentFragmentSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreDocumentFragmentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreDocumentFragmentSupport.aj Sat Feb 27 12:06:01 2016
@@ -21,8 +21,11 @@ package org.apache.axiom.core.impl.mixin
 import org.apache.axiom.core.ClonePolicy;
 import org.apache.axiom.core.CoreDocument;
 import org.apache.axiom.core.CoreDocumentFragment;
+import org.apache.axiom.core.CoreModelException;
 import org.apache.axiom.core.CoreNode;
 import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
 
 public aspect CoreDocumentFragmentSupport {
     private CoreDocument CoreDocumentFragment.ownerDocument;
@@ -45,4 +48,9 @@ public aspect CoreDocumentFragmentSuppor
     
     public final <T> void CoreDocumentFragment.init(ClonePolicy<T> policy, T options, CoreNode other) {
     }
+
+    public final void CoreDocumentFragment.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
+        // TODO
+        throw new UnsupportedOperationException();
+    }
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj Sat Feb 27 12:06:01 2016
@@ -29,7 +29,7 @@ public aspect CoreNSAwareAttributeSuppor
         return NodeType.NS_AWARE_ATTRIBUTE;
     }
 
-    public final void CoreNSAwareAttribute.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+    public final void CoreNSAwareAttribute.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         handler.processAttribute(coreGetNamespaceURI(), coreGetLocalName(), coreGetPrefix(), coreGetCharacterData().toString(), coreGetType(), coreGetSpecified());
     }
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj Sat Feb 27 12:06:01 2016
@@ -42,7 +42,7 @@ public aspect CoreNSAwareElementSupport
         handler.startElement(coreGetNamespaceURI(), coreGetLocalName(), coreGetPrefix());
         CoreAttribute attr = coreGetFirstAttribute();
         while (attr != null) {
-            attr.coreSerialize(handler);
+            attr.internalSerialize(handler, true);
             attr = attr.coreGetNextAttribute();
         }
         handler.attributesCompleted();

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj Sat Feb 27 12:06:01 2016
@@ -29,7 +29,7 @@ public aspect CoreNSUnawareAttributeSupp
         return NodeType.NS_UNAWARE_ATTRIBUTE;
     }
 
-    public final void CoreNSUnawareAttribute.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+    public final void CoreNSUnawareAttribute.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         // TODO
         throw new UnsupportedOperationException();
     }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareElementSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareElementSupport.aj Sat Feb 27 12:06:01 2016
@@ -19,8 +19,11 @@
 package org.apache.axiom.core.impl.mixin;
 
 import org.apache.axiom.core.CoreElement;
+import org.apache.axiom.core.CoreModelException;
 import org.apache.axiom.core.CoreNSUnawareElement;
 import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
 
 public aspect CoreNSUnawareElementSupport {
     public final NodeType CoreNSUnawareElement.coreGetNodeType() {
@@ -38,4 +41,9 @@ public aspect CoreNSUnawareElementSuppor
     final void CoreNSUnawareElement.copyName(CoreElement clone) {
         ((CoreNSUnawareElement)clone).coreSetName(coreGetName());
     }
+
+    public final void CoreNSUnawareElement.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
+        // TODO
+        throw new UnsupportedOperationException();
+    }
 }

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj Sat Feb 27 12:06:01 2016
@@ -36,7 +36,7 @@ public aspect CoreNamespaceDeclarationSu
         coreSetDeclaredNamespace(((CoreNamespaceDeclaration)other).coreGetDeclaredPrefix(), "");
     }
     
-    public final void CoreNamespaceDeclaration.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+    public final void CoreNamespaceDeclaration.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         handler.processNamespaceDeclaration(coreGetDeclaredPrefix(), coreGetCharacterData().toString());
     }
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java Sat Feb 27 12:06:01 2016
@@ -21,6 +21,7 @@ package org.apache.axiom.om.impl.common.
 import java.io.IOException;
 
 import org.apache.axiom.core.CoreElement;
+import org.apache.axiom.core.CoreModelException;
 import org.apache.axiom.core.stream.StreamException;
 import org.apache.axiom.core.stream.XmlHandler;
 import org.apache.axiom.core.stream.sax.ContentHandlerXmlHandler;
@@ -55,6 +56,8 @@ public class XMLReaderImpl extends Abstr
         }
         try {
             root.internalSerialize(handler, cache);
+        } catch (CoreModelException ex) {
+            throw new SAXException(ex);
         } catch (StreamException ex) {
             throw (SAXException)ex.getCause();
         }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java Sat Feb 27 12:06:01 2016
@@ -18,19 +18,8 @@
  */
 package org.apache.axiom.om.impl.intf;
 
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.core.stream.XmlHandler;
 import org.apache.axiom.om.OMSerializable;
 
 public interface AxiomSerializable extends OMSerializable, AxiomInformationItem {
     void setComplete(boolean state);
-
-    /**
-     * Serializes the node.
-     *
-     * @param serializer
-     * @param cache indicates if caching should be enabled
-     * @throws StreamException 
-     */
-    void internalSerialize(XmlHandler handler, boolean cache) throws StreamException;
 }

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=1732630&r1=1732629&r2=1732630&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 Sat Feb 27 12:06:01 2016
@@ -289,6 +289,8 @@ public aspect AxiomContainerSupport {
                     new MTOMXMLStreamWriter(xmlWriter);
         try {
             internalSerialize(createSerializer(writer, true), cache);
+        } catch (CoreModelException ex) {
+            throw AxiomExceptionTranslator.translate(ex);
         } catch (StreamException ex) {
             throw AxiomExceptionTranslator.toXMLStreamException(ex);
         }
@@ -299,6 +301,8 @@ public aspect AxiomContainerSupport {
         try {
             try {
                 internalSerialize(createSerializer(writer, false), cache);
+            } catch (CoreModelException ex) {
+                throw AxiomExceptionTranslator.translate(ex);
             } catch (StreamException ex) {
                 throw AxiomExceptionTranslator.toXMLStreamException(ex);
             }
@@ -351,7 +355,7 @@ public aspect AxiomContainerSupport {
         serialize(writer, format, false);
     }
 
-    final void AxiomContainer.serializeChildren(XmlHandler handler, boolean cache) throws StreamException {
+    final void AxiomContainer.serializeChildren(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         if (getState() == AxiomContainer.DISCARDED) {
             Builder builder = coreGetBuilder();
             if (builder != null) {

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj Sat Feb 27 12:06:01 2016
@@ -55,7 +55,7 @@ public aspect AxiomDocumentSupport {
         }
     }
 
-    public final void AxiomDocument.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
+    public final void AxiomDocument.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         handler.startDocument(coreGetInputEncoding(), coreGetXmlVersion(), coreGetXmlEncoding(), coreIsStandalone());
         serializeChildren(handler, cache);
         handler.endDocument();

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj?rev=1732630&r1=1732629&r2=1732630&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj Sat Feb 27 12:06:01 2016
@@ -535,7 +535,7 @@ public aspect AxiomElementSupport {
         return null;
     }
     
-    public final void AxiomElement.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
+    public final void AxiomElement.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
         XmlInput input = getXmlInput(cache);
         if (input != null) {
             // TODO: the serializer ignores namespaceURI and localName
@@ -545,11 +545,7 @@ public aspect AxiomElementSupport {
             }
         } else {
             forceExpand();
-            try {
-                coreSerializeStartPart(handler);
-            } catch (CoreModelException ex) {
-                throw new StreamException(ex);
-            }
+            coreSerializeStartPart(handler);
             serializeChildren(handler, cache);
             handler.endElement();
         }