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/06 13:24:35 UTC
svn commit: r1728830 - in
/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common:
builder/ factory/
Author: veithen
Date: Sat Feb 6 12:24:35 2016
New Revision: 1728830
URL: http://svn.apache.org/viewvc?rev=1728830&view=rev
Log:
Make PushOMBuilder an OMXMLParserWrapper implementation.
Added:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java (with props)
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PushOMBuilder.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java?rev=1728830&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java Sat Feb 6 12:24:35 2016
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common.builder;
+
+import org.apache.axiom.core.NodeFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
+
+public abstract class AbstractBuilder implements OMXMLParserWrapper {
+ protected final BuilderHandler handler;
+
+ public AbstractBuilder(NodeFactory nodeFactory, Model model) {
+ handler = new BuilderHandler(nodeFactory, model, this);
+ }
+
+ public final void addNodePostProcessor(NodePostProcessor nodePostProcessor) {
+ handler.addNodePostProcessor(nodePostProcessor);
+ }
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java?rev=1728830&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java Sat Feb 6 12:24:35 2016
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common.builder;
+
+import org.apache.axiom.core.NodeFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMException;
+
+public abstract class AbstractPushBuilder extends AbstractBuilder {
+ public AbstractPushBuilder(NodeFactory nodeFactory, Model model) {
+ super(nodeFactory, model);
+ }
+
+ public final int next() throws OMException {
+ throw new UnsupportedOperationException();
+ }
+
+ public final void discard(OMElement el) throws OMException {
+ throw new UnsupportedOperationException();
+ }
+
+ public final void setCache(boolean b) throws OMException {
+ throw new UnsupportedOperationException();
+ }
+
+ public final boolean isCache() {
+ throw new UnsupportedOperationException();
+ }
+
+ public final Object getParser() {
+ throw new UnsupportedOperationException();
+ }
+
+ public final boolean isCompleted() {
+ return handler.document != null && handler.document.isComplete();
+ }
+
+ public final OMElement getDocumentElement() {
+ return getDocument().getOMDocumentElement();
+ }
+
+ public final OMElement getDocumentElement(boolean discardDocument) {
+ OMElement documentElement = getDocument().getOMDocumentElement();
+ if (discardDocument) {
+ documentElement.detach();
+ }
+ return documentElement;
+ }
+
+ public final String getCharacterEncoding() {
+ throw new UnsupportedOperationException();
+ }
+
+ public final void close() {
+ // This is a no-op
+ }
+
+ public void detach() {
+ // Force processing of the SAX source
+ getDocument();
+ }
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/AbstractPushBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PushOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PushOMBuilder.java?rev=1728830&r1=1728829&r2=1728830&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PushOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PushOMBuilder.java Sat Feb 6 12:24:35 2016
@@ -21,20 +21,25 @@ package org.apache.axiom.om.impl.common.
import javax.xml.stream.XMLStreamException;
import org.apache.axiom.om.OMDataSource;
+import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.impl.intf.AxiomSourcedElement;
-public class PushOMBuilder {
+public final class PushOMBuilder extends AbstractPushBuilder {
private final AxiomSourcedElement root;
private final OMDataSource dataSource;
- private final BuilderHandler handler;
public PushOMBuilder(AxiomSourcedElement root, OMDataSource dataSource) throws XMLStreamException {
+ super(root.coreGetNodeFactory(), PlainXMLModel.INSTANCE);
this.root = root;
- handler = new BuilderHandler(root.coreGetNodeFactory(), PlainXMLModel.INSTANCE, null);
this.dataSource = dataSource;
}
public void expand() throws XMLStreamException {
dataSource.serialize(new BuilderHandlerXMLStreamWriter(handler, root));
}
+
+ @Override
+ public OMDocument getDocument() {
+ throw new UnsupportedOperationException();
+ }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java?rev=1728830&r1=1728829&r2=1728830&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java Sat Feb 6 12:24:35 2016
@@ -86,7 +86,7 @@ import java.io.Closeable;
* To avoid this, the builder remembers exceptions thrown by the parser and rethrows
* them during a call to next().
*/
-public class StAXOMBuilder implements Builder, CustomBuilderSupport {
+public class StAXOMBuilder extends AbstractBuilder implements Builder, CustomBuilderSupport {
private static final Log log = LogFactory.getLog(StAXOMBuilder.class);
/** Field parser */
@@ -129,12 +129,10 @@ public class StAXOMBuilder implements Bu
private Exception parserException;
private int lookAheadToken = -1;
-
- private final BuilderHandler handler;
private StAXOMBuilder(NodeFactory nodeFactory, XMLStreamReader parser, String encoding,
boolean autoClose, Detachable detachable, Closeable closeable, Model model, PayloadSelector payloadSelector) {
- handler = new BuilderHandler(nodeFactory, model, this);
+ super(nodeFactory, model);
this.parser = parser;
this.autoClose = autoClose;
this.detachable = detachable;
@@ -861,8 +859,4 @@ public class StAXOMBuilder implements Bu
public final AxiomContainer getTarget() {
return handler.target;
}
-
- public final void addNodePostProcessor(NodePostProcessor nodePostProcessor) {
- handler.addNodePostProcessor(nodePostProcessor);
- }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java?rev=1728830&r1=1728829&r2=1728830&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/SAXOMBuilder.java Sat Feb 6 12:24:35 2016
@@ -23,10 +23,9 @@ import org.apache.axiom.core.NodeFactory
import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.common.Handler;
import org.apache.axiom.om.impl.common.OMContentHandler;
-import org.apache.axiom.om.impl.common.builder.BuilderHandler;
+import org.apache.axiom.om.impl.common.builder.AbstractPushBuilder;
import org.apache.axiom.om.impl.common.builder.BuilderUtil;
import org.apache.axiom.om.impl.common.builder.Model;
import org.apache.axiom.om.impl.intf.AxiomContainer;
@@ -39,14 +38,13 @@ import java.io.IOException;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.transform.sax.SAXSource;
-public final class SAXOMBuilder implements OMXMLParserWrapper, Handler {
+public final class SAXOMBuilder extends AbstractPushBuilder implements Handler {
private final boolean expandEntityReferences;
- private final BuilderHandler handler;
private final SAXSource source;
public SAXOMBuilder(NodeFactory nodeFactory, Model model, SAXSource source, boolean expandEntityReferences) {
+ super(nodeFactory, model);
this.expandEntityReferences = expandEntityReferences;
- handler = new BuilderHandler(nodeFactory, model, this);
this.source = source;
}
@@ -92,50 +90,6 @@ public final class SAXOMBuilder implemen
throw new OMException("Tree not complete");
}
}
-
- public int next() throws OMException {
- throw new UnsupportedOperationException();
- }
-
- public void discard(OMElement el) throws OMException {
- throw new UnsupportedOperationException();
- }
-
- public void setCache(boolean b) throws OMException {
- throw new UnsupportedOperationException();
- }
-
- public boolean isCache() {
- throw new UnsupportedOperationException();
- }
-
- public Object getParser() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isCompleted() {
- return handler.document != null && handler.document.isComplete();
- }
-
- public OMElement getDocumentElement() {
- return getDocument().getOMDocumentElement();
- }
-
- public OMElement getDocumentElement(boolean discardDocument) {
- OMElement documentElement = getDocument().getOMDocumentElement();
- if (discardDocument) {
- documentElement.detach();
- }
- return documentElement;
- }
-
- public String getCharacterEncoding() {
- throw new UnsupportedOperationException();
- }
-
- public void close() {
- // This is a no-op
- }
public void createOMDocType(String rootName, String publicId,
String systemId, String internalSubset) {
@@ -183,9 +137,4 @@ public final class SAXOMBuilder implemen
public void createOMEntityReference(String name, String replacementText) {
handler.createEntityReference(name, replacementText);
}
-
- public void detach() {
- // Force processing of the SAX source
- getDocument();
- }
}