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/03 23:31:46 UTC
svn commit: r1728383 - in /webservices/axiom/trunk:
aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/
aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/
implementations/fom-impl/src/main/java/org/apache/...
Author: veithen
Date: Wed Feb 3 22:31:45 2016
New Revision: 1728383
URL: http://svn.apache.org/viewvc?rev=1728383&view=rev
Log:
Prefer composition over inheritance.
Added:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java (with props)
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAPModel.java
- copied, changed from r1728377, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java
Modified:
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/soap/impl/common/builder/StAXSOAPModelBuilder.java
webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java
webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java?rev=1728383&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java Wed Feb 3 22:31:45 2016
@@ -0,0 +1,36 @@
+/*
+ * 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.om.OMContainer;
+import org.apache.axiom.om.impl.intf.AxiomElement;
+
+public interface Model {
+ /**
+ * Determine the element type to use for the current element.
+ *
+ * @param parent
+ * the parent for the element
+ * @param elementName
+ * the local name for the element
+ * @return the type of element to create; must not be <code>null</code>
+ */
+ Class<? extends AxiomElement> determineElementType(OMContainer parent, int elementLevel,
+ String namespaceURI, String localName);
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Model.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java?rev=1728383&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java Wed Feb 3 22:31:45 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.om.OMContainer;
+import org.apache.axiom.om.impl.intf.AxiomElement;
+
+public final class PlainXMLModel implements Model {
+ public static final PlainXMLModel INSTANCE = new PlainXMLModel();
+
+ private PlainXMLModel() {}
+
+ @Override
+ public Class<? extends AxiomElement> determineElementType(OMContainer parent, int elementLevel,
+ String namespaceURI, String localName) {
+ return AxiomElement.class;
+ }
+}
Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/PlainXMLModel.java
------------------------------------------------------------------------------
svn:eol-style = native
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=1728383&r1=1728382&r2=1728383&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 Wed Feb 3 22:31:45 2016
@@ -101,6 +101,7 @@ public class StAXOMBuilder implements Bu
private final Detachable detachable;
private final Closeable closeable;
+ private final Model model;
/** Field lastNode */
private AxiomContainer target;
@@ -174,27 +175,28 @@ public class StAXOMBuilder implements Bu
private ArrayList<NodePostProcessor> nodePostProcessors;
private StAXOMBuilder(OMFactory omFactory, XMLStreamReader parser, String encoding,
- boolean autoClose, Detachable detachable, Closeable closeable, PayloadSelector payloadSelector) {
+ boolean autoClose, Detachable detachable, Closeable closeable, Model model, PayloadSelector payloadSelector) {
omfactory = (OMFactoryEx)omFactory;
this.parser = parser;
this.autoClose = autoClose;
this.detachable = detachable;
this.closeable = closeable;
+ this.model = model;
this.payloadSelector = payloadSelector;
charEncoding = encoding;
dataHandlerReader = XMLStreamReaderUtils.getDataHandlerReader(parser);
}
protected StAXOMBuilder(OMFactory omFactory, XMLStreamReader parser, boolean autoClose,
- Detachable detachable, Closeable closeable, PayloadSelector payloadSelector) {
+ Detachable detachable, Closeable closeable, Model model, PayloadSelector payloadSelector) {
// The getEncoding information is only available at the START_DOCUMENT event.
- this(omFactory, parser, parser.getEncoding(), autoClose, detachable, closeable, payloadSelector);
+ this(omFactory, parser, parser.getEncoding(), autoClose, detachable, closeable, model, payloadSelector);
}
public StAXOMBuilder(OMFactory omFactory, XMLStreamReader parser, boolean autoClose,
Detachable detachable, Closeable closeable) {
- this(omFactory, parser, autoClose, detachable, closeable, PayloadSelector.DEFAULT);
+ this(omFactory, parser, autoClose, detachable, closeable, PlainXMLModel.INSTANCE, PayloadSelector.DEFAULT);
}
public StAXOMBuilder(OMFactory factory,
@@ -202,7 +204,7 @@ public class StAXOMBuilder implements Bu
OMElement element,
String characterEncoding) {
// Use this constructor because the parser is passed the START_DOCUMENT state.
- this(factory, parser, characterEncoding, true, null, null, PayloadSelector.DEFAULT);
+ this(factory, parser, characterEncoding, true, null, null, PlainXMLModel.INSTANCE, PayloadSelector.DEFAULT);
elementLevel = 1;
target = (AxiomContainer)element;
populateOMElement(element);
@@ -802,28 +804,13 @@ public class StAXOMBuilder implements Bu
*/
private OMNode createOMElement() throws OMException {
AxiomElement node = omfactory.createAxiomElement(
- determineElementType(target, elementLevel, parser.getNamespaceURI(), parser.getLocalName()),
+ model.determineElementType(target, elementLevel, parser.getNamespaceURI(), parser.getLocalName()),
parser.getLocalName(), target, this);
populateOMElement(node);
return node;
}
/**
- * Determine the element type to use for the current element. This method may be overridden by
- * subclasses to support model specific {@link OMElement} types.
- *
- * @param parent
- * the parent for the element
- * @param elementName
- * the local name for the element
- * @return the type of element to create; must not be <code>null</code>
- */
- protected Class<? extends AxiomElement> determineElementType(OMContainer parent,
- int elementLevel, String namespaceURI, String localName) {
- return AxiomElement.class;
- }
-
- /**
* Method createOMText.
*
* @return Returns OMNode.
Copied: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAPModel.java (from r1728377, webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAPModel.java?p2=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAPModel.java&p1=webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java&r1=1728377&r2=1728383&rev=1728383&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/SOAPModel.java Wed Feb 3 22:31:45 2016
@@ -19,46 +19,19 @@
package org.apache.axiom.soap.impl.common.builder;
-import java.io.Closeable;
-
import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMSerializable;
-import org.apache.axiom.om.impl.builder.Detachable;
-import org.apache.axiom.om.impl.common.builder.NodePostProcessor;
-import org.apache.axiom.om.impl.common.builder.StAXOMBuilder;
+import org.apache.axiom.om.impl.common.builder.Model;
import org.apache.axiom.om.impl.intf.AxiomElement;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPConstants;
-import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPMessage;
-import org.apache.axiom.soap.SOAPModelBuilder;
import org.apache.axiom.soap.SOAPProcessingException;
-import org.apache.axiom.soap.impl.builder.OMMetaFactoryEx;
-import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
-import org.apache.axiom.soap.impl.intf.AxiomSOAPMessage;
import org.apache.axiom.soap.impl.intf.SOAPHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.xml.stream.XMLStreamReader;
-
-/**
- * Internal implementation class.
- */
-public class StAXSOAPModelBuilder extends StAXOMBuilder implements SOAPModelBuilder {
- /**
- * The meta factory used to get the SOAPFactory implementation when SOAP version detection
- * is enabled. This is only used if <code>soapFactory</code> is <code>null</code>.
- */
- private OMMetaFactory metaFactory;
-
+public final class SOAPModel implements Model {
private SOAPHelper soapHelper;
/** Field headerPresent */
@@ -68,39 +41,14 @@ public class StAXSOAPModelBuilder extend
private boolean bodyPresent = false;
/** Field log */
- private static final Log log = LogFactory.getLog(StAXSOAPModelBuilder.class);
+ private static final Log log = LogFactory.getLog(SOAPModel.class);
private boolean processingFault = false;
private SOAPBuilderHelper builderHelper;
- public StAXSOAPModelBuilder(OMMetaFactory metaFactory, XMLStreamReader parser,
- boolean autoClose, Detachable detachable, Closeable closeable) {
- super(metaFactory.getOMFactory(), parser, autoClose, detachable, closeable, SOAPPayloadSelector.INSTANCE);
- this.metaFactory = metaFactory;
- // The SOAPFactory instance linked to the SOAPMessage is unknown until we reach the
- // SOAPEnvelope. Register a post-processor that does the necessary updates on the
- // SOAPMessage.
- addNodePostProcessor(new NodePostProcessor() {
- private AxiomSOAPMessage message;
-
- @Override
- public void postProcessNode(OMSerializable node) {
- if (node instanceof AxiomSOAPMessage) {
- message = (AxiomSOAPMessage)node;
- } else if (message != null && node instanceof AxiomSOAPEnvelope) {
- message.initSOAPFactory((SOAPFactory)((AxiomSOAPEnvelope)node).getOMFactory());
- }
- }
- });
- }
-
- public SOAPEnvelope getSOAPEnvelope() throws OMException {
- return (SOAPEnvelope)getDocumentElement();
- }
-
@Override
- protected Class<? extends AxiomElement> determineElementType(OMContainer parent,
+ public Class<? extends AxiomElement> determineElementType(OMContainer parent,
int elementLevel, String namespaceURI, String localName) {
Class<? extends AxiomElement> elementType;
if (elementLevel == 1) {
@@ -192,32 +140,10 @@ public class StAXSOAPModelBuilder extend
}
private String getSenderFaultCode() {
- return getSOAPEnvelope().getVersion().getSenderFaultCode().getLocalPart();
+ return soapHelper.getVersion().getSenderFaultCode().getLocalPart();
}
private String getReceiverFaultCode() {
- return getSOAPEnvelope().getVersion().getReceiverFaultCode().getLocalPart();
- }
-
- protected OMDocument createDocument() {
- return ((OMMetaFactoryEx)metaFactory).createSOAPMessage(this);
- }
-
- /** Method createDTD. Overriding the default behaviour as a SOAPMessage should not have a DTD. */
- protected OMNode createDTD() throws OMException {
- throw new SOAPProcessingException("SOAP message MUST NOT contain a Document Type Declaration(DTD)");
- }
-
- /** Method createPI. Overriding the default behaviour as a SOAP Message should not have a PI. */
- protected OMNode createPI() throws OMException {
- throw new SOAPProcessingException("SOAP message MUST NOT contain Processing Instructions(PI)");
- }
-
- protected OMNode createEntityReference() {
- throw new SOAPProcessingException("A SOAP message cannot contain entity references because it must not have a DTD");
- }
-
- public SOAPMessage getSOAPMessage() {
- return (SOAPMessage)getDocument();
+ return soapHelper.getVersion().getReceiverFaultCode().getLocalPart();
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java?rev=1728383&r1=1728382&r2=1728383&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/builder/StAXSOAPModelBuilder.java Wed Feb 3 22:31:45 2016
@@ -21,9 +21,7 @@ package org.apache.axiom.soap.impl.commo
import java.io.Closeable;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMDocument;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMNode;
@@ -31,10 +29,6 @@ import org.apache.axiom.om.OMSerializabl
import org.apache.axiom.om.impl.builder.Detachable;
import org.apache.axiom.om.impl.common.builder.NodePostProcessor;
import org.apache.axiom.om.impl.common.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.intf.AxiomElement;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
-import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPMessage;
@@ -43,9 +37,6 @@ import org.apache.axiom.soap.SOAPProcess
import org.apache.axiom.soap.impl.builder.OMMetaFactoryEx;
import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
import org.apache.axiom.soap.impl.intf.AxiomSOAPMessage;
-import org.apache.axiom.soap.impl.intf.SOAPHelper;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import javax.xml.stream.XMLStreamReader;
@@ -59,24 +50,10 @@ public class StAXSOAPModelBuilder extend
*/
private OMMetaFactory metaFactory;
- private SOAPHelper soapHelper;
-
- /** Field headerPresent */
- private boolean headerPresent = false;
-
- /** Field bodyPresent */
- private boolean bodyPresent = false;
-
- /** Field log */
- private static final Log log = LogFactory.getLog(StAXSOAPModelBuilder.class);
-
- private boolean processingFault = false;
-
- private SOAPBuilderHelper builderHelper;
-
public StAXSOAPModelBuilder(OMMetaFactory metaFactory, XMLStreamReader parser,
boolean autoClose, Detachable detachable, Closeable closeable) {
- super(metaFactory.getOMFactory(), parser, autoClose, detachable, closeable, SOAPPayloadSelector.INSTANCE);
+ super(metaFactory.getOMFactory(), parser, autoClose, detachable, closeable, new SOAPModel(),
+ SOAPPayloadSelector.INSTANCE);
this.metaFactory = metaFactory;
// The SOAPFactory instance linked to the SOAPMessage is unknown until we reach the
// SOAPEnvelope. Register a post-processor that does the necessary updates on the
@@ -99,106 +76,6 @@ public class StAXSOAPModelBuilder extend
return (SOAPEnvelope)getDocumentElement();
}
- @Override
- protected Class<? extends AxiomElement> determineElementType(OMContainer parent,
- int elementLevel, String namespaceURI, String localName) {
- Class<? extends AxiomElement> elementType;
- if (elementLevel == 1) {
-
- // Now I've found a SOAP Envelope, now create SOAPEnvelope here.
-
- if (!localName.equals(SOAPConstants.SOAPENVELOPE_LOCAL_NAME)) {
- throw new SOAPProcessingException("First Element must contain the local name, "
- + SOAPConstants.SOAPENVELOPE_LOCAL_NAME + " , but found " + localName,
- SOAPConstants.FAULT_CODE_SENDER);
- }
-
- // determine SOAP version and from that determine a proper factory here.
- if (SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(namespaceURI)) {
- soapHelper = SOAPHelper.SOAP12;
- log.debug("Starting to process SOAP 1.2 message");
- } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(namespaceURI)) {
- soapHelper = SOAPHelper.SOAP11;
- log.debug("Starting to process SOAP 1.1 message");
- } else {
- throw new SOAPProcessingException(
- "Only SOAP 1.1 or SOAP 1.2 messages are supported in the" +
- " system", SOAPConstants.FAULT_CODE_VERSION_MISMATCH);
- }
-
- elementType = soapHelper.getEnvelopeClass();
- } else if (elementLevel == 2) {
- if (soapHelper.getEnvelopeURI().equals(namespaceURI)) {
- // this is either a header or a body
- if (localName.equals(SOAPConstants.HEADER_LOCAL_NAME)) {
- if (headerPresent) {
- throw new SOAPProcessingException("Multiple headers encountered!",
- getSenderFaultCode());
- }
- if (bodyPresent) {
- throw new SOAPProcessingException("Header Body wrong order!",
- getSenderFaultCode());
- }
- headerPresent = true;
- elementType = soapHelper.getHeaderClass();
- } else if (localName.equals(SOAPConstants.BODY_LOCAL_NAME)) {
- if (bodyPresent) {
- throw new SOAPProcessingException("Multiple body elements encountered",
- getSenderFaultCode());
- }
- bodyPresent = true;
- elementType = soapHelper.getBodyClass();
- } else {
- throw new SOAPProcessingException(localName + " is not supported here.",
- getSenderFaultCode());
- }
- } else if (soapHelper == SOAPHelper.SOAP11 && bodyPresent) {
- elementType = AxiomElement.class;
- } else {
- throw new SOAPProcessingException("Disallowed element found inside Envelope : {"
- + namespaceURI + "}" + localName);
- }
- } else if ((elementLevel == 3)
- &&
- ((OMElement)parent).getLocalName().equals(SOAPConstants.HEADER_LOCAL_NAME)) {
-
- // this is a headerblock
- try {
- elementType = soapHelper.getHeaderBlockClass();
- } catch (SOAPProcessingException e) {
- throw new SOAPProcessingException("Can not create SOAPHeader block",
- getReceiverFaultCode(), e);
- }
- } else if ((elementLevel == 3) &&
- ((OMElement)parent).getLocalName().equals(SOAPConstants.BODY_LOCAL_NAME) &&
- localName.equals(SOAPConstants.BODY_FAULT_LOCAL_NAME) &&
- soapHelper.getEnvelopeURI().equals(namespaceURI)) {
- // this is a SOAP fault
- elementType = soapHelper.getFaultClass();
- processingFault = true;
- if (soapHelper == SOAPHelper.SOAP12) {
- builderHelper = new SOAP12BuilderHelper();
- } else if (soapHelper == SOAPHelper.SOAP11) {
- builderHelper = new SOAP11BuilderHelper();
- }
-
- } else if (elementLevel > 3 && processingFault) {
- elementType = builderHelper.handleEvent((OMElement)parent, elementLevel, namespaceURI, localName);
- } else {
- // this is neither of above. Just create an element
- elementType = AxiomElement.class;
- }
- return elementType;
- }
-
- private String getSenderFaultCode() {
- return getSOAPEnvelope().getVersion().getSenderFaultCode().getLocalPart();
- }
-
- private String getReceiverFaultCode() {
- return getSOAPEnvelope().getVersion().getReceiverFaultCode().getLocalPart();
- }
-
protected OMDocument createDocument() {
return ((OMMetaFactoryEx)metaFactory).createSOAPMessage(this);
}
Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java?rev=1728383&r1=1728382&r2=1728383&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMBuilder.java Wed Feb 3 22:31:45 2016
@@ -26,11 +26,10 @@ import org.apache.abdera.model.Element;
import org.apache.abdera.parser.ParseException;
import org.apache.abdera.parser.ParserOptions;
import org.apache.abdera.util.Constants;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.impl.builder.Detachable;
+import org.apache.axiom.om.impl.common.builder.PayloadSelector;
import org.apache.axiom.om.impl.common.builder.StAXOMBuilder;
-import org.apache.axiom.om.impl.intf.AxiomElement;
@SuppressWarnings("unchecked")
public class FOMBuilder extends StAXOMBuilder implements Constants {
@@ -39,7 +38,8 @@ public class FOMBuilder extends StAXOMBu
private final ParserOptions parserOptions;
public FOMBuilder(FOMFactory factory, XMLStreamReader parser, ParserOptions parserOptions) {
- super(factory, new FOMStAXFilter(parser, parserOptions), false, (Detachable)null, (Closeable)null);
+ super(factory, new FOMStAXFilter(parser, parserOptions), false, (Detachable)null, (Closeable)null,
+ factory, PayloadSelector.DEFAULT);
this.parserOptions = parserOptions;
this.fomfactory = factory;
}
@@ -63,12 +63,6 @@ public class FOMBuilder extends StAXOMBu
}
}
- @Override
- protected Class<? extends AxiomElement> determineElementType(OMContainer parent,
- int elementLevel, String namespaceURI, String localName) {
- return fomfactory.determineElementType(parent, namespaceURI, localName);
- }
-
public <T extends Element> Document<T> getFomDocument() {
// For compatibility with earlier Abdera versions, force creation of the document element.
// Note that the only known case where this has a visible effect is when the document is
Modified: webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java?rev=1728383&r1=1728382&r2=1728383&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java Wed Feb 3 22:31:45 2016
@@ -60,11 +60,12 @@ import org.apache.axiom.fom.impl.FOMNode
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.om.impl.common.builder.Model;
import org.apache.axiom.om.impl.common.factory.OMFactoryImpl;
import org.apache.axiom.util.xml.QNameMap;
@SuppressWarnings( {"unchecked", "deprecation"})
-public class FOMFactory extends OMFactoryImpl implements AbderaFactory, Constants, ExtensionFactory {
+public class FOMFactory extends OMFactoryImpl implements AbderaFactory, Constants, ExtensionFactory, Model {
private static final QNameMap<Class<? extends FOMElement>> elementTypeMap;
static {
@@ -508,7 +509,8 @@ public class FOMFactory extends OMFactor
return createElement(elementType, qname, parent);
}
- protected Class<? extends FOMElement> determineElementType(OMContainer parent, String namespaceURI, String localName) {
+ @Override
+ public Class<? extends FOMElement> determineElementType(OMContainer parent, int elementLevel, String namespaceURI, String localName) {
Class<? extends FOMElement> elementType = elementTypeMap.get(namespaceURI, localName);
if (elementType != null) {
return elementType;