Finished unifying the code for Node#cloneNode and OMElement#cloneOMElement.
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
index 7a0eb80..e35bd69 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
@@ -463,7 +463,7 @@
throw new UnsupportedOperationException();
}
- ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent) {
+ ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing) {
// Note: targetParent is always null here
return new AttrImpl(localName, namespace, type, factory);
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttributeMap.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttributeMap.java
index d703bf3..39ecdd6 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttributeMap.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttributeMap.java
@@ -227,7 +227,7 @@
nodes.setSize(size);
for (int i = 0; i < size; ++i) {
AttrImpl n = (AttrImpl) srcnodes.elementAt(i);
- AttrImpl clone = (AttrImpl)n.clone(options, null, true);
+ AttrImpl clone = (AttrImpl)n.clone(options, null, true, false);
clone.isSpecified(n.isSpecified());
nodes.setElementAt(clone, i);
clone.setOwnerElement(ownerNode, true);
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
index 39d38a8..6ab6076 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
@@ -80,7 +80,7 @@
throw new UnsupportedOperationException("TODO");
}
- ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent) {
+ ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing) {
return new DocumentFragmentImpl(factory);
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
index c661748..5dbfda7 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
@@ -588,7 +588,7 @@
OMDocumentImplUtil.internalSerialize(this, writer, cache, includeXMLDeclaration);
}
- ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent) {
+ ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing) {
DocumentImpl clone = new DocumentImpl(factory);
clone.xmlVersion = xmlVersion;
clone.xmlEncoding = xmlEncoding;
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
index 6ae223e..ddf955a 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
@@ -22,7 +22,6 @@
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMConstants;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
@@ -1113,26 +1112,34 @@
}
public OMElement cloneOMElement(OMCloneOptions options) {
- return (OMElement)clone(options, null, true);
+ return (OMElement)clone(options, null, true, true);
}
- final ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent) {
+ final ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing) {
ElementImpl clone;
if (options.isPreserveModel()) {
- clone = (ElementImpl)createClone(options, (OMContainer)targetParent);
+ clone = (ElementImpl)createClone(options, targetParent, namespaceRepairing);
} else {
- clone = (ElementImpl)factory.createOMElement(localName, namespace, (OMContainer)targetParent);
+ clone = new ElementImpl(targetParent, localName, namespace, null, factory, namespaceRepairing);
}
for (Iterator it = getAllDeclaredNamespaces(); it.hasNext(); ) {
OMNamespace ns = (OMNamespace)it.next();
clone.declareNamespace(ns);
}
clone.attributes.cloneContent(options, attributes);
+ if (namespaceRepairing) {
+ for (Iterator it = getAllAttributes(); it.hasNext(); ) {
+ OMNamespace ns = ((OMAttribute)it.next()).getNamespace();
+ if (ns != null) {
+ clone.declareNamespace(ns);
+ }
+ }
+ }
return clone;
}
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return factory.createOMElement(localName, namespace, targetParent);
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ return new ElementImpl(targetParent, localName, namespace, null, factory, generateNSDecl);
}
public void setLineNumber(int lineNumber) {
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/LeafNode.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/LeafNode.java
index 4ee1fd4..65980f9 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/LeafNode.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/LeafNode.java
@@ -92,7 +92,7 @@
DOMException.HIERARCHY_REQUEST_ERR, null));
}
- final NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep) {
+ final NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep, boolean namespaceRepairing) {
beforeClone(options);
LeafNode clone = createClone();
if (targetParent != null) {
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
index 8373328..1005e27 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
@@ -156,7 +156,7 @@
OMCloneOptions options = new OMCloneOptions();
// This is not specified by the API, but it's compatible with versions before 1.2.14
options.setPreserveModel(true);
- NodeImpl clone = clone(options, null, getNodeType() == Node.ATTRIBUTE_NODE ? true : deep);
+ NodeImpl clone = clone(options, null, getNodeType() == Node.ATTRIBUTE_NODE ? true : deep, false);
if (!(clone instanceof DocumentImpl)) {
clone.setOwnerDocument(ownerDocument());
}
@@ -877,5 +877,5 @@
// by certain subclasses (for the reason, see AXIOM-385).
public abstract void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException;
- abstract NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep);
+ abstract NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep, boolean namespaceRepairing);
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
index ee207d9..8fa9925 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
@@ -504,17 +504,17 @@
return false;
}
- final NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep) {
- ParentNode clone = shallowClone(options, targetParent);
+ final NodeImpl clone(OMCloneOptions options, ParentNode targetParent, boolean deep, boolean namespaceRepairing) {
+ ParentNode clone = shallowClone(options, targetParent, namespaceRepairing);
if (deep) {
for (Node child = getFirstChild(); child != null; child = child.getNextSibling()) {
- ((NodeImpl)child).clone(options, clone, true);
+ ((NodeImpl)child).clone(options, clone, true, namespaceRepairing);
}
}
return clone;
}
- abstract ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent);
+ abstract ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing);
/**
* This method is intended only to be used by Axiom intenals when merging Objects from different
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPBodyImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPBodyImpl.java
index 9c9429b..a05eebb 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPBodyImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPBodyImpl.java
@@ -19,13 +19,13 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMConstants;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPBody;
@@ -48,15 +48,9 @@
}
- /**
- * Constructor SOAPBodyImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAPBodyImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, SOAPConstants.BODY_LOCAL_NAME, builder, factory);
+ public SOAPBodyImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAPConstants.BODY_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
/**
@@ -167,8 +161,4 @@
}
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPBody((SOAPEnvelope)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPElement.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPElement.java
index 9003a65..578bacd 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPElement.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPElement.java
@@ -20,6 +20,7 @@
package org.apache.axiom.soap.impl.dom;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.dom.ElementImpl;
@@ -48,17 +49,9 @@
this.localName = localName;
}
-
- protected SOAPElement(OMElement parent,
- String localName,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super((ParentNode) parent, localName, null, builder, factory, false);
- }
-
- protected SOAPElement(String localName, OMNamespace ns,
- SOAPFactory factory) {
- super(null, localName, ns, null, factory, true);
+ public SOAPElement(ParentNode parentNode, String localName, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, localName, ns, builder, factory, generateNSDecl);
}
/** This has to be implemented by all the derived classes to check for the correct parent. */
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
index 318ff71..bfd2458 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
@@ -21,15 +21,16 @@
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMConstants;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.dom.DocumentImpl;
import org.apache.axiom.om.impl.dom.NodeImpl;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP11Version;
@@ -55,14 +56,9 @@
private static final QName HEADER_QNAME = new QName(SOAPConstants.HEADER_LOCAL_NAME);
- /** @param builder */
- public SOAPEnvelopeImpl(OMXMLParserWrapper builder, SOAPFactory factory) {
- super(null, SOAPConstants.SOAPENVELOPE_LOCAL_NAME, builder, factory);
- }
-
- /** @param ns */
- public SOAPEnvelopeImpl(OMNamespace ns, SOAPFactory factory) {
- super(SOAPConstants.SOAPENVELOPE_LOCAL_NAME, ns, factory);
+ public SOAPEnvelopeImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAPConstants.SOAPENVELOPE_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
public SOAPVersion getVersion() {
@@ -325,7 +321,7 @@
return null;
}
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPEnvelope(getNamespace());
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ return new SOAPEnvelopeImpl(targetParent, namespace, null, factory, generateNSDecl);
}
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
index f8d51a1..cd40431 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeImpl.java
@@ -19,10 +19,10 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
@@ -33,17 +33,10 @@
import org.apache.axiom.soap.SOAPProcessingException;
public abstract class SOAPFaultCodeImpl extends SOAPElement implements SOAPFaultCode {
-
- /**
- * Constructor OMElementImpl
- *
- * @param parent
- * @param builder
- */
- public SOAPFaultCodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, factory.getSOAPVersion().getFaultCodeQName().getLocalPart(), builder,
- factory);
+ public SOAPFaultCodeImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ((SOAPFactory)factory).getSOAPVersion().getFaultCodeQName().getLocalPart(),
+ ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -69,8 +62,4 @@
public SOAPFaultSubCode getSubCode() {
return (SOAPFaultSubCode)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_SUBCODE);
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultCode((SOAPFault)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java
index 94cdc6f..2b5fbb8 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java
@@ -19,11 +19,11 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
@@ -35,9 +35,10 @@
import java.util.Iterator;
public abstract class SOAPFaultDetailImpl extends SOAPElement implements SOAPFaultDetail {
-
- protected SOAPFaultDetailImpl(OMNamespace ns, SOAPFactory factory) {
- super(factory.getSOAPVersion().getFaultDetailQName().getLocalPart(), ns, factory);
+ public SOAPFaultDetailImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ((SOAPFactory)factory).getSOAPVersion().getFaultDetailQName().getLocalPart(),
+ ns, builder, factory, generateNSDecl);
}
protected SOAPFaultDetailImpl(SOAPFault parent,
@@ -48,13 +49,6 @@
extractNamespaceFromParent, factory);
}
- protected SOAPFaultDetailImpl(SOAPFault parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, factory.getSOAPVersion().getFaultDetailQName().getLocalPart(), builder,
- factory);
- }
-
public void addDetailEntry(OMElement detailElement) {
this.addChild(detailElement);
}
@@ -78,8 +72,4 @@
super.internalSerialize(writer, cache);
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultDetail((SOAPFault)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultImpl.java
index e9ca25c..3f3eb52 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultImpl.java
@@ -19,11 +19,11 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMConstants;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.dom.ElementImpl;
import org.apache.axiom.om.impl.dom.ParentNode;
@@ -73,15 +73,9 @@
super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, true, factory);
}
- /**
- * Constructor SOAPFaultImpl
- *
- * @param parent
- * @param builder
- */
- public SOAPFaultImpl(SOAPBody parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, builder, factory);
+ public SOAPFaultImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAPConstants.SOAPFAULT_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
protected abstract SOAPFaultDetail getNewSOAPFaultDetail(SOAPFault fault)
@@ -201,10 +195,4 @@
protected abstract void serializeFaultNode(
XMLStreamWriter writer)
throws XMLStreamException;
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return e == null ?
- ((SOAPFactory)factory).createSOAPFault((SOAPBody) targetParent):
- ((SOAPFactory)factory).createSOAPFault((SOAPBody) targetParent, e);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultNodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultNodeImpl.java
index fcb128c..28596da 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultNodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultNodeImpl.java
@@ -19,10 +19,10 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP12Constants;
@@ -41,10 +41,9 @@
super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, true, factory);
}
- public SOAPFaultNodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, builder,
- factory);
+ public SOAPFaultNodeImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
public void setFaultNodeValue(String uri) {
@@ -107,8 +106,4 @@
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultNode((SOAPFault)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultReasonImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultReasonImpl.java
index 5698522..bfdbf12 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultReasonImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultReasonImpl.java
@@ -19,14 +19,14 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultReason;
import org.apache.axiom.soap.SOAPFaultText;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -39,16 +39,10 @@
SOAPFaultReason {
protected SOAPFaultText text;
- /**
- * Constructor OMElementImpl
- *
- * @param parent
- * @param builder
- */
- public SOAPFaultReasonImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, factory.getSOAPVersion().getFaultReasonQName().getLocalPart(), builder,
- factory);
+ public SOAPFaultReasonImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ((SOAPFactory)factory).getSOAPVersion().getFaultReasonQName().getLocalPart(),
+ ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -80,8 +74,4 @@
//TODO Ruchith
throw new UnsupportedOperationException();
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultReason((SOAPFault)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultRoleImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultRoleImpl.java
index 11490c5..c3a9f77 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultRoleImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultRoleImpl.java
@@ -19,10 +19,10 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAPFactory;
@@ -33,7 +33,6 @@
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-
public abstract class SOAPFaultRoleImpl extends SOAPElement implements
SOAPFaultRole {
@@ -44,12 +43,9 @@
super(parent, localName, extractNamespaceFromParent, factory);
}
- public SOAPFaultRoleImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent,
- factory.getSOAPVersion().getFaultRoleQName().getLocalPart(),
- builder,
- factory);
+ public SOAPFaultRoleImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ((SOAPFactory)factory).getSOAPVersion().getFaultRoleQName().getLocalPart(), ns, builder, factory, generateNSDecl);
}
public void setRoleValue(String uri) {
@@ -104,8 +100,4 @@
// do not serialise the siblings
}
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultRole((SOAPFault)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultSubCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultSubCodeImpl.java
index 062dacf..2d55d2f 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultSubCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultSubCodeImpl.java
@@ -19,14 +19,14 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.util.ElementHelper;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultSubCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -42,11 +42,9 @@
super(parent, localName, true, factory);
}
- protected SOAPFaultSubCodeImpl(OMElement parent,
- String localName,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, localName, builder, factory);
+ public SOAPFaultSubCodeImpl(ParentNode parentNode, String localName, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, localName, ns, builder, factory, generateNSDecl);
}
public void setValue(SOAPFaultValue soapFaultSubCodeValue) throws SOAPProcessingException {
@@ -71,12 +69,4 @@
}
return subCode;
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- if (targetParent instanceof SOAPFaultSubCode) {
- return ((SOAPFactory)factory).createSOAPFaultSubCode((SOAPFaultSubCode)targetParent);
- } else {
- return ((SOAPFactory)factory).createSOAPFaultSubCode((SOAPFaultCode)targetParent);
- }
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultTextImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultTextImpl.java
index 7ac7cf6..b77141b 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultTextImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultTextImpl.java
@@ -20,13 +20,12 @@
package org.apache.axiom.soap.impl.dom;
import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.dom.AttrImpl;
import org.apache.axiom.om.impl.dom.DocumentImpl;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultReason;
@@ -49,16 +48,15 @@
SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
}
- protected SOAPFaultTextImpl(SOAPFaultReason parent,
- OMXMLParserWrapper builder, SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, builder,
- factory);
+ public SOAPFaultTextImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, ns, builder, factory, generateNSDecl);
+ // TODO Auto-generated constructor stub
this.langNamespace = factory.createOMNamespace(
SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_URI,
SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
}
-
public void setLang(String lang) {
langAttr =
new AttrImpl((DocumentImpl)getOwnerDocument(),
@@ -79,8 +77,4 @@
return langAttr == null ? null : langAttr.getAttributeValue();
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultText((SOAPFaultReason)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultValueImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultValueImpl.java
index 4d9e0b5..47bdcd9 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultValueImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultValueImpl.java
@@ -19,13 +19,13 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -37,13 +37,8 @@
factory);
}
- protected SOAPFaultValueImpl(OMElement parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, builder,
- factory);
- }
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPFaultValue((SOAPFaultCode)targetParent);
+ public SOAPFaultValueImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java
index 9345775..b428320 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java
@@ -21,7 +21,6 @@
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMDataSource;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
@@ -34,8 +33,6 @@
import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPCloneOptions;
import org.apache.axiom.soap.SOAPConstants;
-import org.apache.axiom.soap.SOAPFactory;
-import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -121,13 +118,7 @@
}
}
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- SOAPHeaderBlock clone = ((SOAPFactory)factory).createSOAPHeaderBlock(getLocalName(), getNamespace(), (SOAPHeader)targetParent);
- copyData(options, clone);
- return clone;
- }
-
- private void copyData(OMCloneOptions options, SOAPHeaderBlock targetSHB) {
+ protected final void copyData(OMCloneOptions options, SOAPHeaderBlock targetSHB) {
// Copy the processed flag. The other SOAPHeaderBlock information
// (e.g. role, mustUnderstand) are attributes on the tag and are copied elsewhere.
Boolean processedFlag = options instanceof SOAPCloneOptions ? ((SOAPCloneOptions)options).getProcessedFlag() : null;
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
index 06aa8c3..1da24d7 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
@@ -19,14 +19,14 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.RolePlayer;
import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -51,15 +51,9 @@
}
- /**
- * Constructor SOAPHeaderImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAPHeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, SOAPConstants.HEADER_LOCAL_NAME, builder, factory);
+ public SOAPHeaderImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAPConstants.HEADER_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
public SOAPHeaderBlock addHeaderBlock(String localName, OMNamespace ns)
@@ -158,8 +152,4 @@
"parent. But received some other implementation");
}
}
-
- protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
- return ((SOAPFactory)factory).createSOAPHeader((SOAPEnvelope)targetParent);
- }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/factory/DOMSOAPFactory.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/factory/DOMSOAPFactory.java
index 4fe3212..6564410 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/factory/DOMSOAPFactory.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/factory/DOMSOAPFactory.java
@@ -60,7 +60,7 @@
}
public SOAPEnvelope createSOAPEnvelope(OMXMLParserWrapper builder) {
- return new SOAPEnvelopeImpl(builder, this);
+ return new SOAPEnvelopeImpl(null, null, builder, this, false);
}
public SOAPFault createSOAPFault(SOAPBody parent) throws SOAPProcessingException {
@@ -68,7 +68,7 @@
}
public final SOAPEnvelope getDefaultEnvelope() throws SOAPProcessingException {
- SOAPEnvelopeImpl env = new SOAPEnvelopeImpl(getNamespace(), this);
+ SOAPEnvelopeImpl env = new SOAPEnvelopeImpl(null, getNamespace(), null, this, true);
createSOAPHeader(env);
createSOAPBody(env);
return env;
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
index e37d19b..8641231 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11BodyImpl.java
@@ -19,8 +19,13 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
@@ -34,15 +39,9 @@
super(envelope, factory);
}
- /**
- * Constructor SOAPBodyImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAP11BodyImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, builder, factory);
+ public SOAP11BodyImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public SOAPFault addFault(Exception e) throws OMException {
@@ -50,4 +49,8 @@
this.hasSOAPFault = true;
return soapFault;
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ return new SOAP11BodyImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
index 922e4af..dcfd24f 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
@@ -65,15 +65,15 @@
public SOAPEnvelope createSOAPEnvelope() {
return new SOAPEnvelopeImpl(
+ null,
new OMNamespaceImpl(
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
SOAP11Constants.SOAP_DEFAULT_NAMESPACE_PREFIX),
- this);
+ null, this, true);
}
public SOAPEnvelope createSOAPEnvelope(OMNamespace ns) {
- return new SOAPEnvelopeImpl(ns,
- this);
+ return new SOAPEnvelopeImpl(null, ns, null, this, true);
}
public SOAPHeader createSOAPHeader(SOAPEnvelope envelope)
@@ -83,7 +83,7 @@
public SOAPHeader createSOAPHeader(SOAPEnvelope envelope,
OMXMLParserWrapper builder) {
- return new SOAP11HeaderImpl(envelope, builder, this);
+ return new SOAP11HeaderImpl((ParentNode)envelope, null, builder, this, false);
}
@@ -117,7 +117,7 @@
public SOAPFault createSOAPFault(SOAPBody parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultImpl(parent, builder, this);
+ return new SOAP11FaultImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPBody createSOAPBody(SOAPEnvelope envelope)
@@ -128,8 +128,7 @@
public SOAPBody createSOAPBody(SOAPEnvelope envelope,
OMXMLParserWrapper builder) {
- return new SOAP11BodyImpl(envelope, builder, (SOAPFactory) envelope
- .getOMFactory());
+ return new SOAP11BodyImpl((ParentNode)envelope, null, builder, this, false);
}
public SOAPFaultCode createSOAPFaultCode(SOAPFault parent)
@@ -139,7 +138,7 @@
public SOAPFaultCode createSOAPFaultCode(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultCodeImpl(parent, builder, this);
+ return new SOAP11FaultCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultValue createSOAPFaultValue(SOAPFaultCode parent)
@@ -149,7 +148,7 @@
public SOAPFaultValue createSOAPFaultValue(SOAPFaultCode parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultValueImpl(parent, builder, this);
+ return new SOAP11FaultValueImpl((ParentNode)parent, null, builder, this, false);
}
//added
@@ -161,7 +160,7 @@
//added
public SOAPFaultValue createSOAPFaultValue(SOAPFaultSubCode parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultValueImpl(parent, builder, this);
+ return new SOAP11FaultValueImpl((ParentNode)parent, null, builder, this, false);
}
//changed
@@ -173,7 +172,7 @@
//changed
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultCode parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultSubCodeImpl(parent, builder, this);
+ return new SOAP11FaultSubCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultSubCode parent)
@@ -183,7 +182,7 @@
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultSubCode parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultSubCodeImpl(parent, builder, this);
+ return new SOAP11FaultSubCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultReason createSOAPFaultReason(SOAPFault parent)
@@ -193,7 +192,7 @@
public SOAPFaultReason createSOAPFaultReason(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultReasonImpl(parent, builder, this);
+ return new SOAP11FaultReasonImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultText createSOAPFaultText(SOAPFaultReason parent)
@@ -203,7 +202,7 @@
public SOAPFaultText createSOAPFaultText(SOAPFaultReason parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultTextImpl(parent, builder, this);
+ return new SOAP11FaultTextImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultNode createSOAPFaultNode(SOAPFault parent)
@@ -223,7 +222,7 @@
public SOAPFaultRole createSOAPFaultRole(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultRoleImpl(parent, builder, this);
+ return new SOAP11FaultRoleImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultDetail createSOAPFaultDetail(SOAPFault parent)
@@ -233,11 +232,11 @@
public SOAPFaultDetail createSOAPFaultDetail(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP11FaultDetailImpl(parent, builder, this);
+ return new SOAP11FaultDetailImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultDetail createSOAPFaultDetail() throws SOAPProcessingException {
- return new SOAP11FaultDetailImpl(this);
+ return new SOAP11FaultDetailImpl(null, null, null, this, true);
}
public OMNamespace getNamespace() {
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
index f61fbcc..1179444 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP11Constants;
@@ -36,15 +40,9 @@
import javax.xml.stream.XMLStreamWriter;
public class SOAP11FaultCodeImpl extends SOAPFaultCodeImpl {
- /**
- * Constructor OMElementImpl
- *
- * @param parent
- * @param builder
- */
- public SOAP11FaultCodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultCodeImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -110,4 +108,9 @@
public void setValue(QName value) {
setText(value);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultCodeImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
index af7b3f2..857fd2a 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
@@ -19,16 +19,21 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultDetailImpl;
public class SOAP11FaultDetailImpl extends SOAPFaultDetailImpl {
- public SOAP11FaultDetailImpl(SOAPFactory factory) {
- super(null, factory);
+ public SOAP11FaultDetailImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public SOAP11FaultDetailImpl(SOAPFault parent, SOAPFactory factory)
@@ -36,11 +41,6 @@
super(parent, false, factory);
}
- public SOAP11FaultDetailImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
- }
-
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP11FaultImpl)) {
throw new SOAPProcessingException(
@@ -48,4 +48,9 @@
"the parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultDetailImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
index 6975bcc..cd8173d 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPFactory;
@@ -43,9 +47,9 @@
super(parent, e, factory);
}
- public SOAP11FaultImpl(SOAPBody parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/**
@@ -137,4 +141,13 @@
public SOAPFaultNode getNode() {
throw new UnsupportedOperationException("SOAP 1.1 has no Fault Node");
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ SOAPFault clone = new SOAP11FaultImpl(targetParent, namespace, null, factory, generateNSDecl);
+ if (e != null) {
+ clone.setException(e);
+ }
+ return clone;
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
index 52092c9..2e64558 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP11Constants;
@@ -34,10 +38,9 @@
import javax.xml.stream.XMLStreamWriter;
public class SOAP11FaultReasonImpl extends SOAPFaultReasonImpl {
-
- public SOAP11FaultReasonImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultReasonImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -88,4 +91,9 @@
public SOAPFaultText getFirstSOAPText() {
throw new UnsupportedOperationException("getFirstSOAPText() not supported for SOAP 1.1!");
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultReasonImpl(targetParent, namespace, builder, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
index 1b47b85..efa9712 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP11Constants;
@@ -40,9 +44,9 @@
factory);
}
- public SOAP11FaultRoleImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultRoleImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -75,4 +79,8 @@
writer.writeEndElement();
}
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultRoleImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
index e1f4b1b..a096e9f 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
@@ -21,9 +21,13 @@
import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultCode;
@@ -40,12 +44,9 @@
super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
- //changed
- public SOAP11FaultSubCodeImpl(SOAPFaultCode parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
- factory);
+ public SOAP11FaultSubCodeImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
public SOAP11FaultSubCodeImpl(SOAPFaultSubCode parent, SOAPFactory factory)
@@ -53,13 +54,6 @@
super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
- public SOAP11FaultSubCodeImpl(SOAPFaultSubCode parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
- factory);
- }
-
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP11FaultSubCodeImpl) ||
(parent instanceof SOAP11FaultCodeImpl)) {
@@ -95,4 +89,9 @@
// TODO: AXIOM-394: SOAPFaultSubCode should not exist for SOAP 1.1
throw new UnsupportedOperationException();
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultSubCodeImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultTextImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultTextImpl.java
index 0f25e20..628a3d8 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultTextImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultTextImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultReason;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -32,9 +36,9 @@
super(parent, factory);
}
- public SOAP11FaultTextImpl(SOAPFaultReason parent,
- OMXMLParserWrapper builder, SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultTextImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -44,4 +48,9 @@
"as the parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultTextImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultValueImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultValueImpl.java
index d2f0564..822fbed 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultValueImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultValueImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultValueImpl;
@@ -32,12 +36,11 @@
super(parent, factory);
}
- public SOAP11FaultValueImpl(OMElement parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP11FaultValueImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
-
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!((parent instanceof SOAP11FaultSubCodeImpl) ||
(parent instanceof SOAP11FaultCodeImpl))) {
@@ -48,4 +51,9 @@
parent.getClass());
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11FaultValueImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
index 49b56af..ce22012 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
@@ -19,6 +19,7 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
@@ -26,6 +27,7 @@
import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAPConstants;
+import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.SOAPVersion;
import org.apache.axiom.soap.SOAP11Version;
@@ -126,4 +128,9 @@
return SOAP11Version.getSingleton();
}
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ SOAPHeaderBlock clone = new SOAP11HeaderBlockImpl(targetParent, getLocalName(), getNamespace(), null, factory, generateNSDecl);
+ copyData(options, clone);
+ return clone;
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
index 317d46e..57f6030 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
@@ -19,7 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap11;
+import org.apache.axiom.om.OMCloneOptions;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -39,15 +44,9 @@
super(envelope, factory);
}
- /**
- * Constructor SOAPHeaderImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAP11HeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, builder, factory);
+ public SOAP11HeaderImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public Iterator extractHeaderBlocks(String role) {
@@ -60,5 +59,8 @@
}
-
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP11HeaderImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
index 621dee4..6485253 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12BodyImpl.java
@@ -19,8 +19,13 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
+import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
@@ -34,15 +39,9 @@
super(envelope, factory);
}
- /**
- * Constructor SOAPBodyImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAP12BodyImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, builder, factory);
+ public SOAP12BodyImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public SOAPFault addFault(Exception e) throws OMException {
@@ -51,4 +50,8 @@
this.hasSOAPFault = true;
return soapFault;
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ return new SOAP12BodyImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java
index 5e7fec2..56868bb 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java
@@ -64,15 +64,15 @@
public SOAPEnvelope createSOAPEnvelope() {
return new SOAPEnvelopeImpl(
+ null,
new OMNamespaceImpl(
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI,
SOAP12Constants.SOAP_DEFAULT_NAMESPACE_PREFIX),
- this);
+ null, this, true);
}
public SOAPEnvelope createSOAPEnvelope(OMNamespace ns) {
- return new SOAPEnvelopeImpl(ns,
- this);
+ return new SOAPEnvelopeImpl(null, ns, null, this, true);
}
public SOAPHeader createSOAPHeader(SOAPEnvelope envelope) throws SOAPProcessingException {
@@ -81,7 +81,7 @@
public SOAPHeader createSOAPHeader(SOAPEnvelope envelope,
OMXMLParserWrapper builder) {
- return new SOAP12HeaderImpl(envelope, builder, this);
+ return new SOAP12HeaderImpl((ParentNode)envelope, null, builder, this, false);
}
public SOAPHeaderBlock createSOAPHeaderBlock(String localName, OMNamespace ns)
@@ -112,7 +112,7 @@
public SOAPFault createSOAPFault(SOAPBody parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultImpl(parent, builder, this);
+ return new SOAP12FaultImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPBody createSOAPBody(SOAPEnvelope envelope) throws SOAPProcessingException {
@@ -121,7 +121,7 @@
public SOAPBody createSOAPBody(SOAPEnvelope envelope,
OMXMLParserWrapper builder) {
- return new SOAP12BodyImpl(envelope, builder, this);
+ return new SOAP12BodyImpl((ParentNode)envelope, null, builder, this, false);
}
public SOAPFaultCode createSOAPFaultCode(SOAPFault parent) throws SOAPProcessingException {
@@ -130,7 +130,7 @@
public SOAPFaultCode createSOAPFaultCode(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultCodeImpl(parent, builder, this);
+ return new SOAP12FaultCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultValue createSOAPFaultValue(SOAPFaultCode parent)
@@ -140,7 +140,7 @@
public SOAPFaultValue createSOAPFaultValue(SOAPFaultCode parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultValueImpl(parent, builder, this);
+ return new SOAP12FaultValueImpl((ParentNode)parent, null, builder, this, false);
}
//added
@@ -152,7 +152,7 @@
//added
public SOAPFaultValue createSOAPFaultValue(SOAPFaultSubCode parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultValueImpl(parent, builder, this);
+ return new SOAP12FaultValueImpl((ParentNode)parent, null, builder, this, false);
}
//changed
@@ -164,7 +164,7 @@
//changed
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultCode parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultSubCodeImpl(parent, builder, this);
+ return new SOAP12FaultSubCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultSubCode parent)
@@ -174,7 +174,7 @@
public SOAPFaultSubCode createSOAPFaultSubCode(SOAPFaultSubCode parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultSubCodeImpl(parent, builder, this);
+ return new SOAP12FaultSubCodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultReason createSOAPFaultReason(SOAPFault parent) throws SOAPProcessingException {
@@ -183,7 +183,7 @@
public SOAPFaultReason createSOAPFaultReason(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultReasonImpl(parent, builder, this);
+ return new SOAP12FaultReasonImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultText createSOAPFaultText(SOAPFaultReason parent)
@@ -193,7 +193,7 @@
public SOAPFaultText createSOAPFaultText(SOAPFaultReason parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultTextImpl(parent, builder, this);
+ return new SOAP12FaultTextImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultNode createSOAPFaultNode(SOAPFault parent) throws SOAPProcessingException {
@@ -202,7 +202,7 @@
public SOAPFaultNode createSOAPFaultNode(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultNodeImpl(parent, builder, this);
+ return new SOAP12FaultNodeImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultRole createSOAPFaultRole(SOAPFault parent) throws SOAPProcessingException {
@@ -211,7 +211,7 @@
public SOAPFaultRole createSOAPFaultRole(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultRoleImpl(parent, builder, this);
+ return new SOAP12FaultRoleImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultDetail createSOAPFaultDetail(SOAPFault parent) throws SOAPProcessingException {
@@ -220,11 +220,11 @@
public SOAPFaultDetail createSOAPFaultDetail(SOAPFault parent,
OMXMLParserWrapper builder) {
- return new SOAP12FaultDetailImpl(parent, builder, this);
+ return new SOAP12FaultDetailImpl((ParentNode)parent, null, builder, this, false);
}
public SOAPFaultDetail createSOAPFaultDetail() throws SOAPProcessingException {
- return new SOAP12FaultDetailImpl(this);
+ return new SOAP12FaultDetailImpl(null, getNamespace(), null, this, true);
}
public OMNamespace getNamespace() {
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
index c65dab8..35b503c 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultSubCode;
@@ -31,15 +35,9 @@
import javax.xml.namespace.QName;
public class SOAP12FaultCodeImpl extends SOAPFaultCodeImpl {
- /**
- * Constructor OMElementImpl
- *
- * @param parent
- * @param builder
- */
- public SOAP12FaultCodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultCodeImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -89,4 +87,9 @@
}
valueElement.setText(value);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultCodeImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
index 9cf1c5d..8f0d743 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
@@ -19,17 +19,21 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultDetailImpl;
public class SOAP12FaultDetailImpl extends SOAPFaultDetailImpl {
-
- public SOAP12FaultDetailImpl(SOAPFactory factory) {
- super(factory.getNamespace(), factory);
+ public SOAP12FaultDetailImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public SOAP12FaultDetailImpl(SOAPFault parent, SOAPFactory factory)
@@ -37,11 +41,6 @@
super(parent, true, factory);
}
- public SOAP12FaultDetailImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
- }
-
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!(parent instanceof SOAP12FaultImpl)) {
throw new SOAPProcessingException(
@@ -49,4 +48,9 @@
"parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultDetailImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
index 4f25fc3..5d550f7 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
@@ -43,9 +47,9 @@
super(parent, e, factory);
}
- public SOAP12FaultImpl(SOAPBody parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/**
@@ -138,4 +142,13 @@
public SOAPFaultRole getRole() {
return (SOAPFaultRoleImpl)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_ROLE);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ SOAPFault clone = new SOAP12FaultImpl(targetParent, namespace, null, factory, generateNSDecl);
+ if (e != null) {
+ clone.setException(e);
+ }
+ return clone;
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
index 60d085f..a41571d 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -32,9 +36,9 @@
super(parent, factory);
}
- public SOAP12FaultNodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultNodeImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -44,4 +48,9 @@
"parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultNodeImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
index c193d5e..bca1dfa 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultText;
@@ -29,10 +33,9 @@
import org.apache.axiom.soap.impl.dom.SOAPFaultReasonImpl;
public class SOAP12FaultReasonImpl extends SOAPFaultReasonImpl {
-
- public SOAP12FaultReasonImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultReasonImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
/** @param parent */
@@ -62,4 +65,9 @@
public SOAPFaultText getFirstSOAPText() {
return (SOAPFaultText)getFirstChildWithName(SOAP12Constants.QNAME_FAULT_TEXT);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultReasonImpl(targetParent, namespace, builder, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
index 0efdc73..aa69087 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
@@ -34,9 +38,9 @@
super(parent, SOAP12Constants.SOAP_FAULT_ROLE_LOCAL_NAME, true, factory);
}
- public SOAP12FaultRoleImpl(SOAPFault parent, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultRoleImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -46,4 +50,9 @@
"parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultRoleImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
index deb2b40..c15032a 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
@@ -21,8 +21,12 @@
import javax.xml.namespace.QName;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultCode;
@@ -38,12 +42,9 @@
super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
- //changed
- public SOAP12FaultSubCodeImpl(SOAPFaultCode parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
- factory);
+ public SOAP12FaultSubCodeImpl(ParentNode parentNode, OMNamespace ns,
+ OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, ns, builder, factory, generateNSDecl);
}
public SOAP12FaultSubCodeImpl(SOAPFaultSubCode parent, SOAPFactory factory)
@@ -51,13 +52,6 @@
super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, factory);
}
- public SOAP12FaultSubCodeImpl(SOAPFaultSubCode parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, SOAP12Constants.SOAP_FAULT_SUB_CODE_LOCAL_NAME, builder,
- factory);
- }
-
protected void checkParent(OMElement parent) throws SOAPProcessingException {
if (!((parent instanceof SOAP12FaultSubCodeImpl) ||
(parent instanceof SOAP12FaultCodeImpl))) {
@@ -94,4 +88,9 @@
}
valueElement.setText(value);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultSubCodeImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
index e666b18..d75bd68 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFaultReason;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -33,10 +37,9 @@
super(parent, factory);
}
- public SOAP12FaultTextImpl(SOAPFaultReason parent,
- OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultTextImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -46,4 +49,9 @@
"as the parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultTextImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
\ No newline at end of file
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
index 62b2426..d9a0f44 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
@@ -19,8 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultValueImpl;
@@ -32,8 +36,9 @@
super(parent, factory);
}
- public SOAP12FaultValueImpl(OMElement parent, OMXMLParserWrapper builder, SOAPFactory factory) {
- super(parent, builder, factory);
+ public SOAP12FaultValueImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
protected void checkParent(OMElement parent) throws SOAPProcessingException {
@@ -43,4 +48,9 @@
"Expecting SOAP 1.2 implementation of SOAP FaultSubCode or SOAP FaultCode as the parent. But received some other implementation");
}
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12FaultValueImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
index c8e9a97..638a111 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
@@ -19,6 +19,7 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
@@ -26,6 +27,7 @@
import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPConstants;
+import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.SOAPVersion;
import org.apache.axiom.soap.SOAP12Version;
@@ -122,4 +124,10 @@
public SOAPVersion getVersion() {
return SOAP12Version.getSingleton();
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent, boolean generateNSDecl) {
+ SOAPHeaderBlock clone = new SOAP12HeaderBlockImpl(targetParent, getLocalName(), getNamespace(), null, factory, generateNSDecl);
+ copyData(options, clone);
+ return clone;
+ }
}
diff --git a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
index 116a61d..afd1829 100644
--- a/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
+++ b/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
@@ -19,7 +19,12 @@
package org.apache.axiom.soap.impl.dom.soap12;
+import org.apache.axiom.om.OMCloneOptions;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAPEnvelope;
@@ -37,15 +42,9 @@
super(envelope, factory);
}
- /**
- * Constructor SOAPHeaderImpl
- *
- * @param envelope
- * @param builder
- */
- public SOAP12HeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
- SOAPFactory factory) {
- super(envelope, builder, factory);
+ public SOAP12HeaderImpl(ParentNode parentNode, OMNamespace ns, OMXMLParserWrapper builder,
+ OMFactory factory, boolean generateNSDecl) {
+ super(parentNode, ns, builder, factory, generateNSDecl);
}
public Iterator extractHeaderBlocks(String role) {
@@ -56,4 +55,9 @@
role,
true);
}
+
+ protected OMElement createClone(OMCloneOptions options, ParentNode targetParent,
+ boolean generateNSDecl) {
+ return new SOAP12HeaderImpl(targetParent, namespace, null, factory, generateNSDecl);
+ }
}