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/23 00:00:15 UTC
svn commit: r1731757 - in /webservices/axiom/trunk/aspects: core-aspects/
core-aspects/src/main/java/org/apache/axiom/core/stream/sax/
core-aspects/src/main/java/org/apache/axiom/core/stream/stax/
om-aspects/src/main/java/org/apache/axiom/om/impl/commo...
Author: veithen
Date: Mon Feb 22 23:00:15 2016
New Revision: 1731757
URL: http://svn.apache.org/viewvc?rev=1731757&view=rev
Log:
Move some classes from om-aspects to core-aspects.
Added:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerWriter.java
- copied, changed from r1731428, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerXmlHandler.java
- copied, changed from r1731741, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/XMLStreamWriterNamespaceContextProvider.java
- copied, changed from r1731737, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/XMLStreamWriterNamespaceContextProvider.java
Removed:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/XMLStreamWriterNamespaceContextProvider.java
Modified:
webservices/axiom/trunk/aspects/core-aspects/pom.xml
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/mixin/AxiomContainerSupport.aj
Modified: webservices/axiom/trunk/aspects/core-aspects/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/pom.xml?rev=1731757&r1=1731756&r2=1731757&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/pom.xml (original)
+++ webservices/axiom/trunk/aspects/core-aspects/pom.xml Mon Feb 22 23:00: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>
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerWriter.java (from r1731428, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerWriter.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerWriter.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java&r1=1731428&r2=1731757&rev=1731757&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerWriter.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerWriter.java Mon Feb 22 23:00:15 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.om.impl.common.serializer.push.sax;
+package org.apache.axiom.core.stream.sax;
import java.io.IOException;
import java.io.Writer;
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerXmlHandler.java (from r1731741, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerXmlHandler.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerXmlHandler.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java&r1=1731741&r2=1731757&rev=1731757&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXSerializer.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/sax/ContentHandlerXmlHandler.java Mon Feb 22 23:00:15 2016
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.om.impl.common.serializer.push.sax;
+package org.apache.axiom.core.stream.sax;
import java.io.IOException;
import java.util.Stack;
@@ -24,16 +24,17 @@ import java.util.Stack;
import org.apache.axiom.core.CharacterData;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.util.namespace.ScopedNamespaceContext;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
import org.xml.sax.helpers.AttributesImpl;
-public class SAXSerializer implements XmlHandler {
+public class ContentHandlerXmlHandler implements XmlHandler {
private final ContentHandler contentHandler;
private final LexicalHandler lexicalHandler;
- private final ScopedNamespaceContext nsContext = new ScopedNamespaceContext();
+ private String[] prefixStack = new String[16];
+ private int bindings;
+ private int[] scopeStack = new int[8];
private boolean startDocumentWritten;
private boolean autoStartDocument;
private int depth;
@@ -43,7 +44,7 @@ public class SAXSerializer implements Xm
private String elementQName;
private final AttributesImpl attributes = new AttributesImpl();
- public SAXSerializer(ContentHandler contentHandler, LexicalHandler lexicalHandler) {
+ public ContentHandlerXmlHandler(ContentHandler contentHandler, LexicalHandler lexicalHandler) {
this.contentHandler = contentHandler;
this.lexicalHandler = lexicalHandler;
}
@@ -90,12 +91,21 @@ public class SAXSerializer implements Xm
elementURI = namespaceURI;
elementLocalName = localName;
elementQName = getQName(prefix, localName);
- nsContext.startScope();
- depth++;
+ if (depth == scopeStack.length) {
+ int[] newScopeStack = new int[scopeStack.length*2];
+ System.arraycopy(scopeStack, 0, newScopeStack, 0, scopeStack.length);
+ scopeStack = newScopeStack;
+ }
+ scopeStack[depth++] = bindings;
}
public void processNamespaceDeclaration(String prefix, String namespaceURI) throws StreamException {
- nsContext.setPrefix(prefix, namespaceURI);
+ if (bindings == prefixStack.length) {
+ String[] newPrefixStack = new String[prefixStack.length*2];
+ System.arraycopy(prefixStack, 0, newPrefixStack, 0, prefixStack.length);
+ prefixStack = newPrefixStack;
+ }
+ prefixStack[bindings++] = prefix;
try {
contentHandler.startPrefixMapping(prefix, namespaceURI);
} catch (SAXException ex) {
@@ -129,11 +139,11 @@ public class SAXSerializer implements Xm
String elementLocalName = elementNameStack.pop();
String elementURI = elementNameStack.pop();
contentHandler.endElement(elementURI, elementLocalName, elementQName);
- for (int i=nsContext.getBindingsCount()-1; i>=nsContext.getFirstBindingInCurrentScope(); i--) {
- contentHandler.endPrefixMapping(nsContext.getPrefix(i));
+ for (int i=bindings-1; i>=scopeStack[depth-1]; i--) {
+ contentHandler.endPrefixMapping(prefixStack[i]);
}
- nsContext.endScope();
- if (--depth == 0 && autoStartDocument) {
+ bindings = scopeStack[--depth];
+ if (depth == 0 && autoStartDocument) {
contentHandler.endDocument();
}
} catch (SAXException ex) {
Copied: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/XMLStreamWriterNamespaceContextProvider.java (from r1731737, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/XMLStreamWriterNamespaceContextProvider.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/XMLStreamWriterNamespaceContextProvider.java?p2=webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/XMLStreamWriterNamespaceContextProvider.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/XMLStreamWriterNamespaceContextProvider.java&r1=1731737&r2=1731757&rev=1731757&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/serializer/push/stax/XMLStreamWriterNamespaceContextProvider.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/stax/XMLStreamWriterNamespaceContextProvider.java Mon Feb 22 23:00:15 2016
@@ -16,11 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.om.impl.common.serializer.push.stax;
+package org.apache.axiom.core.stream.stax;
import org.apache.axiom.core.stream.NamespaceContextProvider;
import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.om.OMException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -83,7 +82,7 @@ public class XMLStreamWriterNamespaceCon
// 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.");
+ throw new StreamException("Invalid namespace declaration: Prefixed namespace bindings may not be empty.");
}
// Get the namespace associated with the prefix.
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=1731757&r1=1731756&r2=1731757&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 Mon Feb 22 23:00:15 2016
@@ -23,6 +23,7 @@ import java.io.IOException;
import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.sax.ContentHandlerXmlHandler;
import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.common.serializer.push.NamespaceContextPreservationFilterHandler;
import org.apache.axiom.om.impl.intf.AxiomContainer;
@@ -48,7 +49,7 @@ public class XMLReaderImpl extends Abstr
}
private void parse() throws SAXException {
- XmlHandler handler = new SAXSerializer(contentHandler, lexicalHandler);
+ XmlHandler handler = new ContentHandlerXmlHandler(contentHandler, lexicalHandler);
CoreElement contextElement = root.getContextElement();
if (contextElement != null) {
handler = new NamespaceContextPreservationFilterHandler(handler, contextElement);
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=1731757&r1=1731756&r2=1731757&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 Mon Feb 22 23:00:15 2016
@@ -41,6 +41,7 @@ import org.apache.axiom.core.stream.Name
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.core.stream.stax.XMLStreamWriterNamespaceContextProvider;
import org.apache.axiom.om.NodeUnavailableException;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
@@ -63,7 +64,6 @@ import org.apache.axiom.om.impl.common.s
import org.apache.axiom.om.impl.common.serializer.push.XsiTypeFilterHandler;
import org.apache.axiom.om.impl.common.serializer.push.sax.XMLReaderImpl;
import org.apache.axiom.om.impl.common.serializer.push.stax.StAXSerializer;
-import org.apache.axiom.om.impl.common.serializer.push.stax.XMLStreamWriterNamespaceContextProvider;
import org.apache.axiom.om.impl.intf.AxiomChildNode;
import org.apache.axiom.om.impl.intf.AxiomContainer;
import org.apache.axiom.om.impl.intf.OMFactoryEx;