Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
 Sun Aug 26 21:42:35 2012
@@ -19,17 +19,13 @@
 
 package org.apache.axis2.saaj;
 
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.impl.dom.ElementImpl;
-import org.apache.axiom.om.impl.dom.NamespaceImpl;
-import org.apache.axiom.om.impl.dom.NodeImpl;
+import org.apache.axiom.soap.SOAP11Version;
+import org.apache.axiom.soap.SOAP12Version;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11HeaderBlockImpl;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12HeaderBlockImpl;
 import org.apache.axis2.namespace.Constants;
 import org.w3c.dom.Element;
 
@@ -44,9 +40,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 
-public class SOAPHeaderImpl extends SOAPElementImpl implements SOAPHeader {
-
-    private org.apache.axiom.soap.SOAPHeader omSOAPHeader;
+public class SOAPHeaderImpl extends 
SOAPElementImpl<org.apache.axiom.soap.SOAPHeader> implements SOAPHeader {
 
     /**
      * Constructor
@@ -54,8 +48,7 @@ public class SOAPHeaderImpl extends SOAP
      * @param header
      */
     public SOAPHeaderImpl(org.apache.axiom.soap.SOAPHeader header) {
-        super((ElementImpl)header);
-        omSOAPHeader = header;
+        super(header);
     }
 
     /* (non-Javadoc)
@@ -82,18 +75,11 @@ public class SOAPHeaderImpl extends SOAP
     */
     public SOAPElement addChildElement(String localName, String prefix, String 
uri)
             throws SOAPException {
-        OMNamespace ns = new NamespaceImpl(uri, prefix);
-        SOAPHeaderBlock headerBlock = null;
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(localName, ns, 
omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(localName, ns, 
omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        }
+        OMNamespace ns = omTarget.getOMFactory().createOMNamespace(uri, 
prefix);
+        SOAPHeaderBlock headerBlock = 
((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(localName, 
ns, omTarget);
         SOAPHeaderElementImpl soapHeaderElement = new 
SOAPHeaderElementImpl(headerBlock);
-        element.setUserData(SAAJ_NODE, this, null);
-        soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
+        target.setUserData(SAAJ_NODE, this, null);
+        soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
         soapHeaderElement.setParentElement(this);
         return soapHeaderElement;
     }
@@ -109,47 +95,29 @@ public class SOAPHeaderImpl extends SOAP
     * @see 
javax.xml.soap.SOAPElement#addChildElement(javax.xml.soap.SOAPElement)
     */
     public SOAPElement addChildElement(SOAPElement soapElement) throws 
SOAPException {
-        OMNamespace ns = new NamespaceImpl(soapElement.getNamespaceURI(),
+        OMNamespace ns = 
omTarget.getOMFactory().createOMNamespace(soapElement.getNamespaceURI(),
                                            soapElement.getPrefix());
-        SOAPHeaderBlock headerBlock = null;
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new 
SOAP11HeaderBlockImpl(soapElement.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        } else {
-            headerBlock = new 
SOAP12HeaderBlockImpl(soapElement.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-
-        }
+        SOAPHeaderBlock headerBlock = 
((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                soapElement.getLocalName(), ns, omTarget);
         SOAPHeaderElementImpl soapHeaderElement = new 
SOAPHeaderElementImpl(headerBlock);
-        element.setUserData(SAAJ_NODE, this, null);
-        soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
+        target.setUserData(SAAJ_NODE, this, null);
+        soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
         soapHeaderElement.setParentElement(this);
         return soapHeaderElement;
     }
 
     @Override
-    protected Element appendElement(ElementImpl child) throws SOAPException {  
   
-        OMNamespace ns = new NamespaceImpl(child.getNamespaceURI(),
+    protected Element appendElement(Element child) throws SOAPException {     
+        OMNamespace ns = 
omTarget.getOMFactory().createOMNamespace(child.getNamespaceURI(),
                                            child.getPrefix());
-        SOAPHeaderBlock headerBlock = null;
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(child.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(child.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-
-        }
+        SOAPHeaderBlock headerBlock = 
((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                child.getLocalName(), ns, omTarget);
      
-        element.setUserData(SAAJ_NODE, this, null);
+        target.setUserData(SAAJ_NODE, this, null);
         
         SOAPHeaderElementImpl soapHeaderElement = new 
SOAPHeaderElementImpl(headerBlock);
         copyContents(soapHeaderElement, child);
-        soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
+        soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
         soapHeaderElement.setParentElement(this);
         return soapHeaderElement;
     }
@@ -172,20 +140,14 @@ public class SOAPHeaderImpl extends SOAP
                     "a namespace.");
         }
         String prefix = name.getPrefix() == null ? "" : name.getPrefix();
-        OMNamespace ns = new NamespaceImpl(name.getURI(), prefix);
+        OMNamespace ns = 
omTarget.getOMFactory().createOMNamespace(name.getURI(), prefix);
 
-        SOAPHeaderBlock headerBlock = null;
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(name.getLocalName(), ns, 
omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(name.getLocalName(), ns, 
omSOAPHeader,
-                                                    
(SOAPFactory)this.element.getOMFactory());
-        }
+        SOAPHeaderBlock headerBlock = 
((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                name.getLocalName(), ns, omTarget);
 
         SOAPHeaderElementImpl soapHeaderElement = new 
SOAPHeaderElementImpl(headerBlock);
-        element.setUserData(SAAJ_NODE, this, null);
-        soapHeaderElement.element.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
+        target.setUserData(SAAJ_NODE, this, null);
+        soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, 
null);
         soapHeaderElement.setParentElement(this);
         return soapHeaderElement;
     }
@@ -205,8 +167,8 @@ public class SOAPHeaderImpl extends SOAP
      */
     public Iterator examineHeaderElements(String actor) {
         Collection elements = new ArrayList();
-        for (Iterator iterator = omSOAPHeader.examineHeaderBlocks(actor); 
iterator.hasNext();) {
-            elements.add(toSAAJNode((NodeImpl)iterator.next()));
+        for (Iterator iterator = omTarget.examineHeaderBlocks(actor); 
iterator.hasNext();) {
+            elements.add(toSAAJNode((org.w3c.dom.Node)iterator.next()));
         }
         return elements.iterator();
     }
@@ -226,8 +188,8 @@ public class SOAPHeaderImpl extends SOAP
      */
     public Iterator extractHeaderElements(String actor) {
         Collection elements = new ArrayList();
-        for (Iterator iterator = omSOAPHeader.extractHeaderBlocks(actor); 
iterator.hasNext();) {
-            elements.add(toSAAJNode((NodeImpl)iterator.next()));
+        for (Iterator iterator = omTarget.extractHeaderBlocks(actor); 
iterator.hasNext();) {
+            elements.add(toSAAJNode((org.w3c.dom.Node)iterator.next()));
         }
         return elements.iterator();
     }
@@ -243,9 +205,9 @@ public class SOAPHeaderImpl extends SOAP
      */
     public Iterator examineMustUnderstandHeaderElements(String actor) {
         Collection elements = new ArrayList();
-        for (Iterator iterator = 
omSOAPHeader.examineMustUnderstandHeaderBlocks(actor);
+        for (Iterator iterator = 
omTarget.examineMustUnderstandHeaderBlocks(actor);
              iterator.hasNext();) {
-            elements.add(toSAAJNode((NodeImpl)iterator.next()));
+            elements.add(toSAAJNode((org.w3c.dom.Node)iterator.next()));
         }
         return elements.iterator();
     }
@@ -259,8 +221,8 @@ public class SOAPHeaderImpl extends SOAP
      */
     public Iterator examineAllHeaderElements() {
         Collection elements = new ArrayList();
-        for (Iterator iterator = omSOAPHeader.examineAllHeaderBlocks(); 
iterator.hasNext();) {
-            elements.add(toSAAJNode((NodeImpl)iterator.next()));
+        for (Iterator iterator = omTarget.examineAllHeaderBlocks(); 
iterator.hasNext();) {
+            elements.add(toSAAJNode((org.w3c.dom.Node)iterator.next()));
         }
         return elements.iterator();
     }
@@ -274,8 +236,8 @@ public class SOAPHeaderImpl extends SOAP
      */
     public Iterator extractAllHeaderElements() {
         Collection elements = new ArrayList();
-        for (Iterator iterator = omSOAPHeader.extractAllHeaderBlocks(); 
iterator.hasNext();) {
-            elements.add(toSAAJNode((NodeImpl)iterator.next()));
+        for (Iterator iterator = omTarget.extractAllHeaderBlocks(); 
iterator.hasNext();) {
+            elements.add(toSAAJNode((org.w3c.dom.Node)iterator.next()));
         }
         return elements.iterator();
     }
@@ -299,12 +261,12 @@ public class SOAPHeaderImpl extends SOAP
 
     public SOAPHeaderElement addNotUnderstoodHeaderElement(QName qname) throws 
SOAPException {
         SOAPHeaderBlock soapHeaderBlock = null;
-        OMNamespace ns = new NamespaceImpl(qname.getNamespaceURI(), 
qname.getPrefix());
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
+        OMNamespace ns = 
omTarget.getOMFactory().createOMNamespace(qname.getNamespaceURI(), 
qname.getPrefix());
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == 
SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            soapHeaderBlock = this.omSOAPHeader.addHeaderBlock(
-                    Constants.ELEM_NOTUNDERSTOOD, this.element.getNamespace());
+            soapHeaderBlock = this.omTarget.addHeaderBlock(
+                    Constants.ELEM_NOTUNDERSTOOD, 
this.omTarget.getNamespace());
             soapHeaderBlock.addAttribute(qname.getLocalPart(), 
qname.getPrefix(), ns);
         }
         SOAPHeaderElementImpl soapHeaderElementImpl = new 
SOAPHeaderElementImpl(soapHeaderBlock);
@@ -321,8 +283,8 @@ public class SOAPHeaderImpl extends SOAP
      * @throws SOAPException - if a SOAP error occurs.
      */
     public SOAPHeaderElement addUpgradeHeaderElement(Iterator iterator) throws 
SOAPException {
-        SOAPHeaderBlock upgrade = this.omSOAPHeader.addHeaderBlock(
-                Constants.ELEM_UPGRADE, this.element.getNamespace());
+        SOAPHeaderBlock upgrade = this.omTarget.addHeaderBlock(
+                Constants.ELEM_UPGRADE, this.omTarget.getNamespace());
 
         int index = 0;
         String prefix = "ns";
@@ -330,25 +292,14 @@ public class SOAPHeaderImpl extends SOAP
             index++;
             String supported = (String)iterator.next();
 
-            OMNamespace namespace = new NamespaceImpl(supported, prefix + 
index);
+            OMNamespace namespace = 
omTarget.getOMFactory().createOMNamespace(supported, prefix + index);
 
-            if (this.element.getOMFactory() instanceof SOAP11Factory) {
-                SOAP11HeaderBlockImpl supportedEnvelop =
-                        new 
SOAP11HeaderBlockImpl(Constants.ELEM_SUPPORTEDENVELOPE,
-                                                  namespace,
-                                                  
(SOAPFactory)this.element.getOMFactory());
-                supportedEnvelop.addAttribute(Constants.ATTR_QNAME, prefix + 
index + ":"
-                        + Constants.ELEM_ENVELOPE, null);
-                upgrade.addChild(supportedEnvelop);
-            } else {
-                SOAP12HeaderBlockImpl supportedEnvelop =
-                        new 
SOAP12HeaderBlockImpl(Constants.ELEM_SUPPORTEDENVELOPE,
-                                                  namespace,
-                                                  
(SOAPFactory)this.element.getOMFactory());
-                supportedEnvelop.addAttribute(Constants.ATTR_QNAME, prefix + 
index + ":"
-                        + Constants.ELEM_ENVELOPE, null);
-                upgrade.addChild(supportedEnvelop);
-            }
+            OMElement supportedEnvelop =
+                    
omTarget.getOMFactory().createOMElement(Constants.ELEM_SUPPORTEDENVELOPE,
+                            namespace);
+            supportedEnvelop.addAttribute(Constants.ATTR_QNAME, prefix + index 
+ ":"
+                    + Constants.ELEM_ENVELOPE, null);
+            upgrade.addChild(supportedEnvelop);
         }
         SOAPHeaderElementImpl soapHeaderElementImpl = new 
SOAPHeaderElementImpl(upgrade);
         return soapHeaderElementImpl;
@@ -376,9 +327,9 @@ public class SOAPHeaderImpl extends SOAP
     }
 
     public SOAPElement addTextNode(String text) throws SOAPException {
-        if (this.element.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == 
SOAP11Version.getSingleton()) {
             return super.addTextNode(text);
-        } else if (this.element.getOMFactory() instanceof SOAP12Factory) {
+        } else if 
(((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == 
SOAP12Version.getSingleton()) {
             throw new SOAPException("Cannot add text node to SOAPHeader");
         } else {
             return null;
@@ -387,11 +338,11 @@ public class SOAPHeaderImpl extends SOAP
 
     public Iterator getChildElements(Name name) {
         QName qName = new QName(name.getURI(), name.getLocalName());
-        return getChildren(element.getChildrenWithName(qName));
+        return getChildren(omTarget.getChildrenWithName(qName));
     }
 
     public Iterator getChildElements() {
-        return getChildren(element.getChildren());
+        return getChildren(omTarget.getChildren());
     }
 
     private Iterator getChildren(Iterator childIter) {
@@ -404,7 +355,7 @@ public class SOAPHeaderImpl extends SOAP
             } else if (!(saajNode instanceof SOAPHeaderElement)) {
                 // silently replace node, as per saaj 1.2 spec
                 SOAPHeaderElement headerEle = new 
SOAPHeaderElementImpl((SOAPHeaderBlock)domNode);
-                ((NodeImpl)domNode).setUserData(SAAJ_NODE, headerEle, null);
+                domNode.setUserData(SAAJ_NODE, headerEle, null);
                 childElements.add(headerEle);
             } else {
                 childElements.add(saajNode);
@@ -418,7 +369,7 @@ public class SOAPHeaderImpl extends SOAP
     }
 
     public OMNode detach() {
-        OMNode omNode = omSOAPHeader.detach();
+        OMNode omNode = omTarget.detach();
         parentElement = null;
         return omNode;
     }

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
 Sun Aug 26 21:42:35 2012
@@ -23,9 +23,10 @@ import org.apache.axiom.attachments.Atta
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.impl.OMMultipartWriter;
+import org.apache.axiom.soap.SOAP11Version;
+import org.apache.axiom.soap.SOAP12Version;
 import org.apache.axiom.soap.SOAPEnvelope;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
+import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.util.UIDGenerator;
 import org.apache.axis2.saaj.util.SAAJUtil;
 import org.apache.axis2.transport.http.HTTPConstants;
@@ -62,9 +63,9 @@ public class SOAPMessageImpl extends SOA
 
     public SOAPMessageImpl(SOAPEnvelopeImpl soapEnvelope) {
         this.mimeHeaders = new MimeHeaders();
-        if (soapEnvelope.getOMFactory() instanceof SOAP11Factory) {
+        if 
(((SOAPFactory)soapEnvelope.omTarget.getOMFactory()).getSOAPVersion() == 
SOAP11Version.getSingleton()) {
             this.mimeHeaders.addHeader("content-type", 
HTTPConstants.MEDIA_TYPE_TEXT_XML);
-        } else if (soapEnvelope.getOMFactory() instanceof SOAP12Factory) {
+        } else if 
(((SOAPFactory)soapEnvelope.omTarget.getOMFactory()).getSOAPVersion() == 
SOAP12Version.getSingleton()) {
             this.mimeHeaders.addHeader("content-type",
                     HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML);
         }
@@ -92,11 +93,11 @@ public class SOAPMessageImpl extends SOA
                 // the available information.
                 MimeHeaders soapPartHeaders = new MimeHeaders();
                 soapPartHeaders.addHeader(HTTPConstants.HEADER_CONTENT_TYPE,
-                        attachments.getSOAPPartContentType());
-                String soapPartContentId = attachments.getSOAPPartContentID();
+                        attachments.getRootPartContentType());
+                String soapPartContentId = attachments.getRootPartContentID();
                 soapPartHeaders.addHeader("Content-ID", "<" + 
soapPartContentId + ">");
                 
-                soapPart = new SOAPPartImpl(this, 
attachments.getSOAPPartInputStream(),
+                soapPart = new SOAPPartImpl(this, 
attachments.getRootPartInputStream(),
                         soapPartHeaders, processMTOM ? attachments : null);
                 
                 for (String contentId : attachments.getAllContentIDs()) {
@@ -377,7 +378,7 @@ public class SOAPMessageImpl extends SOA
                 format.setIgnoreXMLDeclaration(true);
             }
             
-            SOAPEnvelope envelope = ((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).getOMEnvelope();
+            SOAPEnvelope envelope = ((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).getOMTarget();
             if (attachmentParts.isEmpty()) {
                 envelope.serialize(out, format);
             } else {
@@ -400,7 +401,7 @@ public class SOAPMessageImpl extends SOA
                 }
                 format.setRootContentId(rootContentId);
 
-                format.setSOAP11(((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).getOMFactory() instanceof SOAP11Factory);
+                format.setSOAP11(((SOAPFactory)((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).omTarget.getOMFactory()).getSOAPVersion() == 
SOAP11Version.getSingleton());
                 
                 //Double save the content-type in case anything is updated
                 mimeHeaders.setHeader(HTTPConstants.HEADER_CONTENT_TYPE, 
contentType.toString());
@@ -612,7 +613,7 @@ public class SOAPMessageImpl extends SOA
     }
     
     private String getBaseType() throws SOAPException {
-        boolean isSOAP12 = ((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).getOMFactory() instanceof SOAP12Factory;
+        boolean isSOAP12 = ((SOAPFactory)((SOAPEnvelopeImpl) 
soapPart.getEnvelope()).omTarget.getOMFactory()).getSOAPVersion() == 
SOAP12Version.getSingleton();
         return isSOAP12 ? HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML : 
HTTPConstants.MEDIA_TYPE_TEXT_XML;
     }
     

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
 Sun Aug 26 21:42:35 2012
@@ -20,6 +20,8 @@
 package org.apache.axis2.saaj;
 
 import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.impl.MTOMConstants;
 import org.apache.axiom.om.util.StAXUtils;
 import org.apache.axiom.soap.SOAP11Constants;
@@ -27,8 +29,6 @@ import org.apache.axiom.soap.SOAP12Const
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
 import org.apache.axis2.saaj.util.IDGenerator;
 import org.apache.axis2.saaj.util.SAAJUtil;
 import org.apache.axis2.transport.http.HTTPConstants;
@@ -138,11 +138,12 @@ public class SOAPPartImpl extends SOAPPa
         String charset;
         boolean isMTOM;
         String soapEnvelopeNamespaceURI;
+        OMMetaFactory metaFactory = 
OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
         SOAPFactory soapFactory;
         if (contentType == null) {
             charset = null;
             isMTOM = false;
-            soapFactory = new SOAP11Factory();
+            soapFactory = metaFactory.getSOAP11Factory();
             soapEnvelopeNamespaceURI = null;
         } else {
             String baseType = contentType.getBaseType().toLowerCase();
@@ -162,10 +163,10 @@ public class SOAPPartImpl extends SOAPPa
             
             if (soapContentType.equals(HTTPConstants.MEDIA_TYPE_TEXT_XML)) {
                 soapEnvelopeNamespaceURI = 
SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-                soapFactory = new SOAP11Factory();
+                soapFactory = metaFactory.getSOAP11Factory();
             } else if 
(soapContentType.equals(HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML)) {
                 soapEnvelopeNamespaceURI = 
SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-                soapFactory = new SOAP12Factory();
+                soapFactory = metaFactory.getSOAP12Factory();
             } else {
                 throw new SOAPException("Unrecognized content type '" + 
soapContentType + "'");
             }
@@ -198,9 +199,8 @@ public class SOAPPartImpl extends SOAPPa
         
         try {
             org.apache.axiom.soap.SOAPEnvelope soapEnvelope = 
builder.getSOAPEnvelope();
-            envelope = new SOAPEnvelopeImpl(
-                    
(org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl)soapEnvelope);
-            envelope.element.build();
+            envelope = new SOAPEnvelopeImpl(soapEnvelope);
+            envelope.omTarget.build();
             this.document = envelope.getOwnerDocument();
             envelope.setSOAPPartParent(this);
         } catch (Exception e) {
@@ -348,21 +348,12 @@ public class SOAPPartImpl extends SOAPPa
                 reader = inputFactory.createXMLStreamReader(is);
             }
 
-            StAXSOAPModelBuilder builder1 = null;
-            if (this.envelope.element.getOMFactory() instanceof SOAP11Factory) 
{
-                builder1 = new StAXSOAPModelBuilder(reader,
-                                                    
(SOAP11Factory)this.envelope.element
-                                                            .getOMFactory(), 
null);
-            } else if (this.envelope.element.getOMFactory() instanceof 
SOAP12Factory) {
-                builder1 = new StAXSOAPModelBuilder(reader,
-                                                    
(SOAP12Factory)this.envelope.element
-                                                            .getOMFactory(), 
null);
-            }
+            StAXSOAPModelBuilder builder1 = new StAXSOAPModelBuilder(reader,
+                                                
(SOAPFactory)this.envelope.omTarget
+                                                        .getOMFactory(), null);
 
-            org.apache.axiom.soap.SOAPEnvelope soapEnvelope = 
builder1.getSOAPEnvelope();
-            envelope = new SOAPEnvelopeImpl(
-                    
(org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl)soapEnvelope);
-            envelope.element.build();
+            envelope = new SOAPEnvelopeImpl(builder1.getSOAPEnvelope());
+            envelope.omTarget.build();
             this.document = envelope.getOwnerDocument();
             envelope.setSOAPPartParent(this);
         } catch (TransformerFactoryConfigurationError e) {
@@ -922,7 +913,7 @@ public class SOAPPartImpl extends SOAPPa
      */
     public Node removeChild(Node oldChild) throws DOMException {
         if (oldChild instanceof SOAPElementImpl) {
-            oldChild = ((SOAPElementImpl)oldChild).getElement();
+            oldChild = ((SOAPElementImpl)oldChild).getTarget();
         } else if (oldChild instanceof TextImplEx) {
             // TODO: handle text nodes somehow
         }
@@ -1196,6 +1187,6 @@ public class SOAPPartImpl extends SOAPPa
     }
     
     javax.xml.soap.Node toSAAJNode(org.w3c.dom.Node domNode) {
-        return NodeImplEx.toSAAJNode(domNode, this);
+        return SAAJNode.toSAAJNode(domNode, this);
     }
 }

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
 Sun Aug 26 21:42:35 2012
@@ -19,51 +19,33 @@
 
 package org.apache.axis2.saaj;
 
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
-import org.apache.axiom.om.impl.dom.TextImpl;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMText;
 import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
 
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.Text;
-import javax.xml.stream.XMLStreamException;
-
-public class TextImplEx extends NodeImplEx implements Text {
-
-    //TODO: assign textNode
-
-    private TextImpl textNode;
 
+public class TextImplEx extends SAAJNode<org.w3c.dom.Text,OMText> implements 
Text {
     private org.w3c.dom.Node previousSibling;
     private org.w3c.dom.Node nextSibling;
 
     public TextImplEx(String data, SOAPElement parent) {
-        super(((SOAPElementImpl)parent).getOMFactory());
-        textNode = 
(TextImpl)DOOMAbstractFactory.getOMFactory().createOMText(data);
-        this.parentElement = parent;
+        
this(OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM).getOMFactory().createOMText(data),
 parent);
     }
 
-    public TextImplEx(TextImpl textNode, SOAPElement parent) {
-        super(((SOAPElementImpl)parent).getOMFactory());
-        this.textNode = textNode;
+    public TextImplEx(OMText textNode, SOAPElement parent) {
+        super((org.w3c.dom.Text)textNode, textNode);
         this.parentElement = parent;
     }
 
     public TextImplEx(String data, SOAPElement parent,
                       org.w3c.dom.Node prevSibling, org.w3c.dom.Node 
nextSibling) {
-        super(((SOAPElementImpl)parent).getOMFactory());
-        textNode = 
(TextImpl)DOOMAbstractFactory.getOMFactory().createOMText(data);
-        this.parentElement = parent;
+        this(data, parent);
         this.previousSibling = prevSibling;
         this.nextSibling = nextSibling;
     }
 
-    TextImpl getTextNode() {
-        return textNode;
-    }
-    
     public void setNextSibling(org.w3c.dom.Node nextSibling) {
         this.nextSibling = nextSibling;
     }
@@ -79,20 +61,10 @@ public class TextImplEx extends NodeImpl
      *         otherwise
      */
     public boolean isComment() {
-        String value = textNode.getText();
+        String value = omTarget.getText();
         return value.startsWith("<!--") && value.endsWith("-->");
     }
 
-    /** The name of this node, depending on its type; see the table above. */
-    public String getNodeName() {
-        return textNode.getNodeName();
-    }
-
-    /** A code representing the type of the underlying object, as defined 
above. */
-    public short getNodeType() {
-        return textNode.getNodeType();
-    }
-
     /**
      * Breaks this node into two nodes at the specified <code>offset</code>, 
keeping both in the
      * tree as siblings. After being split, this node will contain all the 
content up to the
@@ -108,7 +80,7 @@ public class TextImplEx extends NodeImpl
      *                      <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
node is readonly.
      */
     public org.w3c.dom.Text splitText(int offset) throws DOMException {
-        return textNode.splitText(offset);
+        return target.splitText(offset);
     }
 
     public boolean isElementContentWhitespace() {
@@ -138,7 +110,7 @@ public class TextImplEx extends NodeImpl
      *                      in a <code>DOMString</code> variable on the 
implementation platform.
      */
     public String getData() throws DOMException {
-        return textNode.getData();
+        return target.getData();
     }
 
     /**
@@ -153,7 +125,7 @@ public class TextImplEx extends NodeImpl
      *                      in a <code>DOMString</code> variable on the 
implementation platform.
      */
     public void setData(String data) throws DOMException {
-        textNode.setData(data);
+        target.setData(data);
     }
 
     /**
@@ -171,7 +143,7 @@ public class TextImplEx extends NodeImpl
      *                      <code>DOMString</code>.
      */
     public String substringData(int offset, int count) throws DOMException {
-        return textNode.substringData(offset, count);
+        return target.substringData(offset, count);
     }
 
     /**
@@ -183,7 +155,7 @@ public class TextImplEx extends NodeImpl
      * @throws DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this node 
is readonly.
      */
     public void appendData(String value) throws DOMException {
-        textNode.appendData(value);
+        target.appendData(value);
     }
 
     /**
@@ -196,7 +168,7 @@ public class TextImplEx extends NodeImpl
      *                      <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this 
node is readonly.
      */
     public void insertData(int offset, String data) throws DOMException {
-        textNode.insertData(offset, data);
+        target.insertData(offset, data);
     }
 
     /**
@@ -213,7 +185,7 @@ public class TextImplEx extends NodeImpl
      *                      Raised if this node is readonly.
      */
     public void deleteData(int offset, int count) throws DOMException {
-        textNode.deleteData(offset, count);
+        target.deleteData(offset, count);
     }
 
     /**
@@ -233,37 +205,7 @@ public class TextImplEx extends NodeImpl
      *                      Raised if this node is readonly.
      */
     public void replaceData(int offset, int count, String data) throws 
DOMException {
-        textNode.replaceData(offset, count, data);
-    }
-
-    /* (non-Javadoc)
-      * @see 
org.apache.axiom.om.impl.OMNodeEx#setParent(org.apache.axiom.om.OMContainer)
-      */
-    public void setParent(OMContainer element) {
-        textNode.setParent(element);
-    }
-
-    public Document getOwnerDocument() {
-        return textNode.getOwnerDocument();
-    }
-
-    /* (non-Javadoc)
-      * @see org.apache.axiom.om.OMNode#getParent()
-      */
-    public OMContainer getParent() {
-        return textNode.getParent();
-    }
-
-    /* (non-Javadoc)
-      * @see org.apache.axiom.om.OMNode#discard()
-      */
-    public void discard() throws OMException {
-        textNode.discard();
-    }
-
-    public void internalSerialize(javax.xml.stream.XMLStreamWriter writer, 
boolean cache)
-            throws XMLStreamException {
-        textNode.internalSerialize(writer, cache);
+        target.replaceData(offset, count, data);
     }
 
     /**
@@ -272,11 +214,7 @@ public class TextImplEx extends NodeImpl
      * @return The text value (data) of this
      */
     public String getValue() {
-        return textNode.getData();
-    }
-
-    public String getNodeValue() {
-        return textNode.getData();
+        return target.getData();
     }
 
     /**
@@ -290,11 +228,7 @@ public class TextImplEx extends NodeImpl
      *                               child node or has a child node that is 
not a Text node
      */
     public void setValue(String value) {
-        textNode.setData(value);
-    }
-
-    public void setNodeValue(String value) {
-        textNode.setData(value);
+        target.setData(value);
     }
 
     public String toString() {
@@ -310,4 +244,8 @@ public class TextImplEx extends NodeImpl
     public org.w3c.dom.Node getPreviousSibling() {
         return toSAAJNode(previousSibling);
     }
+
+    public int getLength() {
+        return target.getLength();
+    }
 }

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
 Sun Aug 26 21:42:35 2012
@@ -20,8 +20,9 @@
 package org.apache.axis2.saaj.util;
 
 import org.apache.axiom.attachments.Attachments;
+import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
+import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -56,14 +57,15 @@ public class SAAJUtil {
 
         //Check the namespace and find SOAP version and factory
         String nsURI;
+        OMMetaFactory metaFactory = 
OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
         SOAPFactory factory;
         if (env.getNamespace().getNamespaceURI()
                 .equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
             nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-            factory = DOOMAbstractFactory.getSOAP11Factory();
+            factory = metaFactory.getSOAP11Factory();
         } else {
             nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-            factory = DOOMAbstractFactory.getSOAP12Factory();
+            factory = metaFactory.getSOAP12Factory();
         }
 
         StAXSOAPModelBuilder stAXSOAPModelBuilder =
@@ -81,20 +83,20 @@ public class SAAJUtil {
      * @param env An org.apache.axiom.soap.SOAPEnvelope instance
      * @return the org.apache.axis2.soap.impl.dom.SOAPEnvelopeImpl of the 
given SOAP Envelope
      */
-    public static org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl
-            toDOOMSOAPEnvelope(org.apache.axiom.soap.SOAPEnvelope env) {
+    public static Element 
toDOOMSOAPEnvelope(org.apache.axiom.soap.SOAPEnvelope env) {
         env.build();
 
         //Check the namespace and find SOAP version and factory
         String nsURI;
+        OMMetaFactory metaFactory = 
OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
         SOAPFactory factory;
         if (env.getNamespace().getNamespaceURI()
                 .equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
             nsURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-            factory = DOOMAbstractFactory.getSOAP11Factory();
+            factory = metaFactory.getSOAP11Factory();
         } else {
             nsURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
-            factory = DOOMAbstractFactory.getSOAP11Factory();
+            factory = metaFactory.getSOAP11Factory();
         }
 
         StAXSOAPModelBuilder stAXSOAPModelBuilder =
@@ -102,7 +104,7 @@ public class SAAJUtil {
         SOAPEnvelope envelope = (stAXSOAPModelBuilder).getSOAPEnvelope();
         envelope.build();
 
-        return (org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl)envelope;
+        return (Element)envelope;
     }
 
     public static org.apache.axiom.soap.SOAPEnvelope

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPPartTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPPartTest.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPPartTest.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/SOAPPartTest.java
 Sun Aug 26 21:42:35 2012
@@ -224,10 +224,10 @@ public class SOAPPartTest extends Assert
 
         SOAP11Factory axiomSF = new SOAP11Factory();
         org.apache.axiom.soap.SOAPEnvelope axiomSE = 
axiomSF.createSOAPEnvelope();
-        org.apache.axiom.soap.SOAPMessage axiomSM = 
axiomSF.createSOAPMessage(axiomSE, null);
+        org.apache.axiom.soap.SOAPMessage axiomSM = 
axiomSF.createSOAPMessage();
+        axiomSM.setSOAPEnvelope(axiomSE);
         
-        SOAPEnvelopeImpl se = 
-            new 
SOAPEnvelopeImpl((org.apache.axiom.soap.impl.dom.SOAPEnvelopeImpl)axiomSE);
+        SOAPEnvelopeImpl se = new SOAPEnvelopeImpl(axiomSE);
         SOAPMessageImpl sm = new SOAPMessageImpl(se);
         SOAPPartImpl sp = new SOAPPartImpl(sm, se);
         

Modified: 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java?rev=1377526&r1=1377525&r2=1377526&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java
 (original)
+++ 
axis/axis2/java/core/branches/1_6/modules/saaj/test/org/apache/axis2/saaj/integration/IntegrationTest.java
 Sun Aug 26 21:42:35 2012
@@ -116,7 +116,7 @@ public class IntegrationTest extends Ass
                     Attachments inAttachments = inMessage.getAttachmentMap();
                     Attachments outAttachments = outMessage.getAttachmentMap();
                     for (String contentId : inAttachments.getAllContentIDs()) {
-                        if 
(!contentId.equals(inAttachments.getSOAPPartContentID())) {
+                        if 
(!contentId.equals(inAttachments.getRootPartContentID())) {
                             outAttachments.addDataHandler(contentId,
                                     inAttachments.getDataHandler(contentId));
                         }


Reply via email to