You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/06/09 11:18:27 UTC

svn commit: r1348340 [2/2] - in /axis/axis2/java/core/trunk/modules: jaxws/src/org/apache/axis2/jaxws/message/util/impl/ saaj/ saaj/src/org/apache/axis2/saaj/ saaj/src/org/apache/axis2/saaj/util/

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java Sat Jun  9 09:18:25 2012
@@ -19,13 +19,13 @@
 
 package org.apache.axis2.saaj;
 
+import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.impl.dom.DOOMAbstractFactory;
-import org.apache.axiom.om.impl.dom.ElementImpl;
-import org.apache.axiom.om.impl.dom.NodeImpl;
 import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axiom.soap.SOAP11Version;
 import org.apache.axiom.soap.SOAP12Constants;
+import org.apache.axiom.soap.SOAP12Version;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPFaultCode;
 import org.apache.axiom.soap.SOAPFaultDetail;
@@ -35,15 +35,7 @@ import org.apache.axiom.soap.SOAPFaultRo
 import org.apache.axiom.soap.SOAPFaultSubCode;
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.soap.SOAPFaultValue;
-import org.apache.axiom.soap.impl.dom.SOAPFaultValueImpl;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultDetailImpl;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultReasonImpl;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11FaultRoleImpl;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12FaultDetailImpl;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12FaultRoleImpl;
-import org.apache.axiom.soap.impl.dom.soap12.SOAP12FaultValueImpl;
+import org.w3c.dom.Element;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.Detail;
@@ -59,21 +51,19 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 
-public class SOAPFaultImpl extends SOAPBodyElementImpl implements SOAPFault {
+public class SOAPFaultImpl extends SOAPBodyElementImpl<org.apache.axiom.soap.SOAPFault> implements SOAPFault {
 
-    protected org.apache.axiom.soap.SOAPFault fault;
     private boolean isDetailAdded;
     private Locale faultReasonLocale;
     private boolean defaultsSet;
 
     /** @param fault  */
     public SOAPFaultImpl(org.apache.axiom.soap.SOAPFault fault) {
-        super((ElementImpl)fault);
-        this.fault = fault;
+        super(fault);
     }
 
     void setDefaults() throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             setFaultCode(SOAP11Constants.QNAME_SENDER_FAULTCODE);
         } else {
             setFaultCode(SOAP12Constants.QNAME_SENDER_FAULTCODE);
@@ -84,7 +74,7 @@ public class SOAPFaultImpl extends SOAPB
     
     void removeDefaults() {
         if (defaultsSet) {
-            SOAPFaultReason reason = this.fault.getReason();
+            SOAPFaultReason reason = this.omTarget.getReason();
             if (reason != null) {
                 reason.detach();
             }
@@ -121,19 +111,19 @@ public class SOAPFaultImpl extends SOAPB
 //        		localName = faultCode.substring(faultCode.indexOf(":")+1);
 //        	}
 
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
-            soapFactory = (SOAP11Factory)this.target.getOMFactory();
-            soapFaultCode = soapFactory.createSOAPFaultCode(fault);
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
+            soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+            soapFaultCode = soapFactory.createSOAPFaultCode(omTarget);
             soapFaultCode.setText(faultCode);
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-            soapFactory = (SOAP12Factory)this.target.getOMFactory();
-            soapFaultCode = soapFactory.createSOAPFaultCode(fault);
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
+            soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+            soapFaultCode = soapFactory.createSOAPFaultCode(omTarget);
             SOAPFaultValue soapFaultValue = soapFactory.createSOAPFaultValue(soapFaultCode);
             soapFaultCode.setValue(soapFaultValue);
             soapFaultValue.setText(faultCode);
         }
 
-        this.fault.setCode(soapFaultCode);
+        this.omTarget.setCode(soapFaultCode);
     }
 
     /**
@@ -143,11 +133,11 @@ public class SOAPFaultImpl extends SOAPB
      * @see #setFaultCode(String) setFaultCode(java.lang.String)
      */
     public String getFaultCode() {
-        if (fault != null && fault.getCode() != null) {
-            if (this.target.getOMFactory() instanceof SOAP11Factory) {
-                return fault.getCode().getText();
-            } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-                return fault.getCode().getValue().getText();
+        if (omTarget != null && omTarget.getCode() != null) {
+            if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
+                return omTarget.getCode().getText();
+            } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
+                return omTarget.getCode().getValue().getText();
             } else {
                 return null;
             }
@@ -167,29 +157,15 @@ public class SOAPFaultImpl extends SOAPB
      *                       tree.
      */
     public void setFaultActor(String faultActor) throws SOAPException {
+        if (this.omTarget.getRole() == null) {
+            SOAPFaultRole faultRoleImpl = ((SOAPFactory)this.omTarget.getOMFactory()).createSOAPFaultRole(
+                    this.omTarget);
 
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
-            if (this.fault.getRole() == null) {
-                SOAP11FaultRoleImpl faultRoleImpl = new SOAP11FaultRoleImpl(
-                        this.fault, (SOAPFactory)this.target.getOMFactory());
-
-                faultRoleImpl.setRoleValue(faultActor);
-                this.fault.setRole(faultRoleImpl);
-            } else {
-                SOAPFaultRole role = this.fault.getRole();
-                role.setRoleValue(faultActor);
-            }
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-            if (this.fault.getRole() == null) {
-                SOAP12FaultRoleImpl faultRoleImpl = new SOAP12FaultRoleImpl(
-                        this.fault, (SOAPFactory)this.target.getOMFactory());
-
-                faultRoleImpl.setRoleValue(faultActor);
-                this.fault.setRole(faultRoleImpl);
-            } else {
-                SOAPFaultRole role = this.fault.getRole();
-                role.setRoleValue(faultActor);
-            }
+            faultRoleImpl.setRoleValue(faultActor);
+            this.omTarget.setRole(faultRoleImpl);
+        } else {
+            SOAPFaultRole role = this.omTarget.getRole();
+            role.setRoleValue(faultActor);
         }
     }
 
@@ -197,8 +173,8 @@ public class SOAPFaultImpl extends SOAPB
       * @see javax.xml.soap.SOAPFault#getFaultActor()
       */
     public String getFaultActor() {
-        if (this.fault.getRole() != null) {
-            return this.fault.getRole().getRoleValue();
+        if (this.omTarget.getRole() != null) {
+            return this.omTarget.getRole().getRoleValue();
         }
         return null;
     }
@@ -212,9 +188,9 @@ public class SOAPFaultImpl extends SOAPB
      * @see #getFaultString() getFaultString()
      */
     public void setFaultString(String faultString) throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             setFaultString(faultString, null);
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             setFaultString(faultString, Locale.getDefault());
         }
     }
@@ -224,13 +200,13 @@ public class SOAPFaultImpl extends SOAPB
       */
     public String getFaultString() {
 
-        if (this.fault.getNamespace().getNamespaceURI().equals(
+        if (this.omTarget.getNamespace().getNamespaceURI().equals(
                 SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI)) {
-            return this.fault.getReason().getText();
+            return this.omTarget.getReason().getText();
         } else {
-            if (this.fault.getReason() != null && this.fault.getReason().getFirstSOAPText() != null)
+            if (this.omTarget.getReason() != null && this.omTarget.getReason().getFirstSOAPText() != null)
             {
-                return this.fault.getReason().getFirstSOAPText().getText();
+                return this.omTarget.getReason().getFirstSOAPText().getText();
             }
         }
         return null;
@@ -240,7 +216,7 @@ public class SOAPFaultImpl extends SOAPB
       * @see javax.xml.soap.SOAPFault#getDetail()
       */
     public Detail getDetail() {
-        return (Detail)toSAAJNode((org.w3c.dom.Node)fault.getDetail());
+        return (Detail)toSAAJNode((org.w3c.dom.Node)omTarget.getDetail());
     }
 
 
@@ -282,16 +258,10 @@ public class SOAPFaultImpl extends SOAPB
         }
 
         SOAPFaultDetail omDetail;
-        SOAPFactory factory = (SOAPFactory)this.target.getOMFactory();
-        if (factory instanceof SOAP11Factory) {
-            omDetail = new SOAP11FaultDetailImpl(this.fault,
-                                                 factory);
-        } else {
-            omDetail = new SOAP12FaultDetailImpl(this.fault,
-                                                 factory);
-        }
+        SOAPFactory factory = (SOAPFactory)this.omTarget.getOMFactory();
+        omDetail = factory.createSOAPFaultDetail(this.omTarget);
         Detail saajDetail = new DetailImpl(omDetail);
-        ((NodeImpl)fault.getDetail()).setUserData(SAAJ_NODE, saajDetail, null);
+        ((Element)omTarget.getDetail()).setUserData(SAAJ_NODE, saajDetail, null);
         isDetailAdded = true;
         return saajDetail;
     }
@@ -316,20 +286,19 @@ public class SOAPFaultImpl extends SOAPB
      */
 
     public void setFaultString(String faultString, Locale locale) throws SOAPException {
-        if (this.fault.getReason() != null) {
-            SOAPFaultReason reason = this.fault.getReason();
-            if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (this.omTarget.getReason() != null) {
+            SOAPFaultReason reason = this.omTarget.getReason();
+            if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
                 reason.setText(faultString);
-            } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+            } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
                 addFaultReasonText(faultString, locale);
             }
         } else {
-            if (this.target.getOMFactory() instanceof SOAP11Factory) {
-                SOAPFaultReason reason = new SOAP11FaultReasonImpl(this.fault,
-                                                                   (SOAPFactory)this.target
-                                                                           .getOMFactory());
+            if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
+                SOAPFaultReason reason = ((SOAPFactory)this.omTarget
+                        .getOMFactory()).createSOAPFaultReason(this.omTarget);
                 reason.setText(faultString);
-            } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+            } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
                 addFaultReasonText(faultString, locale);
             }
         }
