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/26 19:21:16 UTC
svn commit: r1732530 [1/3] - in
/webservices/axiom/branches/maven-site-plugin-3.5: ./ aspects/core-aspects/
aspects/core-aspects/src/main/java/org/apache/axiom/core/
aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/
aspects/core-aspe...
Author: veithen
Date: Fri Feb 26 18:21:15 2016
New Revision: 1732530
URL: http://svn.apache.org/viewvc?rev=1732530&view=rev
Log:
Merge latest changes from trunk.
Added:
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceContextProvider.java
- copied unchanged from r1732529, webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceContextProvider.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/
- copied from r1732529, webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/
- copied from r1732529, webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
- copied unchanged from r1732529, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/XmlDeclarationRewriterHandler.java
- copied unchanged from r1732529, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/XmlDeclarationRewriterHandler.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/comment/
- copied from r1732529, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/comment/
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/doctype/
- copied from r1732529, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/doctype/
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/entref/
- copied from r1732529, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/entref/
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/pi/TestSerialize.java
- copied unchanged from r1732529, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/pi/TestSerialize.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestSerialize.java
- copied unchanged from r1732529, webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/text/TestSerialize.java
Removed:
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/NamespaceHelper.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/SerializerImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/
Modified:
webservices/axiom/branches/maven-site-plugin-3.5/ (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/pom.xml
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceRepairingFilterHandler.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/XmlHandler.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderListener.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/StAXSerializer.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomContainer.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/TextContent.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAPFactoryImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPMessageSupport.aj
webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java
webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/impl/MTOMXMLStreamWriter.java
webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/ (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/pom.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java
webservices/axiom/branches/maven-site-plugin-3.5/pom.xml
webservices/axiom/branches/maven-site-plugin-3.5/src/site/apt/roadmap.apt
webservices/axiom/branches/maven-site-plugin-3.5/src/site/markdown/release-notes/1.3.0.md
webservices/axiom/branches/maven-site-plugin-3.5/systests/old-tests/src/test/java/org/apache/axiom/om/impl/builder/StAXOMBuilderTest.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/pom.xml
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/dimension/serialization/SerializeToXMLStreamWriter.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetTextBinary.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMTextFromDataHandlerProvider.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestDetach.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/ (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIOM-124.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml (contents, props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-565.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/cdata.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/default-namespace.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/dtd.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-external-subset.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-internal-subset.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-with-markup.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/iso-8859-1.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/many-attributes.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/masked-namespace-declaration.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/namespaces.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/namespaces2.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/namespaces3.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/null-namespace.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/processingInstruction.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/sax-attribute-namespace-bug.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/sigEncr.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/spaces.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/utf-8.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/xml-prefix.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/dtd-full.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/entity-reference-nested.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/large.xml (props changed)
webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/simple.xml (props changed)
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 26 18:21:15 2016
@@ -13,3 +13,4 @@
/webservices/axiom/branches/attrs-aspects:1685218-1686663
/webservices/axiom/branches/namespaceURIInterning:1293148-1293587
/webservices/axiom/branches/osgi-redesign:1180368-1180596
+/webservices/axiom/trunk:1731125-1732529
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/pom.xml?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/pom.xml (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/pom.xml Fri Feb 26 18:21:15 2016
@@ -37,5 +37,9 @@
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
</dependencies>
</project>
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CharacterData.java Fri Feb 26 18:21:15 2016
@@ -18,6 +18,9 @@
*/
package org.apache.axiom.core;
+import java.io.IOException;
+import java.io.Writer;
+
/**
* Represents character data stored by a {@link CoreCharacterDataNode} instance. The content of a
* {@link CoreCharacterDataNode} is either a {@link String} object or an instance of this interface.
@@ -25,4 +28,5 @@ package org.apache.axiom.core;
public interface CharacterData {
<T> CharacterData clone(ClonePolicy<T> policy, T options);
String toString();
+ void writeTo(Writer writer) throws IOException;
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreAttribute.java Fri Feb 26 18:21:15 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 CoreAttribute extends NonDeferringParentNode, CoreCharacterDataContainingParentNode {
/**
* Get the owner element of this attribute.
@@ -59,4 +62,6 @@ 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/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareAttributeSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,11 +18,18 @@
*/
package org.apache.axiom.core.impl.mixin;
+import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.CoreNSAwareAttribute;
import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
public aspect CoreNSAwareAttributeSupport {
public final NodeType CoreNSAwareAttribute.coreGetNodeType() {
return NodeType.NS_AWARE_ATTRIBUTE;
}
+
+ public final void CoreNSAwareAttribute.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+ handler.processAttribute(coreGetNamespaceURI(), coreGetLocalName(), coreGetPrefix(), coreGetCharacterData().toString(), coreGetType(), coreGetSpecified());
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,8 +18,12 @@
*/
package org.apache.axiom.core.impl.mixin;
+import org.apache.axiom.core.CoreAttribute;
+import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
public aspect CoreNSAwareElementSupport {
public final NodeType CoreNSAwareElement.coreGetNodeType() {
@@ -33,4 +37,14 @@ public aspect CoreNSAwareElementSupport
public final String CoreNSAwareElement.getImplicitPrefix(String namespaceURI) {
return namespaceURI.equals(coreGetNamespaceURI()) ? coreGetPrefix() : null;
}
+
+ public final void CoreNSAwareElement.coreSerializeStartPart(XmlHandler handler) throws CoreModelException, StreamException {
+ handler.startElement(coreGetNamespaceURI(), coreGetLocalName(), coreGetPrefix());
+ CoreAttribute attr = coreGetFirstAttribute();
+ while (attr != null) {
+ attr.coreSerialize(handler);
+ attr = attr.coreGetNextAttribute();
+ }
+ handler.attributesCompleted();
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSUnawareAttributeSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,11 +18,19 @@
*/
package org.apache.axiom.core.impl.mixin;
+import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.CoreNSUnawareAttribute;
import org.apache.axiom.core.NodeType;
+import org.apache.axiom.core.stream.StreamException;
+import org.apache.axiom.core.stream.XmlHandler;
public aspect CoreNSUnawareAttributeSupport {
public final NodeType CoreNSUnawareAttribute.coreGetNodeType() {
return NodeType.NS_UNAWARE_ATTRIBUTE;
}
+
+ public final void CoreNSUnawareAttribute.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+ // TODO
+ throw new UnsupportedOperationException();
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNamespaceDeclarationSupport.aj Fri Feb 26 18:21:15 2016
@@ -19,9 +19,12 @@
package org.apache.axiom.core.impl.mixin;
import org.apache.axiom.core.ClonePolicy;
+import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.CoreNamespaceDeclaration;
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 CoreNamespaceDeclarationSupport {
public final NodeType CoreNamespaceDeclaration.coreGetNodeType() {
@@ -32,4 +35,8 @@ public aspect CoreNamespaceDeclarationSu
// TODO: this is correct but bad for performance with the Axiom API
coreSetDeclaredNamespace(((CoreNamespaceDeclaration)other).coreGetDeclaredPrefix(), "");
}
+
+ public final void CoreNamespaceDeclaration.coreSerialize(XmlHandler handler) throws CoreModelException, StreamException {
+ handler.processNamespaceDeclaration(coreGetDeclaredPrefix(), coreGetCharacterData().toString());
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj Fri Feb 26 18:21:15 2016
@@ -67,7 +67,7 @@ public aspect CoreParentNodeSupport {
Content content = new Content();
CoreCharacterDataNode cdata = coreGetNodeFactory().createNode(CoreCharacterDataNode.class);
cdata.internalSetParent(this);
- cdata.coreSetCharacterData((String)this.content);
+ cdata.coreSetCharacterData(this.content);
content.firstChild = cdata;
content.lastChild = cdata;
this.content = content;
@@ -129,8 +129,8 @@ public aspect CoreParentNodeSupport {
case CoreParentNode.INCOMPLETE:
do {
buildNext();
- } while (getState() == CoreParentNode.INCOMPLETE
- && (firstChild = coreGetFirstChildIfAvailable()) == null);
+ } while ((firstChild = coreGetFirstChildIfAvailable()) == null
+ && getState() == CoreParentNode.INCOMPLETE);
}
}
return firstChild;
@@ -241,7 +241,7 @@ public aspect CoreParentNodeSupport {
final Object CoreParentNode.internalGetCharacterData(ElementAction elementAction) throws CoreModelException {
if (getState() == COMPACT) {
- return (String)content;
+ return content;
} else {
Object textContent = null;
StringBuilder buffer = null;
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceRepairingFilterHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceRepairingFilterHandler.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceRepairingFilterHandler.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/NamespaceRepairingFilterHandler.java Fri Feb 26 18:21:15 2016
@@ -21,28 +21,19 @@ package org.apache.axiom.core.stream;
import javax.xml.XMLConstants;
public final class NamespaceRepairingFilterHandler extends XmlHandlerWrapper {
+ private final NamespaceContextProvider parentNamespaceContext;
+ private final boolean removeRedundantDeclarations;
private String[] namespaceStack = new String[32];
private int bindings;
private int[] scopeStack = new int[8];
private int scopes;
- public NamespaceRepairingFilterHandler(XmlHandler parent) {
+ public NamespaceRepairingFilterHandler(XmlHandler parent, NamespaceContextProvider parentNamespaceContext, boolean removeRedundantDeclarations) {
super(parent);
+ this.parentNamespaceContext = parentNamespaceContext;
+ this.removeRedundantDeclarations = removeRedundantDeclarations;
}
- private boolean isBound(String prefix, String namespaceURI) {
- if (prefix.equals(XMLConstants.XML_NS_PREFIX) && namespaceURI.equals(XMLConstants.XML_NS_URI)) {
- return true;
- } else {
- for (int i=(bindings-1)*2; i>=0; i-=2) {
- if (prefix.equals(namespaceStack[i])) {
- return namespaceURI.equals(namespaceStack[i+1]);
- }
- }
- return prefix.length() == 0 && namespaceURI.length() == 0;
- }
- }
-
private void setPrefix(String prefix, String namespaceURI) {
if (bindings*2 == namespaceStack.length) {
int len = namespaceStack.length;
@@ -56,7 +47,27 @@ public final class NamespaceRepairingFil
}
private void ensureNamespaceDeclared(String prefix, String namespaceURI) throws StreamException {
- if (!isBound(prefix, namespaceURI)) {
+ if (prefix.equals(XMLConstants.XML_NS_PREFIX) && namespaceURI.equals(XMLConstants.XML_NS_URI)) {
+ return;
+ }
+ boolean prefixFound = false;
+ for (int i=(bindings-1)*2; i>=0; i-=2) {
+ if (prefix.equals(namespaceStack[i])) {
+ if (namespaceURI.equals(namespaceStack[i+1])) {
+ return;
+ } else {
+ prefixFound = true;
+ break;
+ }
+ }
+ }
+ if (!prefixFound && parentNamespaceContext != null) {
+ if (!parentNamespaceContext.isBound(prefix, namespaceURI)) {
+ super.processNamespaceDeclaration(prefix, namespaceURI);
+ }
+ // Always call setPrefix even if the namespace is bound, so that we cache the lookup
+ setPrefix(prefix, namespaceURI);
+ } else if (prefixFound || !prefix.isEmpty() || !namespaceURI.isEmpty()) {
super.processNamespaceDeclaration(prefix, namespaceURI);
setPrefix(prefix, namespaceURI);
}
@@ -86,17 +97,21 @@ public final class NamespaceRepairingFil
}
public void processNamespaceDeclaration(String prefix, String namespaceURI) throws StreamException {
- for (int i = scopeStack[scopes-1]; i < bindings; i++) {
- if (namespaceStack[i*2].equals(prefix)) {
- if (namespaceStack[i*2+1].equals(namespaceURI)) {
- return;
- } else {
- // TODO: this causes a failure in the FOM tests
+ if (removeRedundantDeclarations) {
+ ensureNamespaceDeclared(prefix, namespaceURI);
+ } else {
+ for (int i = scopeStack[scopes-1]; i < bindings; i++) {
+ if (namespaceStack[i*2].equals(prefix)) {
+ if (namespaceStack[i*2+1].equals(namespaceURI)) {
+ return;
+ } else {
+ // TODO: this causes a failure in the FOM tests
// throw new OMException("The same prefix cannot be bound to two different namespaces");
+ }
}
}
+ super.processNamespaceDeclaration(prefix, namespaceURI);
+ setPrefix(prefix, namespaceURI);
}
- super.processNamespaceDeclaration(prefix, namespaceURI);
- setPrefix(prefix, namespaceURI);
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/XmlHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/XmlHandler.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/XmlHandler.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/XmlHandler.java Fri Feb 26 18:21:15 2016
@@ -26,12 +26,50 @@ public interface XmlHandler {
void processDocumentTypeDeclaration(String rootName, String publicId,
String systemId, String internalSubset) throws StreamException;
+ /**
+ * Prepare to write an element start tag. A call to this method will be followed by zero or more
+ * calls to {@link #processNamespaceDeclaration(String, String)} and
+ * {@link #processAttribute(String, String, String, String, String)} and a single call to
+ * {@link #attributesCompleted()}.
+ *
+ * @param namespaceURI
+ * the namespace URI of the element; never <code>null</code>
+ * @param localName
+ * the local name of the element; never <code>null</code>
+ * @param prefix
+ * the prefix of the element; never <code>null</code>
+ * @throws StreamException
+ */
void startElement(String namespaceURI, String localName, String prefix) throws StreamException;
void endElement() throws StreamException;
+ /**
+ * Add the given attribute to the element.
+ *
+ * @param namespaceURI
+ * the namespace URI or the attribute; never <code>null</code>
+ * @param localName
+ * the local name of the attribute; never <code>null</code>
+ * @param prefix
+ * the namespace prefix of the attribute; never <code>null</code>
+ * @param value
+ * the value of the attribute; never <code>null</code>
+ * @param type
+ * the attribute type (e.g. <tt>CDATA</tt>); never <code>null</code>
+ * @throws StreamException
+ */
void processAttribute(String namespaceURI, String localName, String prefix, String value, String type, boolean specified) throws StreamException;
+ /**
+ * Add the given namespace declaration to the element.
+ *
+ * @param prefix
+ * the namespace prefix; never <code>null</code>
+ * @param namespaceURI
+ * the namespace URI; never <code>null</code>
+ * @throws StreamException
+ */
void processNamespaceDeclaration(String prefix, String namespaceURI) throws StreamException;
void attributesCompleted() throws StreamException;
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java Fri Feb 26 18:21:15 2016
@@ -33,7 +33,7 @@ public abstract class AbstractBuilder im
public AbstractBuilder(NodeFactory nodeFactory, Model model, AxiomSourcedElement root, boolean repairNamespaces) {
builderHandler = new BuilderHandler(nodeFactory, model, root, this);
- handler = repairNamespaces ? new NamespaceRepairingFilterHandler(builderHandler) : builderHandler;
+ handler = repairNamespaces ? new NamespaceRepairingFilterHandler(builderHandler, null, false) : builderHandler;
}
public final void addListener(BuilderListener listener) {
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java Fri Feb 26 18:21:15 2016
@@ -30,23 +30,8 @@ import org.apache.axiom.core.Builder;
import org.apache.axiom.core.CoreNode;
import org.apache.axiom.core.CoreParentNode;
import org.apache.axiom.core.NodeFactory;
-import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.common.AxiomSemantics;
-import org.apache.axiom.om.impl.common.OMNamespaceImpl;
-import org.apache.axiom.om.impl.intf.AxiomAttribute;
-import org.apache.axiom.om.impl.intf.AxiomCDATASection;
-import org.apache.axiom.om.impl.intf.AxiomCharacterDataNode;
-import org.apache.axiom.om.impl.intf.AxiomChildNode;
-import org.apache.axiom.om.impl.intf.AxiomComment;
-import org.apache.axiom.om.impl.intf.AxiomContainer;
-import org.apache.axiom.om.impl.intf.AxiomDocType;
import org.apache.axiom.om.impl.intf.AxiomDocument;
-import org.apache.axiom.om.impl.intf.AxiomElement;
-import org.apache.axiom.om.impl.intf.AxiomEntityReference;
-import org.apache.axiom.om.impl.intf.AxiomNamespaceDeclaration;
-import org.apache.axiom.om.impl.intf.AxiomProcessingInstruction;
import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -54,14 +39,12 @@ import org.apache.commons.logging.LogFac
public final class BuilderHandler implements XmlHandler {
private static final Log log = LogFactory.getLog(BuilderHandler.class);
- private static final OMNamespace DEFAULT_NS = new OMNamespaceImpl("", "");
-
- private final NodeFactory nodeFactory;
- private final Model model;
- private final AxiomSourcedElement root;
- private final Builder builder;
- private final OMNamespaceCache nsCache = new OMNamespaceCache();
- public AxiomContainer target;
+ final NodeFactory nodeFactory;
+ final Model model;
+ final AxiomSourcedElement root;
+ final Builder builder;
+ final OMNamespaceCache nsCache = new OMNamespaceCache();
+ public Context context;
// returns the state of completion
public boolean done;
// keeps the state of the cache
@@ -89,6 +72,7 @@ public final class BuilderHandler implem
this.model = model;
this.root = root;
this.builder = builder;
+ context = new Context(this, null, 0);
}
public void addListener(BuilderListener listener) {
@@ -98,7 +82,7 @@ public final class BuilderHandler implem
listeners.add(listener);
}
- private void nodeAdded(CoreNode node) {
+ void nodeAdded(CoreNode node) {
if (listeners != null) {
for (int i=0, size=listeners.size(); i<size; i++) {
Runnable action = listeners.get(i).nodeAdded(node, depth);
@@ -133,11 +117,6 @@ public final class BuilderHandler implem
}
}
- private void addChild(AxiomChildNode node) {
- target.addChild(node, true);
- nodeAdded(node);
- }
-
public void startDocument(String inputEncoding, String xmlVersion, String xmlEncoding, boolean standalone) {
if (root == null) {
document = nodeFactory.createNode(model.getDocumentType());
@@ -147,123 +126,68 @@ public final class BuilderHandler implem
document.coreSetStandalone(standalone);
document.coreSetBuilder(builder);
nodeAdded(document);
- target = document;
+ context.target = document;
}
}
public void processDocumentTypeDeclaration(String rootName, String publicId, String systemId,
String internalSubset) {
model.validateEventType(XMLStreamConstants.DTD);
- AxiomDocType node = nodeFactory.createNode(AxiomDocType.class);
- node.coreSetRootName(rootName);
- node.coreSetPublicId(publicId);
- node.coreSetSystemId(systemId);
- node.coreSetInternalSubset(internalSubset);
- addChild(node);
+ context.processDocumentTypeDeclaration(rootName, publicId, systemId, internalSubset);
}
public void startElement(String namespaceURI, String localName, String prefix) {
depth++;
- AxiomElement element;
- OMNamespace ns = nsCache.getOMNamespace(namespaceURI, prefix);
- if (depth == 1 && root != null) {
- root.validateName(prefix, localName, namespaceURI);
- root.initName(localName, ns, false);
- element = root;
- } else {
- element = nodeFactory.createNode(model.determineElementType(
- target, depth, namespaceURI, localName));
- element.coreSetBuilder(builder);
- element.coreSetState(CoreParentNode.ATTRIBUTES_PENDING);
- element.initName(localName, ns, false);
- addChild(element);
- }
- target = element;
+ context = context.startElement(namespaceURI, localName, prefix);
}
public void endElement() {
+ context = context.endElement();
depth--;
- target.setComplete(true);
- if (depth == 0) {
- // This is relevant for OMSourcedElements and for the case where the document has been discarded
- // using getDocumentElement(true). In these cases, this will actually set target to null. In all
- // other cases, this will have the same effect as the instruction in the else clause.
- target = document;
- } else {
- target = (AxiomContainer)((AxiomElement)target).getParent();
- }
}
public void processAttribute(String namespaceURI, String localName, String prefix, String value, String type, boolean specified) {
- OMNamespace ns = nsCache.getOMNamespace(namespaceURI, prefix);
- AxiomAttribute attr = nodeFactory.createNode(AxiomAttribute.class);
- attr.internalSetLocalName(localName);
- attr.coreSetCharacterData(value, AxiomSemantics.INSTANCE);
- attr.internalSetNamespace(ns);
- attr.coreSetType(type);
- attr.coreSetSpecified(specified);
- ((AxiomElement)target).coreAppendAttribute(attr);
+ context.processAttribute(namespaceURI, localName, prefix, value, type, specified);
}
public void processNamespaceDeclaration(String prefix, String namespaceURI) {
- OMNamespace ns = nsCache.getOMNamespace(namespaceURI, prefix);
- if (ns == null) {
- ns = DEFAULT_NS;
- }
- AxiomNamespaceDeclaration decl = nodeFactory.createNode(AxiomNamespaceDeclaration.class);
- decl.setDeclaredNamespace(ns);
- ((AxiomElement)target).coreAppendAttribute(decl);
+ context.processNamespaceDeclaration(prefix, namespaceURI);
}
public void attributesCompleted() {
- target.coreSetState(CoreParentNode.INCOMPLETE);
+ context.attributesCompleted();
}
public void processCharacterData(Object data, boolean ignorable) {
- AxiomCharacterDataNode node = nodeFactory.createNode(AxiomCharacterDataNode.class);
- node.coreSetCharacterData(data);
- node.coreSetIgnorable(ignorable);
- addChild(node);
+ context.processCharacterData(data, ignorable);
}
public void processProcessingInstruction(String piTarget, String piData) {
model.validateEventType(XMLStreamConstants.PROCESSING_INSTRUCTION);
- AxiomProcessingInstruction node = nodeFactory.createNode(AxiomProcessingInstruction.class);
- node.coreSetTarget(piTarget);
- node.coreSetCharacterData(piData, AxiomSemantics.INSTANCE);
- addChild(node);
+ context.processProcessingInstruction(piTarget, piData);
}
public void processComment(String content) {
model.validateEventType(XMLStreamConstants.COMMENT);
- AxiomComment node = nodeFactory.createNode(AxiomComment.class);
- node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
- addChild(node);
+ context.processComment(content);
}
public void processCDATASection(String content) {
model.validateEventType(XMLStreamConstants.CDATA);
- AxiomCDATASection node = nodeFactory.createNode(AxiomCDATASection.class);
- node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
- addChild(node);
+ context.processCDATASection(content);
}
public void processEntityReference(String name, String replacementText) {
model.validateEventType(XMLStreamConstants.ENTITY_REFERENCE);
- AxiomEntityReference node = nodeFactory.createNode(AxiomEntityReference.class);
- node.coreSetName(name);
- node.coreSetReplacementText(replacementText);
- addChild(node);
+ context.processEntityReference(name, replacementText);
}
public void endDocument() {
if (depth != 0) {
throw new IllegalStateException();
}
- if (document != null) {
- document.setComplete(true);
- }
- target = null;
+ context.endDocument();
+ context = null;
done = true;
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderListener.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderListener.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderListener.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderListener.java Fri Feb 26 18:21:15 2016
@@ -18,17 +18,19 @@
*/
package org.apache.axiom.om.impl.common.builder;
+import org.apache.axiom.core.CoreCharacterDataNode;
import org.apache.axiom.core.CoreDocument;
import org.apache.axiom.core.CoreNode;
public interface BuilderListener {
/**
- * Inform the listener that a node has been added to the tree. Note that this method will also
- * be invoked for the {@link CoreDocument}. Since the builder is not reentrant, implementations
- * must not perform any operations on the node that would require building additional nodes. If
- * such operations need to be executed, the listener should return a {@link Runnable}
- * encapsulating these operations. The builder will then execute that runnable as soon as it is
- * safe to do so.
+ * Inform the listener that a node has been added to the tree. Note that this method will not be
+ * invoked for {@link CoreCharacterDataNode}s (because they are created lazily). On the other
+ * hand, it will be invoked for the {@link CoreDocument}. Since the builder is not reentrant,
+ * implementations must not perform any operations on the node that would require building
+ * additional nodes. If such operations need to be executed, the listener should return a
+ * {@link Runnable} encapsulating these operations. The builder will then execute that runnable
+ * as soon as it is safe to do so.
*
* @param node
* the node that has been added
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java Fri Feb 26 18:21:15 2016
@@ -104,20 +104,20 @@ public class StAXOMBuilder extends Abstr
public final void discard(CoreParentNode container) {
int targetElementLevel = builderHandler.depth;
- AxiomContainer current = builderHandler.target;
- while (current != container) {
+ Context current = builderHandler.context;
+ while (current.target != container) {
targetElementLevel--;
- current = (AxiomContainer)((OMElement)current).getParent();
+ current = current.parentContext;
}
if (targetElementLevel == 0 || targetElementLevel == 1 && builderHandler.document == null) {
close();
- current = builderHandler.target;
+ current = builderHandler.context;
while (true) {
- discarded(current);
- if (current == container) {
+ discarded(current.target);
+ if (current.target == container) {
break;
}
- current = (AxiomContainer)((OMElement)current).getParent();
+ current = current.parentContext;
}
return;
}
@@ -131,9 +131,9 @@ public class StAXOMBuilder extends Abstr
if (skipDepth > 0) {
skipDepth--;
} else {
- discarded(builderHandler.target);
- boolean found = container == builderHandler.target;
- builderHandler.target = (AxiomContainer)((OMElement)builderHandler.target).getParent();
+ discarded(builderHandler.context.target);
+ boolean found = container == builderHandler.context.target;
+ builderHandler.context = builderHandler.context.parentContext;
builderHandler.depth--;
if (found) {
break loop;
@@ -144,11 +144,11 @@ public class StAXOMBuilder extends Abstr
if (skipDepth != 0 || builderHandler.depth != 0) {
throw new OMException("Unexpected END_DOCUMENT");
}
- if (builderHandler.target != builderHandler.document) {
+ if (builderHandler.context.target != builderHandler.document) {
throw new OMException("Called discard for an element that is not being built by this builder");
}
- discarded(builderHandler.target);
- builderHandler.target = null;
+ discarded(builderHandler.context.target);
+ builderHandler.context = null;
builderHandler.done = true;
break loop;
}
@@ -214,16 +214,16 @@ public class StAXOMBuilder extends Abstr
if (!builderHandler.cache) {
parserAccessed = true;
// Mark all containers in the hierarchy as discarded because they can no longer be built
- AxiomContainer current = builderHandler.target;
+ Context current = builderHandler.context;
while (builderHandler.depth > 0) {
- discarded(current);
- current = (AxiomContainer)((OMElement)current).getParent();
+ discarded(current.target);
+ current = current.parentContext;
builderHandler.depth--;
}
- if (current != null && current == builderHandler.document) {
- discarded(current);
+ if (current != null && current.target == builderHandler.document) {
+ discarded(current.target);
}
- builderHandler.target = null;
+ builderHandler.context = null;
return helper.parser;
} else {
throw new IllegalStateException(
@@ -245,34 +245,34 @@ public class StAXOMBuilder extends Abstr
// This method expects that the parser is currently positioned on the
// end event corresponding to the container passed as parameter
public final void reenableCaching(CoreParentNode container) {
- AxiomContainer current = builderHandler.target;
+ Context current = builderHandler.context;
while (true) {
- discarded(current);
+ discarded(current.target);
if (builderHandler.depth == 0) {
- if (current != container || current != builderHandler.document) {
+ if (current.target != container || current.target != builderHandler.document) {
throw new IllegalStateException();
}
break;
}
builderHandler.depth--;
- if (current == container) {
+ if (current.target == container) {
break;
}
- current = (AxiomContainer)((OMElement)current).getParent();
+ current = current.parentContext;
}
// Note that at this point current == container
if (container == builderHandler.document) {
- builderHandler.target = null;
+ builderHandler.context = null;
builderHandler.done = true;
} else if (builderHandler.depth == 0 && builderHandler.document == null) {
// Consume the remaining event; for the rationale, see StAXOMBuilder#next()
while (helper.parserNext() != XMLStreamConstants.END_DOCUMENT) {
// Just loop
}
- builderHandler.target = null;
+ builderHandler.context = null;
builderHandler.done = true;
} else {
- builderHandler.target = (AxiomContainer)((OMElement)container).getParent();
+ builderHandler.context = builderHandler.context.parentContext;
}
if (log.isDebugEnabled()) {
log.debug("Caching re-enabled; new element level: " + builderHandler.depth + "; done=" + builderHandler.done);
@@ -349,7 +349,7 @@ public class StAXOMBuilder extends Abstr
builderHandler.executeDeferredListenerActions();
// TODO: this will fail if there is whitespace before the document element
- if (event != XMLStreamConstants.START_DOCUMENT && builderHandler.target == null && !builderHandler.done) {
+ if (event != XMLStreamConstants.START_DOCUMENT && builderHandler.depth == 0 && builderHandler.document == null && !builderHandler.done) {
// We get here if the document has been discarded (by getDocumentElement(true)
// or because the builder is linked to an OMSourcedElement) and
// we just processed the END_ELEMENT event for the root element. In this case, we consume
@@ -398,6 +398,6 @@ public class StAXOMBuilder extends Abstr
}
public final AxiomContainer getTarget() {
- return builderHandler.target;
+ return builderHandler.context.target;
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java Fri Feb 26 18:21:15 2016
@@ -32,6 +32,7 @@ import javax.xml.transform.sax.SAXSource
import javax.xml.transform.stream.StreamSource;
import org.apache.axiom.core.NodeFactory;
+import org.apache.axiom.core.stream.sax.SAXInput;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
@@ -40,7 +41,6 @@ import org.apache.axiom.om.impl.builder.
import org.apache.axiom.om.impl.common.builder.PlainXMLModel;
import org.apache.axiom.om.impl.common.builder.PushBuilder;
import org.apache.axiom.om.impl.common.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.stream.sax.SAXInput;
import org.apache.axiom.om.util.StAXParserConfiguration;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.soap.SOAP12Constants;
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/OMFactoryImpl.java Fri Feb 26 18:21:15 2016
@@ -20,6 +20,7 @@ package org.apache.axiom.om.impl.common.
import static org.apache.axiom.util.xml.NSUtils.generatePrefix;
+import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import org.apache.axiom.core.CoreModelException;
@@ -98,7 +99,7 @@ public class OMFactoryImpl implements OM
node.coreSetSystemId(systemId);
node.coreSetInternalSubset(internalSubset);
if (parent != null) {
- ((AxiomContainer)parent).addChild(node, false);
+ ((AxiomContainer)parent).addChild(node);
}
return node;
}
@@ -124,7 +125,7 @@ public class OMFactoryImpl implements OM
throw new IllegalArgumentException("Invalid node type");
}
if (parent != null) {
- ((AxiomContainer)parent).addChild(node, false);
+ ((AxiomContainer)parent).addChild(node);
}
node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
return node;
@@ -179,7 +180,7 @@ public class OMFactoryImpl implements OM
}
}
- public final OMText createOMText(Object dataHandler, boolean optimize) {
+ public final OMText createOMText(DataHandler dataHandler, boolean optimize) {
return createAxiomText(null, new TextContent(null, dataHandler, optimize), OMNode.TEXT_NODE);
}
@@ -193,7 +194,7 @@ public class OMFactoryImpl implements OM
node.coreSetTarget(piTarget);
node.coreSetCharacterData(piData, AxiomSemantics.INSTANCE);
if (parent != null) {
- ((AxiomContainer)parent).addChild(node, false);
+ ((AxiomContainer)parent).addChild(node);
}
return node;
}
@@ -202,7 +203,7 @@ public class OMFactoryImpl implements OM
AxiomEntityReference node = createNode(AxiomEntityReference.class);
node.coreSetName(name);
if (parent != null) {
- ((AxiomContainer)parent).addChild(node, false);
+ ((AxiomContainer)parent).addChild(node);
}
return node;
}
@@ -211,7 +212,7 @@ public class OMFactoryImpl implements OM
AxiomComment node = createNode(AxiomComment.class);
node.coreSetCharacterData(content, AxiomSemantics.INSTANCE);
if (parent != null) {
- ((AxiomContainer)parent).addChild(node, false);
+ ((AxiomContainer)parent).addChild(node);
}
return node;
}
@@ -224,7 +225,7 @@ public class OMFactoryImpl implements OM
OMContainer parent, String localName, OMNamespace ns) {
T element = createNode(type);
if (parent != null) {
- ((AxiomContainer)parent).addChild(element, false);
+ ((AxiomContainer)parent).addChild(element);
}
element.initName(localName, ns, true);
return element;
Modified: webservices/axiom/branches/maven-site-plugin-3.5/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/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/XMLReaderImpl.java Fri Feb 26 18:21:15 2016
@@ -20,8 +20,11 @@ package org.apache.axiom.om.impl.common.
import java.io.IOException;
+import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.sax.ContentHandlerXmlHandler;
+import org.apache.axiom.om.impl.common.serializer.push.NamespaceContextPreservationFilterHandler;
import org.apache.axiom.om.impl.intf.AxiomContainer;
import org.apache.axiom.util.sax.AbstractXMLReader;
import org.xml.sax.InputSource;
@@ -45,9 +48,13 @@ public class XMLReaderImpl extends Abstr
}
private void parse() throws SAXException {
+ XmlHandler handler = new ContentHandlerXmlHandler(contentHandler, lexicalHandler);
+ CoreElement contextElement = root.getContextElement();
+ if (contextElement != null) {
+ handler = new NamespaceContextPreservationFilterHandler(handler, contextElement);
+ }
try {
- root.internalSerialize(new SAXSerializer(contentHandler, lexicalHandler).buildHandler(root, false, true),
- new OMOutputFormat(), cache);
+ root.internalSerialize(handler, cache);
} catch (StreamException ex) {
throw (SAXException)ex.getCause();
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/StAXSerializer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/StAXSerializer.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/StAXSerializer.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/StAXSerializer.java Fri Feb 26 18:21:15 2016
@@ -24,22 +24,13 @@ import org.apache.axiom.core.stream.Stre
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMSerializable;
-import org.apache.axiom.om.impl.common.serializer.push.SerializerImpl;
+import org.apache.axiom.om.impl.intf.TextContent;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import javax.activation.DataHandler;
-import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-public class StAXSerializer extends SerializerImpl {
- private static final Log log = LogFactory.getLog(StAXSerializer.class);
-
+public class StAXSerializer implements XmlHandler {
private final XMLStreamWriter writer;
private DataHandlerWriter dataHandlerWriter;
@@ -47,10 +38,6 @@ public class StAXSerializer extends Seri
this.writer = writer;
}
- public XmlHandler buildHandler(OMSerializable root) {
- return buildHandler(root, true, false);
- }
-
public XMLStreamWriter getWriter() {
return writer;
}
@@ -109,102 +96,40 @@ public class StAXSerializer extends Seri
// Nothing to do here
}
- /**
- * @param prefix
- * @param namespace
- * @return true if the prefix is associated with the namespace in the current context
- */
- protected boolean isAssociated(String prefix, String namespace) throws StreamException {
- try {
- // The "xml" prefix is always (implicitly) associated. Returning true here makes sure that
- // we never write a declaration for the xml namespace. See AXIOM-37 for a discussion
- // of this issue.
- if ("xml".equals(prefix)) {
- return true;
- }
-
- // NOTE: Calling getNamespaceContext() on many XMLStreamWriter implementations is expensive.
- // Please use other writer methods first.
-
- // For consistency, convert null arguments.
- // This helps get around the parser implementation differences.
- // In addition, the getPrefix/getNamespace methods cannot be called with null parameters.
- prefix = (prefix == null) ? "" : prefix;
- namespace = (namespace == null) ? "" : namespace;
-
- if (namespace.length() > 0) {
- // QUALIFIED NAMESPACE
- // Get the namespace associated with the prefix
- String writerPrefix = writer.getPrefix(namespace);
- if (prefix.equals(writerPrefix)) {
- return true;
- }
-
- // It is possible that the namespace is associated with multiple prefixes,
- // So try getting the namespace as a second step.
- if (writerPrefix != null) {
- NamespaceContext nsContext = writer.getNamespaceContext();
- if(nsContext != null) {
- String writerNS = nsContext.getNamespaceURI(prefix);
- return namespace.equals(writerNS);
- }
- }
- return false;
- } else {
- // UNQUALIFIED NAMESPACE
-
- // Neither XML 1.0 nor XML 1.1 allow to associate a prefix with an unqualified name (see also AXIOM-372).
- if (prefix.length() > 0) {
- throw new OMException("Invalid namespace declaration: Prefixed namespace bindings may not be empty.");
- }
-
- // Get the namespace associated with the prefix.
- // It is illegal to call getPrefix with null, but the specification is not
- // clear on what happens if called with "". So the following code is
- // protected
- try {
- String writerPrefix = writer.getPrefix("");
- if (writerPrefix != null && writerPrefix.length() == 0) {
- return true;
- }
- } catch (Throwable t) {
- if (log.isDebugEnabled()) {
- log.debug("Caught exception from getPrefix(\"\"). Processing continues: " + t);
- }
- }
-
-
-
- // Fallback to using the namespace context
- NamespaceContext nsContext = writer.getNamespaceContext();
- if (nsContext != null) {
- String writerNS = nsContext.getNamespaceURI("");
- if (writerNS != null && writerNS.length() > 0) {
- return false;
- }
- }
- return true;
- }
+ public void endElement() throws StreamException {
+ try {
+ writer.writeEndElement();
} catch (XMLStreamException ex) {
throw new StreamException(ex);
}
}
- public void endElement() throws StreamException {
+ public void processCharacterData(Object data, boolean ignorable) throws StreamException {
try {
- writer.writeEndElement();
+ if (data instanceof TextContent) {
+ TextContent textContent = (TextContent)data;
+ if (textContent.isBinary()) {
+ Object dataHandlerObject = textContent.getDataHandlerObject();
+ if (dataHandlerObject instanceof DataHandlerProvider) {
+ getDataHandlerWriter().writeDataHandler((DataHandlerProvider)dataHandlerObject, textContent.getContentID(), textContent.isOptimize());
+ } else {
+ getDataHandlerWriter().writeDataHandler(textContent.getDataHandler(), textContent.getContentID(), textContent.isOptimize());
+ }
+ return;
+ }
+ }
+ writer.writeCharacters(data.toString());
} catch (XMLStreamException ex) {
throw new StreamException(ex);
+ } catch (IOException ex) {
+ throw new StreamException(ex);
}
}
-
- public void writeText(int type, String data) throws StreamException {
+
+ @Override
+ public void processCDATASection(String content) throws StreamException {
try {
- if (type == OMNode.CDATA_SECTION_NODE) {
- writer.writeCData(data);
- } else {
- writer.writeCharacters(data);
- }
+ writer.writeCData(content);
} catch (XMLStreamException ex) {
throw new StreamException(ex);
}
@@ -242,26 +167,6 @@ public class StAXSerializer extends Seri
return dataHandlerWriter;
}
- public void writeDataHandler(DataHandler dataHandler, String contentID, boolean optimize) throws StreamException {
- try {
- getDataHandlerWriter().writeDataHandler(dataHandler, contentID, optimize);
- } catch (IOException ex) {
- throw new StreamException("Error while reading data handler", ex);
- } catch (XMLStreamException ex) {
- throw new StreamException(ex);
- }
- }
-
- public void writeDataHandler(DataHandlerProvider dataHandlerProvider, String contentID, boolean optimize) throws StreamException {
- try {
- getDataHandlerWriter().writeDataHandler(dataHandlerProvider, contentID, optimize);
- } catch (IOException ex) {
- throw new StreamException("Error while reading data handler", ex);
- } catch (XMLStreamException ex) {
- throw new StreamException(ex);
- }
- }
-
public void endDocument() throws StreamException {
// TODO: the original StAX serialization code newer called writeEndDocument; this is probably a mistake
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomContainer.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomContainer.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomContainer.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomContainer.java Fri Feb 26 18:21:15 2016
@@ -25,8 +25,6 @@ import org.apache.axiom.om.OMNode;
public interface AxiomContainer extends OMContainer, AxiomCoreParentNode {
void discarded();
- void addChild(OMNode omNode, boolean fromBuilder);
-
/**
* Check if the node can be added as a child of this container.
*
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/AxiomSerializable.java Fri Feb 26 18:21:15 2016
@@ -20,7 +20,6 @@ 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.OMOutputFormat;
import org.apache.axiom.om.OMSerializable;
public interface AxiomSerializable extends OMSerializable, AxiomInformationItem {
@@ -30,9 +29,8 @@ public interface AxiomSerializable exten
* Serializes the node.
*
* @param serializer
- * @param format
* @param cache indicates if caching should be enabled
* @throws StreamException
*/
- void internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException;
+ void internalSerialize(XmlHandler handler, boolean cache) throws StreamException;
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/TextContent.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/TextContent.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/TextContent.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/intf/TextContent.java Fri Feb 26 18:21:15 2016
@@ -19,6 +19,7 @@
package org.apache.axiom.om.impl.intf;
import java.io.IOException;
+import java.io.Writer;
import javax.activation.DataHandler;
@@ -29,6 +30,7 @@ import org.apache.axiom.ext.stax.datahan
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMException;
import org.apache.axiom.util.UIDGenerator;
+import org.apache.axiom.util.base64.Base64EncodingWriterOutputStream;
import org.apache.axiom.util.base64.Base64Utils;
public final class TextContent implements CharacterData {
@@ -158,8 +160,19 @@ public final class TextContent implement
if (binary && options instanceof OMCloneOptions && ((OMCloneOptions)options).isFetchDataHandlers()) {
// Force loading of the reference to the DataHandler and ensure that its content is
// completely fetched into memory (or temporary storage).
- ((DataHandler)getDataHandler()).getDataSource();
+ getDataHandler().getDataSource();
}
return new TextContent(this);
}
+
+ @Override
+ public void writeTo(Writer writer) throws IOException {
+ if (binary) {
+ Base64EncodingWriterOutputStream out = new Base64EncodingWriterOutputStream(writer, 4096, true);
+ getDataHandler().writeTo(out);
+ out.complete();
+ } else {
+ writer.write(value);
+ }
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,11 +18,13 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
import org.apache.axiom.om.impl.intf.AxiomCDATASection;
@@ -31,11 +33,19 @@ public aspect AxiomCDATASectionSupport {
return OMNode.CDATA_SECTION_NODE;
}
- public final void AxiomCDATASection.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomCDATASection.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
try {
handler.processCDATASection(coreGetCharacterData().toString());
} catch (CoreModelException ex) {
throw AxiomExceptionTranslator.translate(ex);
}
+ }
+
+ public final void AxiomCDATASection.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ writer.writeCData(coreGetCharacterData().toString());
+ } catch (CoreModelException ex) {
+ throw AxiomExceptionTranslator.translate(ex);
+ }
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,10 +18,12 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.intf.AxiomCharacterDataNode;
public aspect AxiomCharacterDataNodeSupport {
@@ -29,7 +31,11 @@ public aspect AxiomCharacterDataNodeSupp
return coreIsIgnorable() ? OMNode.SPACE_NODE : OMNode.TEXT_NODE;
}
- public final void AxiomCharacterDataNode.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomCharacterDataNode.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
handler.processCharacterData(coreGetCharacterData(), coreIsIgnorable());
}
+
+ public final void AxiomCharacterDataNode.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ writer.writeCharacters(coreGetCharacterData().toString());
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,11 +18,13 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.intf.AxiomComment;
@@ -44,12 +46,20 @@ public aspect AxiomCommentSupport {
coreSetCharacterData(text, AxiomSemantics.INSTANCE);
}
- public final void AxiomComment.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomComment.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
try {
handler.processComment(coreGetCharacterData().toString());
} catch (CoreModelException ex) {
throw AxiomExceptionTranslator.translate(ex);
}
+ }
+
+ public final void AxiomComment.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ writer.writeComment(coreGetCharacterData().toString());
+ } catch (CoreModelException ex) {
+ throw AxiomExceptionTranslator.translate(ex);
+ }
}
public final void AxiomComment.buildWithAttachments() {