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/03/20 23:19:27 UTC
svn commit: r1735909 - in /webservices/axiom/trunk/aspects:
core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/
om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/
Author: veithen
Date: Sun Mar 20 22:19:26 2016
New Revision: 1735909
URL: http://svn.apache.org/viewvc?rev=1735909&view=rev
Log:
Further decouple the builder from the Axiom API.
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderImpl.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/UnwrappingContext.java
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj?rev=1735909&r1=1735908&r2=1735909&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj Sun Mar 20 22:19:26 2016
@@ -49,4 +49,7 @@ public aspect CoreNSAwareElementSupport
public final void CoreNSAwareElement.serializeEndEvent(XmlHandler handler) throws StreamException {
handler.endElement();
}
+
+ public void CoreNSAwareElement.validateName(String staxPrefix, String staxLocalName, String staxNamespaceURI) {
+ }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java?rev=1735909&r1=1735908&r2=1735909&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderHandler.java Sun Mar 20 22:19:26 2016
@@ -25,12 +25,12 @@ import java.util.Queue;
import javax.xml.stream.XMLStreamConstants;
import org.apache.axiom.core.Builder;
+import org.apache.axiom.core.CoreDocument;
+import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.CoreNode;
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.impl.intf.AxiomDocument;
-import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
final class BuilderHandler implements XmlHandler {
final NodeFactory nodeFactory;
@@ -42,7 +42,7 @@ final class BuilderHandler implements Xm
private int activeContextCount;
// returns the state of completion
private boolean done;
- private AxiomDocument document;
+ private CoreDocument document;
/**
* Tracks the depth of the node identified by {@link #target}. By definition, the document has
@@ -54,7 +54,7 @@ final class BuilderHandler implements Xm
private ArrayList<BuilderListener> listeners;
private Queue<Runnable> deferredActions;
- BuilderHandler(NodeFactory nodeFactory, Model model, AxiomSourcedElement root, Builder builder) {
+ BuilderHandler(NodeFactory nodeFactory, Model model, CoreNSAwareElement root, Builder builder) {
this.nodeFactory = nodeFactory;
this.model = model;
this.builder = builder;
@@ -71,8 +71,8 @@ final class BuilderHandler implements Xm
}
void nodeAdded(CoreNode node) {
- if (node instanceof AxiomDocument) {
- document = (AxiomDocument)node;
+ if (node instanceof CoreDocument) {
+ document = (CoreDocument)node;
}
if (listeners != null) {
for (int i=0, size=listeners.size(); i<size; i++) {
@@ -121,7 +121,7 @@ final class BuilderHandler implements Xm
return done;
}
- AxiomDocument getDocument() {
+ CoreDocument getDocument() {
if (rootContext instanceof UnwrappingContext) {
throw new UnsupportedOperationException("There is no document linked to this builder");
} else {
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderImpl.java?rev=1735909&r1=1735908&r2=1735909&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderImpl.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/BuilderImpl.java Sun Mar 20 22:19:26 2016
@@ -19,6 +19,8 @@
package org.apache.axiom.om.impl.common.builder;
import org.apache.axiom.core.Builder;
+import org.apache.axiom.core.CoreDocument;
+import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.NodeFactory;
import org.apache.axiom.core.stream.NamespaceRepairingFilterHandler;
import org.apache.axiom.core.stream.StreamException;
@@ -34,7 +36,6 @@ import org.apache.axiom.om.ds.custombuil
import org.apache.axiom.om.ds.custombuilder.CustomBuilder.Selector;
import org.apache.axiom.om.impl.builder.Detachable;
import org.apache.axiom.om.impl.intf.AxiomDocument;
-import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
public class BuilderImpl implements OMXMLParserWrapper, Builder, CustomBuilderSupport {
private final XmlReader reader;
@@ -43,7 +44,7 @@ public class BuilderImpl implements OMXM
private final CustomBuilderManager customBuilderManager = new CustomBuilderManager();
public BuilderImpl(XmlInput input, NodeFactory nodeFactory, Model model,
- AxiomSourcedElement root, boolean repairNamespaces, Detachable detachable) {
+ CoreNSAwareElement root, boolean repairNamespaces, Detachable detachable) {
builderHandler = new BuilderHandler(nodeFactory, model, root, this);
reader = input.createReader(repairNamespaces ? new NamespaceRepairingFilterHandler(builderHandler, null, false) : builderHandler);
this.detachable = detachable;
@@ -79,11 +80,11 @@ public class BuilderImpl implements OMXM
@Override
public final OMDocument getDocument() {
- AxiomDocument document;
+ CoreDocument document;
while ((document = builderHandler.getDocument()) == null) {
next();
}
- return document;
+ return (AxiomDocument)document;
}
@Override
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/UnwrappingContext.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/UnwrappingContext.java?rev=1735909&r1=1735908&r2=1735909&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/UnwrappingContext.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/UnwrappingContext.java Sun Mar 20 22:19:26 2016
@@ -18,14 +18,14 @@
*/
package org.apache.axiom.om.impl.common.builder;
+import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.CoreParentNode;
import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
final class UnwrappingContext extends Context {
- private final AxiomSourcedElement root;
+ private final CoreNSAwareElement root;
- UnwrappingContext(BuilderHandler builderHandler, AxiomSourcedElement root) {
+ UnwrappingContext(BuilderHandler builderHandler, CoreNSAwareElement root) {
super(builderHandler, 0);
this.root = root;
}
@@ -50,7 +50,7 @@ final class UnwrappingContext extends Co
Context startElement(String namespaceURI, String localName, String prefix)
throws StreamException {
root.validateName(prefix, localName, namespaceURI);
- root.initName(localName, builderHandler.nsCache.getOMNamespace(namespaceURI, prefix), false);
+ root.initName(namespaceURI, localName, prefix, builderHandler.nsCache);
root.coreSetState(CoreParentNode.ATTRIBUTES_PENDING);
Context nestedContext = newContext(root);
// We will basically ignore events in the epilog, so mark this context as inactive