@@ -349,9 +318,9 @@ public class SOAPFaultImpl extends SOAPB
      * @since SAAJ 1.2
      */
     public Locale getFaultStringLocale() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             return this.faultReasonLocale;
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             Locale locale = null;
             try {
                 if (getFaultReasonLocales().hasNext()) {
@@ -384,26 +353,26 @@ public class SOAPFaultImpl extends SOAPB
         if (locale == null) {
             throw new SOAPException("Received null for locale");
         }
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("Not supported in SOAP 1.1");
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             removeDefaults();
             
             String existingReasonText = getFaultReasonText(locale);
             if (existingReasonText == null) {
                 org.apache.axiom.soap.SOAPFactory soapFactory = null;
-                soapFactory = (SOAP12Factory)this.target.getOMFactory();
-                if (this.fault.getReason() == null) {
-                    SOAPFaultReason soapFaultReason = soapFactory.createSOAPFaultReason(this.fault);
-                    this.fault.setReason(soapFaultReason);
+                soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+                if (this.omTarget.getReason() == null) {
+                    SOAPFaultReason soapFaultReason = soapFactory.createSOAPFaultReason(this.omTarget);
+                    this.omTarget.setReason(soapFaultReason);
                 }
                 SOAPFaultText soapFaultText =
-                        soapFactory.createSOAPFaultText(this.fault.getReason());
+                        soapFactory.createSOAPFaultText(this.omTarget.getReason());
                 soapFaultText.setText(text);
                 soapFaultText.setLang(locale.toString());
             } else {
                 //update the text
-                Iterator soapTextsItr = this.fault.getReason().getAllSoapTexts().iterator();
+                Iterator soapTextsItr = this.omTarget.getReason().getAllSoapTexts().iterator();
                 while (soapTextsItr.hasNext()) {
                     SOAPFaultText soapFaultText = (SOAPFaultText)soapTextsItr.next();
                     if (soapFaultText.getLang().equals(locale.toString())) {
@@ -430,36 +399,34 @@ public class SOAPFaultImpl extends SOAPB
      */
 
     public void appendFaultSubcode(QName subcode) throws SOAPException {
-        org.apache.axiom.soap.SOAPFactory soapFactory = null;
+        SOAPFactory soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
         SOAPFaultSubCode soapFaultSubCode = null;
 
         if (subcode.getNamespaceURI() == null || subcode.getNamespaceURI().trim().length() == 0) {
             throw new SOAPException("Unqualified QName object : " + subcode);
         }
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-            soapFactory = DOOMAbstractFactory.getSOAP12Factory();
         }
 
-        if (this.fault.getCode() == null) {
-            soapFactory.createSOAPFaultCode(this.fault);
+        if (this.omTarget.getCode() == null) {
+            soapFactory.createSOAPFaultCode(this.omTarget);
             //if SOAPFault is null, there cannot be a subcode.
             //Hence should create one
-            soapFaultSubCode = soapFactory.createSOAPFaultSubCode(this.fault.getCode());
-        } else if (this.fault.getCode().getSubCode() != null) {
+            soapFaultSubCode = soapFactory.createSOAPFaultSubCode(this.omTarget.getCode());
+        } else if (this.omTarget.getCode().getSubCode() != null) {
             //find the last subcode.parent of the new subcode should be the this last subcode
             soapFaultSubCode = soapFactory.createSOAPFaultSubCode(
-                    getLastSubCode(this.fault.getCode().getSubCode()));
+                    getLastSubCode(this.omTarget.getCode().getSubCode()));
         } else {
             //FaultCode is there, but no FaultSubCode
-            soapFaultSubCode = soapFactory.createSOAPFaultSubCode(this.fault.getCode());
+            soapFaultSubCode = soapFactory.createSOAPFaultSubCode(this.omTarget.getCode());
         }
 
 
         if (soapFaultSubCode != null) {
-            SOAPFaultValueImpl soapFaultValueimpl =
-                    new SOAP12FaultValueImpl(soapFaultSubCode, soapFactory);
+            SOAPFaultValue soapFaultValueimpl =
+                    soapFactory.createSOAPFaultValue(soapFaultSubCode);
             soapFaultValueimpl.setText(subcode.getPrefix() + ":" + subcode.getLocalPart());
             soapFaultValueimpl.declareNamespace(subcode.getNamespaceURI(), subcode.getPrefix());
         }
@@ -478,9 +445,9 @@ public class SOAPFaultImpl extends SOAPB
      * <p/>
      */
     public QName getFaultCodeAsQName() {
-        SOAPFaultCode soapFaultCode = this.fault.getCode();
+        SOAPFaultCode soapFaultCode = this.omTarget.getCode();
         if (soapFaultCode != null) {
-            if (this.target.getOMFactory() instanceof SOAP11Factory) {
+            if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
                 return soapFaultCode.getTextAsQName();
             } else {
                 return soapFaultCode.getValue().getTextAsQName();
@@ -498,12 +465,12 @@ public class SOAPFaultImpl extends SOAPB
      *          - if this message does not support the SOAP 1.2 concept of Fault Node.
      */
     public String getFaultNode() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("Message does not support the " +
                     "SOAP 1.2 concept of Fault Node");
         } else {
-            if (fault != null && fault.getNode() != null && fault.getNode().getText() != null) {
-                return fault.getNode().getText();
+            if (omTarget != null && omTarget.getNode() != null && omTarget.getNode().getText() != null) {
+                return omTarget.getNode().getText();
             }
         }
         return null;
@@ -523,12 +490,12 @@ public class SOAPFaultImpl extends SOAPB
      * @since SAAJ 1.3
      */
     public Iterator getFaultReasonLocales() throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("Message does not support the " +
                     "SOAP 1.2 concept of Fault Reason");
         } else {
             ArrayList faultReasonLocales = new ArrayList();
-            List soapTextList = this.fault.getReason().getAllSoapTexts();
+            List soapTextList = this.omTarget.getReason().getAllSoapTexts();
             if (soapTextList != null) {
                 Iterator faultReasons = soapTextList.iterator();
                 while (faultReasons.hasNext()) {
@@ -563,12 +530,12 @@ public class SOAPFaultImpl extends SOAPB
      * @since SAAJ 1.3
      */
     public String getFaultReasonText(Locale locale) throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("Message does not support the " +
                     "SOAP 1.2 concept of Fault Reason");
         } else {
             Iterator soapTextsItr = null;
-            SOAPFaultReason soapFaultReason = this.fault.getReason();
+            SOAPFaultReason soapFaultReason = this.omTarget.getReason();
             if (soapFaultReason != null) {
                 List soapTexts = soapFaultReason.getAllSoapTexts();
                 if (soapTexts != null) {
@@ -595,11 +562,11 @@ public class SOAPFaultImpl extends SOAPB
      */
 
     public Iterator getFaultReasonTexts() throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         }
 
-        Iterator soapTextsItr = this.fault.getReason().getAllSoapTexts().iterator();
+        Iterator soapTextsItr = this.omTarget.getReason().getAllSoapTexts().iterator();
         ArrayList reasonTexts = new ArrayList();
         while (soapTextsItr.hasNext()) {
             SOAPFaultText soapFaultText = (SOAPFaultText)soapTextsItr.next();
@@ -618,12 +585,12 @@ public class SOAPFaultImpl extends SOAPB
      * @since SAAJ 1.3
      */
     public String getFaultRole() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("Message does not support the " +
                     "SOAP 1.2 concept of Fault Reason");
         } else {
-            if (this.fault.getRole() != null) {
-                return this.fault.getRole().getText();
+            if (this.omTarget.getRole() != null) {
+                return this.omTarget.getRole().getText();
             } else {
                 return null;
             }
@@ -640,11 +607,11 @@ public class SOAPFaultImpl extends SOAPB
      *          - if this message does not support the SOAP 1.2 concept of Subcode.
      */
     public Iterator getFaultSubcodes() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         }
         ArrayList faultSubcodes = new ArrayList();
-        SOAPFaultSubCode subCodeElement = this.fault.getCode().getSubCode();
+        SOAPFaultSubCode subCodeElement = this.omTarget.getCode().getSubCode();
         while (subCodeElement != null) {
             QName qname = subCodeElement.getValue().getTextAsQName();
             faultSubcodes.add(qname);
@@ -655,7 +622,7 @@ public class SOAPFaultImpl extends SOAPB
 
     /** Returns true if this SOAPFault has a Detail subelement and false otherwise. */
     public boolean hasDetail() {
-        if (this.fault.getDetail() != null) {
+        if (this.omTarget.getDetail() != null) {
             return true;
         } else {
             return false;
@@ -671,10 +638,10 @@ public class SOAPFaultImpl extends SOAPB
      *          - if this message does not support the SOAP 1.2 concept of Subcode.
      */
     public void removeAllFaultSubcodes() {
-        if (target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            fault.getCode().getSubCode().detach();
+            omTarget.getCode().getSubCode().detach();
         }
     }
 
@@ -697,31 +664,31 @@ public class SOAPFaultImpl extends SOAPB
         }
 
         org.apache.axiom.soap.SOAPFactory soapFactory = null;
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
-            soapFactory = (SOAPFactory)this.target.getOMFactory();
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
+            soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             if (!(qname.getNamespaceURI()
                     .equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE))) {
                 throw new SOAPException("Incorrect URI"
                         + qname.getNamespaceURI());
             }
-            soapFactory = (SOAPFactory)this.target.getOMFactory();
+            soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
         } else {
             throw new SOAPException("Invalid SOAP version");
         }
-        SOAPFaultCode soapFaultCode = soapFactory.createSOAPFaultCode(this.fault);
+        SOAPFaultCode soapFaultCode = soapFactory.createSOAPFaultCode(this.omTarget);
 
         String prefix = ((qname.getPrefix() != null) && !qname.getPrefix()
-                .equals("")) ? qname.getPrefix() : this.fault.getQName()
+                .equals("")) ? qname.getPrefix() : this.omTarget.getQName()
                 .getPrefix();
 
-        OMFactory factory = target.getOMFactory();
-        if (factory instanceof SOAP11Factory) {
+        OMFactory factory = omTarget.getOMFactory();
+        if (((SOAPFactory)factory).getSOAPVersion() == SOAP11Version.getSingleton()) {
             soapFaultCode.setText(prefix + ":" + qname.getLocalPart());
             OMNamespace omNamespace = factory.createOMNamespace(qname.getNamespaceURI(),
                                                           qname.getPrefix());
             soapFaultCode.declareNamespace(omNamespace);
-        } else if (factory instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)factory).getSOAPVersion() == SOAP12Version.getSingleton()) {
             SOAPFaultValue soapFaultValue = soapFactory.createSOAPFaultValue(soapFaultCode);
             // don't just use the default prefix, use the passed one or the parent's
             soapFaultValue.setText(prefix + ":" + qname.getLocalPart());
@@ -731,7 +698,7 @@ public class SOAPFaultImpl extends SOAPB
             soapFaultCode.setValue(soapFaultValue);
         }
         
-        this.fault.setCode(soapFaultCode);
+        this.omTarget.setCode(soapFaultCode);
     }
 
     /**
@@ -745,16 +712,14 @@ public class SOAPFaultImpl extends SOAPB
      */
 
     public void setFaultNode(String s) throws SOAPException {
-        org.apache.axiom.soap.SOAPFactory soapFactory = null;
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        SOAPFactory soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("message does not support " +
                     "the SOAP 1.2 concept of Fault Node");
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-            soapFactory = DOOMAbstractFactory.getSOAP12Factory();
         }
-        SOAPFaultNode soapFaultNode = soapFactory.createSOAPFaultNode(this.fault);
+        SOAPFaultNode soapFaultNode = soapFactory.createSOAPFaultNode(this.omTarget);
         soapFaultNode.setText(s);
-        this.fault.setNode(soapFaultNode);
+        this.omTarget.setNode(soapFaultNode);
     }
 
     /**
@@ -767,25 +732,23 @@ public class SOAPFaultImpl extends SOAPB
      *                       support the SOAP 1.2 concept of Fault Role.
      */
     public void setFaultRole(String uri) throws SOAPException {
-        org.apache.axiom.soap.SOAPFactory soapFactory = null;
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        SOAPFactory soapFactory = (SOAPFactory)this.omTarget.getOMFactory();
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException("message does not support the " +
                     "SOAP 1.2 concept of Fault Role");
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
-            soapFactory = DOOMAbstractFactory.getSOAP12Factory();
         }
-        SOAPFaultRole soapFaultRole = soapFactory.createSOAPFaultRole(this.fault);
+        SOAPFaultRole soapFaultRole = soapFactory.createSOAPFaultRole(this.omTarget);
         soapFaultRole.setRoleValue(uri);
-        this.fault.setRole(soapFaultRole);
+        this.omTarget.setRole(soapFaultRole);
     }
 
     public Iterator getChildElements(Name name) {
         QName qName = new QName(name.getURI(), name.getLocalName());
-        return getChildren(target.getChildrenWithName(qName));
+        return getChildren(omTarget.getChildrenWithName(qName));
     }
 
     public Iterator getChildElements() {
-        return getChildren(target.getChildren());
+        return getChildren(omTarget.getChildren());
     }
 
     private Iterator getChildren(Iterator childIter) {
@@ -795,8 +758,8 @@ public class SOAPFaultImpl extends SOAPB
             Node saajNode = toSAAJNode(domNode);
             if (!(saajNode instanceof SOAPFaultElement)) {
                 // silently replace node, as per saaj 1.2 spec
-                SOAPFaultElement bodyEle = new SOAPFaultElementImpl((ElementImpl)domNode);
-                ((NodeImpl)domNode).setUserData(SAAJ_NODE, bodyEle, null);
+                SOAPFaultElement bodyEle = new SOAPFaultElementImpl<OMElement>((OMElement)domNode);
+                domNode.setUserData(SAAJ_NODE, bodyEle, null);
                 childElements.add(bodyEle);
             } else {
                 childElements.add(saajNode);

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderElementImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderElementImpl.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderElementImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderElementImpl.java Sat Jun  9 09:18:25 2012
@@ -19,23 +19,20 @@
 
 package org.apache.axis2.saaj;
 
-import org.apache.axiom.om.impl.dom.ElementImpl;
+import org.apache.axiom.soap.SOAP11Version;
+import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.impl.dom.soap11.SOAP11Factory;
 
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPHeaderElement;
 
-public class SOAPHeaderElementImpl extends SOAPElementImpl implements SOAPHeaderElement {
-
-    private SOAPHeaderBlock headerElem;
+public class SOAPHeaderElementImpl extends SOAPElementImpl<SOAPHeaderBlock> implements SOAPHeaderElement {
 
     /** @param element  */
     public SOAPHeaderElementImpl(SOAPHeaderBlock element) {
-        super((ElementImpl)element);
-        this.headerElem = element;
+        super(element);
     }
 
     /**
@@ -48,7 +45,7 @@ public class SOAPHeaderElementImpl exten
      * @see #getActor() getActor()
      */
     public void setActor(String actorURI) {
-        this.headerElem.setRole(actorURI);
+        this.omTarget.setRole(actorURI);
     }
 
     /**
@@ -58,7 +55,7 @@ public class SOAPHeaderElementImpl exten
      * @see #setActor(String) setActor(java.lang.String)
      */
     public String getActor() {
-        return this.headerElem.getRole();
+        return this.omTarget.getRole();
     }
 
     /**
@@ -77,7 +74,7 @@ public class SOAPHeaderElementImpl exten
      * @see #getMustUnderstand() getMustUnderstand()
      */
     public void setMustUnderstand(boolean mustUnderstand) {
-        this.headerElem.setMustUnderstand(mustUnderstand);
+        this.omTarget.setMustUnderstand(mustUnderstand);
     }
 
     /**
@@ -88,7 +85,7 @@ public class SOAPHeaderElementImpl exten
      *         <CODE>SOAPHeaderElement</CODE> object is turned on; <CODE>false</CODE> otherwise
      */
     public boolean getMustUnderstand() {
-        return this.headerElem.getMustUnderstand();
+        return this.omTarget.getMustUnderstand();
     }
 
     /**
@@ -99,18 +96,18 @@ public class SOAPHeaderElementImpl exten
      *                       - if this message does not support the SOAP 1.2 concept of Fault Role.
      */
     public void setRole(String uri) throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            this.headerElem.setRole(uri);
+            this.omTarget.setRole(uri);
         }
     }
 
     public String getRole() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            return this.headerElem.getRole();
+            return this.omTarget.getRole();
         }
     }
 
@@ -128,18 +125,18 @@ public class SOAPHeaderElementImpl exten
      *                       support the SOAP 1.2 concept of Relay attribute.
      */
     public void setRelay(boolean flag) throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            this.headerElem.setRelay(flag);
+            this.omTarget.setRelay(flag);
         }
     }
 
     public boolean getRelay() {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             throw new UnsupportedOperationException();
         } else {
-            return this.headerElem.getRelay();
+            return this.omTarget.getRelay();
         }
     }
 

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java Sat Jun  9 09:18:25 2012
@@ -20,18 +20,12 @@
 package org.apache.axis2.saaj;
 
 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.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;
 
@@ -46,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
@@ -56,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)
@@ -84,15 +75,8 @@ 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.target.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(localName, ns, omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(localName, ns, omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        }
+        OMNamespace ns = omTarget.getOMFactory().createOMNamespace(uri, prefix);
+        SOAPHeaderBlock headerBlock = ((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(localName, ns, omTarget);
         SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
         target.setUserData(SAAJ_NODE, this, null);
         soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, null);
@@ -111,19 +95,10 @@ 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.target.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(soapElement.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(soapElement.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-
-        }
+        SOAPHeaderBlock headerBlock = ((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                soapElement.getLocalName(), ns, omTarget);
         SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
         target.setUserData(SAAJ_NODE, this, null);
         soapHeaderElement.target.setUserData(SAAJ_NODE, soapHeaderElement, null);
@@ -132,20 +107,11 @@ public class SOAPHeaderImpl extends SOAP
     }
 
     @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.target.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(child.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(child.getLocalName(), ns,
-                                                    omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-
-        }
+        SOAPHeaderBlock headerBlock = ((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                child.getLocalName(), ns, omTarget);
      
         target.setUserData(SAAJ_NODE, this, null);
         
@@ -174,16 +140,10 @@ 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.target.getOMFactory() instanceof SOAP11Factory) {
-            headerBlock = new SOAP11HeaderBlockImpl(name.getLocalName(), ns, omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        } else {
-            headerBlock = new SOAP12HeaderBlockImpl(name.getLocalName(), ns, omSOAPHeader,
-                                                    (SOAPFactory)this.target.getOMFactory());
-        }
+        SOAPHeaderBlock headerBlock = ((SOAPFactory)this.omTarget.getOMFactory()).createSOAPHeaderBlock(
+                name.getLocalName(), ns, omTarget);
 
         SOAPHeaderElementImpl soapHeaderElement = new SOAPHeaderElementImpl(headerBlock);
         target.setUserData(SAAJ_NODE, this, null);
@@ -207,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();
     }
@@ -228,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();
     }
@@ -245,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();
     }
@@ -261,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();
     }
@@ -276,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();
     }
@@ -301,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.target.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.target.getNamespace());
+            soapHeaderBlock = this.omTarget.addHeaderBlock(
+                    Constants.ELEM_NOTUNDERSTOOD, this.omTarget.getNamespace());
             soapHeaderBlock.addAttribute(qname.getLocalPart(), qname.getPrefix(), ns);
         }
         SOAPHeaderElementImpl soapHeaderElementImpl = new SOAPHeaderElementImpl(soapHeaderBlock);
@@ -323,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.target.getNamespace());
+        SOAPHeaderBlock upgrade = this.omTarget.addHeaderBlock(
+                Constants.ELEM_UPGRADE, this.omTarget.getNamespace());
 
         int index = 0;
         String prefix = "ns";
@@ -332,10 +292,10 @@ 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);
 
             OMElement supportedEnvelop =
-                    target.getOMFactory().createOMElement(Constants.ELEM_SUPPORTEDENVELOPE,
+                    omTarget.getOMFactory().createOMElement(Constants.ELEM_SUPPORTEDENVELOPE,
                             namespace);
             supportedEnvelop.addAttribute(Constants.ATTR_QNAME, prefix + index + ":"
                     + Constants.ELEM_ENVELOPE, null);
@@ -367,9 +327,9 @@ public class SOAPHeaderImpl extends SOAP
     }
 
     public SOAPElement addTextNode(String text) throws SOAPException {
-        if (this.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             return super.addTextNode(text);
-        } else if (this.target.getOMFactory() instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             throw new SOAPException("Cannot add text node to SOAPHeader");
         } else {
             return null;
@@ -378,11 +338,11 @@ public class SOAPHeaderImpl extends SOAP
 
     public Iterator getChildElements(Name name) {
         QName qName = new QName(name.getURI(), name.getLocalName());
-        return getChildren(target.getChildrenWithName(qName));
+        return getChildren(omTarget.getChildrenWithName(qName));
     }
 
     public Iterator getChildElements() {
-        return getChildren(target.getChildren());
+        return getChildren(omTarget.getChildren());
     }
 
     private Iterator getChildren(Iterator childIter) {
@@ -395,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);
@@ -409,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/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPMessageImpl.java Sat Jun  9 09:18:25 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.target.getOMFactory() instanceof SOAP11Factory) {
+        if (((SOAPFactory)soapEnvelope.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
             this.mimeHeaders.addHeader("content-type", HTTPConstants.MEDIA_TYPE_TEXT_XML);
-        } else if (soapEnvelope.target.getOMFactory() instanceof SOAP12Factory) {
+        } else if (((SOAPFactory)soapEnvelope.omTarget.getOMFactory()).getSOAPVersion() == SOAP12Version.getSingleton()) {
             this.mimeHeaders.addHeader("content-type",
                     HTTPConstants.MEDIA_TYPE_APPLICATION_SOAP_XML);
         }
@@ -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()).target.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()).target.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/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPPartImpl.java Sat Jun  9 09:18:25 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.target.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.target.getOMFactory() instanceof SOAP11Factory) {
-                builder1 = new StAXSOAPModelBuilder(reader,
-                                                    (SOAP11Factory)this.envelope.target
-                                                            .getOMFactory(), null);
-            } else if (this.envelope.target.getOMFactory() instanceof SOAP12Factory) {
-                builder1 = new StAXSOAPModelBuilder(reader,
-                                                    (SOAP12Factory)this.envelope.target
-                                                            .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.target.build();
+            envelope = new SOAPEnvelopeImpl(builder1.getSOAPEnvelope());
+            envelope.omTarget.build();
             this.document = envelope.getOwnerDocument();
             envelope.setSOAPPartParent(this);
         } catch (TransformerFactoryConfigurationError e) {

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java Sat Jun  9 09:18:25 2012
@@ -19,31 +19,29 @@
 
 package org.apache.axis2.saaj;
 
-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 javax.xml.soap.SOAPElement;
 import javax.xml.soap.Text;
 
-public class TextImplEx extends SAAJNode<TextImpl> implements Text {
+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((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(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((TextImpl)DOOMAbstractFactory.getOMFactory().createOMText(data));
-        this.parentElement = parent;
+        this(data, parent);
         this.previousSibling = prevSibling;
         this.nextSibling = nextSibling;
     }
@@ -63,7 +61,7 @@ public class TextImplEx extends SAAJNode
      *         otherwise
      */
     public boolean isComment() {
-        String value = target.getText();
+        String value = omTarget.getText();
         return value.startsWith("<!--") && value.endsWith("-->");
     }
 

Modified: axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java?rev=1348340&r1=1348339&r2=1348340&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java (original)
+++ axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/util/SAAJUtil.java Sat Jun  9 09:18:25 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