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/19 00:31:11 UTC
svn commit: r1731167 - in /webservices/axiom/trunk/aspects:
core-aspects/src/main/java/org/apache/axiom/core/stream/sax/
om-aspects/src/main/java/org/apache/axiom/om/impl/common/
om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/ om-aspe...
Author: veithen
Date: Thu Feb 18 23:31:10 2016
New Revision: 1731167
URL: http://svn.apache.org/viewvc?rev=1731167&view=rev
Log:
Move some SAX related code to core-aspects.
Added:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXInput.java
- copied, changed from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXInput.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXReader.java
- copied, changed from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXReader.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/XmlHandlerContentHandler.java
- copied, changed from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java
Removed:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXInput.java (from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXInput.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXInput.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXInput.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXInput.java&r1=1731144&r2=1731167&rev=1731167&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXInput.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXInput.java Thu Feb 18 23:31:10 2016
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.axiom.om.impl.stream.sax;
+package org.apache.axiom.core.stream.sax;
import javax.xml.transform.sax.SAXSource;
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXReader.java (from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXReader.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXReader.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXReader.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXReader.java&r1=1731144&r2=1731167&rev=1731167&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/stream/sax/SAXReader.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/SAXReader.java Thu Feb 18 23:31:10 2016
@@ -17,12 +17,11 @@
* under the License.
*/
-package org.apache.axiom.om.impl.stream.sax;
+package org.apache.axiom.core.stream.sax;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.core.stream.XmlReader;
-import org.apache.axiom.om.impl.common.OMContentHandler;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
@@ -44,7 +43,7 @@ public final class SAXReader implements
@Override
public void proceed() throws StreamException {
XMLReader reader = source.getXMLReader();
- OMContentHandler contentHandler = new OMContentHandler(handler, expandEntityReferences);
+ XmlHandlerContentHandler contentHandler = new XmlHandlerContentHandler(handler, expandEntityReferences);
reader.setContentHandler(contentHandler);
reader.setDTDHandler(contentHandler);
try {
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/XmlHandlerContentHandler.java (from r1731144, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/XmlHandlerContentHandler.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/XmlHandlerContentHandler.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java&r1=1731144&r2=1731167&rev=1731167&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/OMContentHandler.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/XmlHandlerContentHandler.java Thu Feb 18 23:31:10 2016
@@ -16,12 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.om.impl.common;
+package org.apache.axiom.core.stream.sax;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMNode;
import org.xml.sax.Attributes;
import org.xml.sax.ContentHandler;
import org.xml.sax.DTDHandler;
@@ -33,9 +31,7 @@ import org.xml.sax.ext.LexicalHandler;
import java.util.HashMap;
import java.util.Map;
-import javax.xml.stream.XMLStreamConstants;
-
-public final class OMContentHandler implements ContentHandler, LexicalHandler, DeclHandler, DTDHandler {
+public final class XmlHandlerContentHandler implements ContentHandler, LexicalHandler, DeclHandler, DTDHandler {
private final XmlHandler handler;
private final boolean expandEntityReferences;
@@ -71,7 +67,7 @@ public final class OMContentHandler impl
/**
* Stores namespace declarations reported to {@link #startPrefixMapping(String, String)}. These
- * declarations will be added to the {@link OMElement} by
+ * declarations will be passed to the {@link XmlHandler} by
* {@link #startElement(String, String, String, Attributes)}. Each declaration is stored as
* (prefix, uri) pair using two array elements.
*/
@@ -82,12 +78,12 @@ public final class OMContentHandler impl
*/
private int namespaceCount;
- private int textNodeType = OMNode.TEXT_NODE;
+ private boolean inCDATASection;
private boolean inEntityReference;
private int entityReferenceDepth;
- public OMContentHandler(XmlHandler handler, boolean expandEntityReferences) {
+ public XmlHandlerContentHandler(XmlHandler handler, boolean expandEntityReferences) {
this.handler = handler;
this.expandEntityReferences = expandEntityReferences;
}
@@ -312,52 +308,40 @@ public final class OMContentHandler impl
public final void startCDATA() throws SAXException {
if (!inEntityReference) {
- textNodeType = OMNode.CDATA_SECTION_NODE;
+ inCDATASection = true;
}
}
public final void endCDATA() throws SAXException {
if (!inEntityReference) {
- textNodeType = OMNode.TEXT_NODE;
- }
- }
-
- private void characterData(char[] ch, int start, int length, int nodeType)
- throws SAXException {
- if (inEntityReference) {
- return;
- }
- try {
- String text = new String(ch, start, length);
- switch (nodeType) {
- case XMLStreamConstants.CHARACTERS:
- handler.processCharacterData(text, false);
- break;
- case XMLStreamConstants.SPACE:
- handler.processCharacterData(text, true);
- break;
- case XMLStreamConstants.CDATA:
- handler.processCDATASection(text);
- break;
- default:
- throw new IllegalArgumentException();
- }
- } catch (StreamException ex) {
- throw toSAXException(ex);
+ inCDATASection = false;
}
}
public final void characters(char[] ch, int start, int length)
throws SAXException {
if (!inEntityReference) {
- characterData(ch, start, length, textNodeType);
+ try {
+ if (inCDATASection) {
+ // TODO: incorrect because it may split CDATA sections
+ handler.processCDATASection(new String(ch, start, length));
+ } else {
+ handler.processCharacterData(new String(ch, start, length), false);
+ }
+ } catch (StreamException ex) {
+ throw toSAXException(ex);
+ }
}
}
public final void ignorableWhitespace(char[] ch, int start, int length)
throws SAXException {
if (!inEntityReference) {
- characterData(ch, start, length, OMNode.SPACE_NODE);
+ try {
+ handler.processCharacterData(new String(ch, start, length), true);
+ } catch (StreamException ex) {
+ throw toSAXException(ex);
+ }
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java?rev=1731167&r1=1731166&r2=1731167&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AbstractOMMetaFactory.java Thu Feb 18 23:31:10 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/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=1731167&r1=1731166&r2=1731167&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 Thu Feb 18 23:31:10 2016
@@ -38,6 +38,7 @@ import org.apache.axiom.core.ElementMatc
import org.apache.axiom.core.Mapper;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.sax.XmlHandlerContentHandler;
import org.apache.axiom.om.NodeUnavailableException;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
@@ -53,7 +54,6 @@ import org.apache.axiom.om.impl.common.A
import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.common.NamespaceURIInterningXMLStreamReaderWrapper;
import org.apache.axiom.om.impl.common.OMChildrenQNameIterator;
-import org.apache.axiom.om.impl.common.OMContentHandler;
import org.apache.axiom.om.impl.common.SAXResultContentHandler;
import org.apache.axiom.om.impl.common.builder.StAXHelper;
import org.apache.axiom.om.impl.common.serializer.pull.OMXMLStreamReaderExAdapter;
@@ -267,7 +267,7 @@ public aspect AxiomContainerSupport {
}
public final SAXResult AxiomContainer.getSAXResult() {
- OMContentHandler handler = new OMContentHandler(new SAXResultContentHandler(this), true);
+ XmlHandlerContentHandler handler = new XmlHandlerContentHandler(new SAXResultContentHandler(this), true);
SAXResult result = new SAXResult();
result.setHandler(handler);
result.setLexicalHandler(handler);