You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ru...@apache.org on 2006/03/07 08:05:40 UTC

svn commit: r383807 [1/3] - in /webservices/axis2/trunk/java/modules: core/src/org/apache/axis2/transport/http/ doom/src/org/apache/axis2/om/impl/dom/ doom/src/org/apache/axis2/om/impl/dom/factory/ doom/src/org/apache/axis2/om/impl/dom/jaxp/ doom/src/o...

Author: ruchithf
Date: Mon Mar  6 23:05:35 2006
New Revision: 383807

URL: http://svn.apache.org/viewcvs?rev=383807&view=rev
Log:
changing DOOM to let each DOOMNode and OMNamespace hold the factory that was used to create it and related changes in SAAJ
Some bug fixes in DOOM
Updated the security module to be able to enable/disable DOOM


Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/AttrImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CharacterImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ChildNode.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CommentImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DOMImplementationImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentFragmentimpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ElementImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NamespaceImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ParentNode.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/TextImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/jaxp/DocumentBuilderImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPBodyImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPElement.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPEnvelopeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultDetailImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultNodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultReasonImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultRoleImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultSubCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultTextImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultValueImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderBlockImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPMessageImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPTextImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/factory/DOMSOAPFactory.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11BodyImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11Factory.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultNodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultReasonImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultRoleImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultSubCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultTextImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11FaultValueImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap11/SOAP11HeaderImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12BodyImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12Factory.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultDetailImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultNodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultReasonImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultRoleImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultSubCodeImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultTextImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12FaultValueImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
    webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/soap12/SOAP12HeaderImpl.java
    webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/DocumentImplTest.java
    webservices/axis2/trunk/java/modules/doom/test/org/apache/axis2/om/impl/dom/TextImplTest.java
    webservices/axis2/trunk/java/modules/integration/src/test/interop/util/BodyElements.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMLoadTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/mtom/EchoRawMTOMToBase64Test.java
    webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/swa/EchoSwA.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/AttachmentPartImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/NodeImplEx.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPConnectionImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPElementImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPEnvelopeImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPFaultImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPHeaderImpl.java
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/TextImplEx.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllReceiver.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/WSDoAllSender.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/handler/WSSHandlerConstants.java
    webservices/axis2/trunk/java/modules/security/src/org/apache/axis2/security/util/Axis2Util.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java Mon Mar  6 23:05:35 2006
@@ -71,7 +71,7 @@
             SOAPFactory soapFactory = new SOAP11Factory();
             SOAPEnvelope envelope = soapFactory.getDefaultEnvelope();
             OMNamespace omNs = soapFactory.createOMNamespace(values[0], "services");
-            OMNamespace defualtNs = new OMNamespaceImpl("", null);
+            OMNamespace defualtNs = new OMNamespaceImpl("", null, soapFactory);
             OMElement opElement = soapFactory.createOMElement(operation, omNs);
             Iterator it = map.keySet().iterator();
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/AttrImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/AttrImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/AttrImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/AttrImpl.java Mon Mar  6 23:05:35 2006
@@ -19,6 +19,7 @@
 import org.apache.ws.commons.om.OMConstants;
 import org.apache.ws.commons.om.OMContainer;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.impl.OMOutputImpl;
@@ -61,33 +62,40 @@
      * Owner of this attribute
      */
     protected ParentNode parent;
-
-    protected AttrImpl(DocumentImpl ownerDocument) {
-        super(ownerDocument);
+    
+    protected AttrImpl(DocumentImpl ownerDocument, OMFactory factory) {
+        super(ownerDocument, factory);
     }
 
     public AttrImpl(DocumentImpl ownerDocument, String localName,
-            OMNamespace ns, String value) {
-        super(ownerDocument);
+            OMNamespace ns, String value, OMFactory factory) {
+        super(ownerDocument, factory);
         this.attrName = localName;
-        this.attrValue = new TextImpl(ownerDocument, value);
+        this.attrValue = new TextImpl(ownerDocument, value, factory);
         this.namespace = (NamespaceImpl) ns;
     }
 
-    public AttrImpl(DocumentImpl ownerDocument, String name, String value) {
-        super(ownerDocument);
+    public AttrImpl(DocumentImpl ownerDocument, String name, String value,
+            OMFactory factory) {
+        super(ownerDocument, factory);
         this.attrName = name;
-        this.attrValue = new TextImpl(ownerDocument, value);
+        this.attrValue = new TextImpl(ownerDocument, value, factory);
     }
 
-    public AttrImpl(DocumentImpl ownerDocument, String name) {
-        super(ownerDocument);
+    public AttrImpl(DocumentImpl ownerDocument, String name, OMFactory factory) {
+        super(ownerDocument, factory);
         this.attrName = name;
+        //If this is a default namespace attr
+        if(OMConstants.XMLNS_NS_PREFIX.equals(name)) {
+            this.namespace = new NamespaceImpl(
+                    OMConstants.XMLNS_NS_URI, OMConstants.XMLNS_NS_PREFIX,
+                    this.factory);
+        }
     }
 
     public AttrImpl(DocumentImpl ownerDocument, String localName,
-            OMNamespace namespace) {
-        super(ownerDocument);
+            OMNamespace namespace, OMFactory factory) {
+        super(ownerDocument, factory);
         this.attrName = localName;
         this.namespace = (NamespaceImpl) namespace;
     }
@@ -333,7 +341,7 @@
      * @see org.w3c.dom.Node#getLocalName()
      */
     public String getLocalName() {
-        return (this.namespace == null) ? null : DOMUtil
+        return (this.namespace == null) ? this.attrName : DOMUtil
                 .getLocalName(this.attrName);
     }
 
@@ -365,7 +373,7 @@
 
         if (clone.attrValue == null) {
             // Need to break the association w/ original kids
-            clone.attrValue = new TextImpl(this.attrValue.toString());
+            clone.attrValue = new TextImpl(this.attrValue.toString(), factory);
             if (this.attrValue.nextSibling != null) {
                 throw new UnsupportedOperationException(
                         "Attribute value can contain only a text " +

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CharacterImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CharacterImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CharacterImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CharacterImpl.java Mon Mar  6 23:05:35 2006
@@ -15,6 +15,7 @@
  */
 package org.apache.axis2.om.impl.dom;
 
+import org.apache.ws.commons.om.OMFactory;
 import org.w3c.dom.CharacterData;
 import org.w3c.dom.DOMException;
 
@@ -26,18 +27,19 @@
 
 	protected StringBuffer textValue;
 	
-	protected CharacterImpl() {
+	protected CharacterImpl(OMFactory factory) {
+        super(factory);
 	}
 	
 	/**
 	 * @param ownerNode
 	 */
-	public CharacterImpl(DocumentImpl ownerNode) {
-		super(ownerNode);
+	public CharacterImpl(DocumentImpl ownerNode, OMFactory factory) {
+		super(ownerNode, factory);
 	}
 
-	public CharacterImpl(DocumentImpl ownerNode, String value){
-		super(ownerNode);
+	public CharacterImpl(DocumentImpl ownerNode, String value, OMFactory factory){
+		super(ownerNode, factory);
 		this.textValue = new StringBuffer(value);
 	}
 	

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ChildNode.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ChildNode.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ChildNode.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ChildNode.java Mon Mar  6 23:05:35 2006
@@ -17,6 +17,7 @@
 
 import org.apache.ws.commons.om.OMContainer;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.impl.OMNodeEx;
 import org.w3c.dom.Node;
@@ -32,12 +33,12 @@
     /**
      * @param ownerDocument
      */
-    protected ChildNode(DocumentImpl ownerDocument) {
-        super(ownerDocument);
+    protected ChildNode(DocumentImpl ownerDocument, OMFactory factory) {
+        super(ownerDocument, factory);
     }
 
-    protected ChildNode() {
-
+    protected ChildNode(OMFactory factory) {
+        super(factory);
     }
 
     public OMNode getNextOMSibling() throws OMException {

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CommentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CommentImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CommentImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/CommentImpl.java Mon Mar  6 23:05:35 2006
@@ -18,6 +18,7 @@
 
 import org.apache.ws.commons.om.OMComment;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.impl.OMOutputImpl;
 import org.w3c.dom.Comment;
 import org.w3c.dom.Node;
@@ -27,13 +28,13 @@
 
 public class CommentImpl extends CharacterImpl implements Comment, OMComment {
 
-    public CommentImpl(DocumentImpl ownerNode) {
-        super(ownerNode);
+    public CommentImpl(DocumentImpl ownerNode, OMFactory factory) {
+        super(ownerNode, factory);
         this.done = true;
     }
 
-    public CommentImpl(DocumentImpl ownerNode, String value) {
-        super(ownerNode, value);
+    public CommentImpl(DocumentImpl ownerNode, String value, OMFactory factory) {
+        super(ownerNode, value, factory);
         this.done = true;
     }
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DOMImplementationImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DOMImplementationImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DOMImplementationImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DOMImplementationImpl.java Mon Mar  6 23:05:35 2006
@@ -15,6 +15,7 @@
  */
 package org.apache.axis2.om.impl.dom;
 
+import org.apache.axis2.om.impl.dom.factory.OMDOMFactory;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
@@ -29,12 +30,15 @@
 
     public Document createDocument(String namespaceURI, String qualifiedName,
             DocumentType doctype) throws DOMException {
+        
         // TODO Handle docType stuff
-        DocumentImpl doc = new DocumentImpl();
+        OMDOMFactory fac = new OMDOMFactory();
+        DocumentImpl doc = new DocumentImpl(fac);
+        fac.setDocument(doc);
 
         new ElementImpl(doc, DOMUtil.getLocalName(qualifiedName),
                 new NamespaceImpl(namespaceURI, DOMUtil
-                        .getPrefix(qualifiedName)));
+                        .getPrefix(qualifiedName),fac),fac);
 
         return doc;
     }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentFragmentimpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentFragmentimpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentFragmentimpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentFragmentimpl.java Mon Mar  6 23:05:35 2006
@@ -16,6 +16,7 @@
 package org.apache.axis2.om.impl.dom;
 
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.impl.OMOutputImpl;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Node;
@@ -29,8 +30,8 @@
     /**
      * @param ownerDocument
      */
-    public DocumentFragmentimpl(DocumentImpl ownerDocument) {
-        super(ownerDocument);
+    public DocumentFragmentimpl(DocumentImpl ownerDocument, OMFactory factory) {
+        super(ownerDocument, factory);
     }
 
     /*

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/DocumentImpl.java Mon Mar  6 23:05:35 2006
@@ -15,12 +15,14 @@
  */
 package org.apache.axis2.om.impl.dom;
 
+import org.apache.axis2.om.impl.dom.factory.OMDOMFactory;
 import org.apache.axis2.util.XMLChar;
 import org.apache.ws.commons.om.OMConstants;
 import org.apache.ws.commons.om.OMContainer;
 import org.apache.ws.commons.om.OMDocument;
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.OMOutputFormat;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
@@ -60,16 +62,20 @@
     /**
      * @param ownerDocument
      */
-    public DocumentImpl(DocumentImpl ownerDocument) {
-        super(ownerDocument);
+    public DocumentImpl(DocumentImpl ownerDocument, OMFactory factory) {
+        super(ownerDocument, factory);
+        ((OMDOMFactory)factory).setDocument(this);
     }
 
-    public DocumentImpl(OMXMLParserWrapper parserWrapper) {
+    public DocumentImpl(OMXMLParserWrapper parserWrapper, OMFactory factory) {
+        super(factory);
         this.builder = parserWrapper;
+        ((OMDOMFactory)factory).setDocument(this);
     }
 
-    public DocumentImpl() {
-
+    public DocumentImpl(OMFactory factory) {
+        super(factory);
+        ((OMDOMFactory)factory).setDocument(this);
     }
 
     // /
@@ -145,23 +151,22 @@
                     null);
             throw new DOMException(DOMException.INVALID_CHARACTER_ERR, msg);
         }
-        return new AttrImpl(this, name);
+        return new AttrImpl(this, name, this.factory);
     }
 
     public Attr createAttributeNS(String namespaceURI, String qualifiedName)
             throws DOMException {
-        if (!namespaceURI.equals(OMConstants.XMLNS_NS_URI)) {
+//        if (!namespaceURI.equals(OMConstants.XMLNS_NS_URI)) {
             String localName = DOMUtil.getLocalName(qualifiedName);
             String prefix = DOMUtil.getPrefix(qualifiedName);
 
             this.checkQName(prefix, localName);
 
             return new AttrImpl(this, localName, new NamespaceImpl(
-                    namespaceURI, prefix));
-        } else {
-            // Do nothing since we handle the 'xmlns:' internally
-            return null;
-        }
+                    namespaceURI, prefix, this.factory), this.factory);
+//        } else {
+//            return null;
+//        }
     }
 
     public CDATASection createCDATASection(String arg0) throws DOMException {
@@ -170,15 +175,15 @@
     }
 
     public Comment createComment(String data) {
-        return new CommentImpl(this, data);
+        return new CommentImpl(this, data, this.factory);
     }
 
     public DocumentFragment createDocumentFragment() {
-        return new DocumentFragmentimpl(this);
+        return new DocumentFragmentimpl(this, this.factory);
     }
 
     public Element createElement(String tagName) throws DOMException {
-        return new ElementImpl(this, tagName);
+        return new ElementImpl(this, tagName, this.factory);
     }
 
     public Element createElementNS(String ns, String qualifiedName)
@@ -191,8 +196,8 @@
             this.checkQName(prefix, localName);
         }
 
-        NamespaceImpl namespace = new NamespaceImpl(ns, prefix);
-        return new ElementImpl(this, localName, namespace);
+        NamespaceImpl namespace = new NamespaceImpl(ns, prefix, this.factory);
+        return new ElementImpl(this, localName, namespace, this.factory);
     }
 
     public EntityReference createEntityReference(String arg0)
@@ -208,7 +213,7 @@
     }
 
     public Text createTextNode(String value) {
-        return new TextImpl(this, value);
+        return new TextImpl(this, value, this.factory);
     }
 
     public DocumentType getDoctype() {
@@ -261,7 +266,7 @@
                                     OMConstants.XMLNS_NS_URI)) {
                         Attr newAttr = (Attr) importNode(attr, true);
                         newElement.setAttributeNodeNS(newAttr);
-                    } else if (attr.getLocalName() == null) {
+                    } else { // if (attr.getLocalName() == null) {
                         Attr newAttr = (Attr) importNode(attr, true);
                         newElement.setAttributeNode(newAttr);
                     }
@@ -273,11 +278,17 @@
         }
 
         case Node.ATTRIBUTE_NODE: {
-            if (importedNode.getLocalName() == null) {
+            if ("".equals(importedNode.getNamespaceURI())
+                    || importedNode.getNamespaceURI() == null) {
                 newNode = createAttribute(importedNode.getNodeName());
             } else {
-                newNode = createAttributeNS(importedNode.getNamespaceURI(),
-                        importedNode.getNodeName());
+                //Check whether it is a default ns decl
+                if(OMConstants.XMLNS_NS_PREFIX.equals(importedNode.getNodeName())) {
+                    newNode = createAttribute(importedNode.getNodeName());
+                } else {
+                    newNode = createAttributeNS(importedNode.getNamespaceURI(),
+                            importedNode.getNodeName());
+                }
             }
             ((Attr) newNode).setValue(importedNode.getNodeValue());
             break;

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ElementImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ElementImpl.java Mon Mar  6 23:05:35 2006
@@ -20,6 +20,7 @@
 import org.apache.ws.commons.om.OMConstants;
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.OMText;
@@ -68,8 +69,9 @@
     /**
      * @param ownerDocument
      */
-    public ElementImpl(DocumentImpl ownerDocument, String tagName) {
-        super(ownerDocument);
+    public ElementImpl(DocumentImpl ownerDocument, String tagName,
+            OMFactory factory) {
+        super(ownerDocument, factory);
         if (ownerDocument.firstChild == null) {
             ownerDocument.firstChild = this;
         }
@@ -86,8 +88,8 @@
      * @param ns
      */
     public ElementImpl(DocumentImpl ownerDocument, String tagName,
-            NamespaceImpl ns) {
-        super(ownerDocument);
+            NamespaceImpl ns, OMFactory factory) {
+        super(ownerDocument, factory);
         this.localName = tagName;
         this.namespace = ns;
         this.declareNamespace(ns);
@@ -96,8 +98,8 @@
     }
 
     public ElementImpl(DocumentImpl ownerDocument, String tagName,
-            NamespaceImpl ns, OMXMLParserWrapper builder) {
-        super(ownerDocument);
+            NamespaceImpl ns, OMXMLParserWrapper builder, OMFactory factory) {
+        super(ownerDocument, factory);
         this.localName = tagName;
         this.namespace = ns;
         this.builder = builder;
@@ -105,16 +107,17 @@
         this.attributes = new AttributeMap(this);
     }
 
-    public ElementImpl(ParentNode parentNode, String tagName, NamespaceImpl ns) {
-        this((DocumentImpl) parentNode.getOwnerDocument(), tagName, ns);
+    public ElementImpl(ParentNode parentNode, String tagName, NamespaceImpl ns,
+            OMFactory factory) {
+        this((DocumentImpl) parentNode.getOwnerDocument(), tagName, ns, factory);
         this.parentNode = parentNode;
         this.parentNode.addChild(this);
         this.done = true;
     }
 
     public ElementImpl(ParentNode parentNode, String tagName, NamespaceImpl ns,
-            OMXMLParserWrapper builder) {
-        this(tagName, ns, builder);
+            OMXMLParserWrapper builder, OMFactory factory) {
+        this(tagName, ns, builder, factory);
         if (parentNode != null) {
             this.ownerNode = (DocumentImpl) parentNode.getOwnerDocument();
             this.isOwned(true);
@@ -125,7 +128,8 @@
     }
 
     public ElementImpl(String tagName, NamespaceImpl ns,
-            OMXMLParserWrapper builder) {
+            OMXMLParserWrapper builder, OMFactory factory) {
+        this(factory);
         this.localName = tagName;
         this.namespace = ns;
         this.builder = builder;
@@ -135,7 +139,9 @@
         this.attributes = new AttributeMap(this);
     }
 
-    public ElementImpl() {
+    public ElementImpl(OMFactory factory) {
+        super(factory);
+        this.ownerNode = ((OMDOMFactory)factory).getDocument();
     }
 
     // /
@@ -354,8 +360,9 @@
         if (namespaceURI == OMConstants.XMLNS_NS_URI) {
             OMNamespace ns = this.findNamespaceURI(localName);
             AttrImpl namespaceAttr = new AttrImpl(this.ownerNode, localName, ns
-                    .getName());
-            NamespaceImpl xmlNs = new NamespaceImpl(OMConstants.XMLNS_NS_URI);
+                    .getName(), this.factory);
+            NamespaceImpl xmlNs = new NamespaceImpl(OMConstants.XMLNS_NS_URI,
+                    this.factory);
             namespaceAttr.setOMNamespace(xmlNs);
             return namespaceAttr;
         }
@@ -398,7 +405,7 @@
             throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, msg);
         }
 
-        if (attr.getName().startsWith(OMConstants.XMLNS_NS_PREFIX + ":")) {
+        if (attr.getNodeName().startsWith(OMConstants.XMLNS_NS_PREFIX + ":")) {
             // This is a ns declaration
             this.declareNamespace(attr.getNodeValue(), DOMUtil
                     .getLocalName(attr.getName()));
@@ -428,7 +435,8 @@
             // This is a ns declaration
             this.declareNamespace(value, DOMUtil.getLocalName(name));
         } else {
-            this.setAttributeNode(new AttrImpl(this.ownerNode, name, value));
+            this.setAttributeNode(new AttrImpl(this.ownerNode, name, value,
+                    this.factory));
         }
 
     }
@@ -485,7 +493,7 @@
                 // TODO checkwhether the same ns is declared with a different
                 // prefix and remove it
                 this.declareNamespace(new NamespaceImpl(attr.getNamespaceURI(),
-                        attr.getPrefix()));
+                        attr.getPrefix(), this.factory));
             }
 
             return (Attr) this.attributes.setNamedItemNS(attr);
@@ -507,9 +515,9 @@
                         .getLocalName(qualifiedName));
             } else {
                 AttrImpl attr = new AttrImpl(this.ownerNode, DOMUtil
-                        .getLocalName(qualifiedName), value);
+                        .getLocalName(qualifiedName), value, this.factory);
                 attr.setOMNamespace(new NamespaceImpl(namespaceURI, DOMUtil
-                        .getPrefix(qualifiedName)));
+                        .getPrefix(qualifiedName), this.factory));
 
                 this.setAttributeNodeNS(attr);
             }
@@ -555,16 +563,16 @@
             if (attributeNode != null) {
                 AttrImpl tempAttr = ((AttrImpl) attributeNode);
                 tempAttr.setOMNamespace(new NamespaceImpl(namespaceURI, DOMUtil
-                        .getPrefix(qualifiedName)));
+                        .getPrefix(qualifiedName), this.factory));
                 tempAttr.setAttributeValue(value);
                 this.attributes.setNamedItem(tempAttr);
                 return tempAttr;
             } else {
                 NamespaceImpl ns = new NamespaceImpl(namespaceURI, DOMUtil
-                        .getPrefix(qualifiedName));
+                        .getPrefix(qualifiedName), this.factory);
                 AttrImpl attr = new AttrImpl((DocumentImpl) this
                         .getOwnerDocument(), DOMUtil
-                        .getLocalName(qualifiedName), ns, value);
+                        .getLocalName(qualifiedName), ns, value, this.factory);
                 this.attributes.setNamedItem(attr);
                 return attr;
             }
@@ -577,7 +585,7 @@
                 return tempAttr;
             } else {
                 AttrImpl attr = new AttrImpl((DocumentImpl) this
-                        .getOwnerDocument(), qualifiedName, value);
+                        .getOwnerDocument(), qualifiedName, value, this.factory);
                 this.attributes.setNamedItem(attr);
                 return attr;
             }
@@ -699,7 +707,7 @@
      *      java.lang.String)
      */
     public OMNamespace declareNamespace(String uri, String prefix) {
-        NamespaceImpl ns = new NamespaceImpl(uri, prefix);
+        NamespaceImpl ns = new NamespaceImpl(uri, prefix, this.factory);
         return declareNamespace(ns);
     }
 
@@ -757,7 +765,7 @@
         // namespace
         if (prefix != null && prefix.equals(OMConstants.XMLNS_PREFIX)
                 && uri.equals(OMConstants.XMLNS_URI)) {
-            return new NamespaceImpl(uri, prefix);
+            return new NamespaceImpl(uri, prefix, this.factory);
         }
 
         if (namespaces == null) {
@@ -1201,10 +1209,10 @@
                         && !prefix.equals(OMConstants.XMLNS_NS_PREFIX)) {
                     OMNamespace ns = (OMNamespace) this.namespaces.get(prefix);
                     AttrImpl attr = new AttrImpl(this.ownerNode, prefix, ns
-                            .getName());
+                            .getName(), this.factory);
                     attr.setOMNamespace(new NamespaceImpl(
                             OMConstants.XMLNS_NS_URI,
-                            OMConstants.XMLNS_NS_PREFIX));
+                            OMConstants.XMLNS_NS_PREFIX, this.factory));
                     attributeMap.addItem(attr);
                 }
             }
@@ -1219,9 +1227,10 @@
                 // as the default and if NOT add the attr
                 if (this.parentNode.getNamespaceURI() != this.getNamespaceURI()) {
                     AttrImpl attr = new AttrImpl(this.ownerNode, "xmlns",
-                            this.namespace.getName());
+                            this.namespace.getName(), this.factory);
                     attr.setOMNamespace(new NamespaceImpl(
-                            OMConstants.XMLNS_NS_URI, OMConstants.XMLNS_NS_PREFIX));
+                            OMConstants.XMLNS_NS_URI,
+                            OMConstants.XMLNS_NS_PREFIX, this.factory));
                     attributeMap.addItem(attr);
                 }
             }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NamespaceImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NamespaceImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NamespaceImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NamespaceImpl.java Mon Mar  6 23:05:35 2006
@@ -15,6 +15,7 @@
  */
 package org.apache.axis2.om.impl.dom;
 
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNamespace;
 
 public class NamespaceImpl implements OMNamespace {
@@ -22,13 +23,16 @@
     private String nsUri;
 
     private String nsPrefix;
+    
+    private OMFactory factory;
 
-    public NamespaceImpl(String uri) {
+    public NamespaceImpl(String uri, OMFactory factory) {
+        this.factory = factory;
         this.nsUri = uri;
     }
 
-    public NamespaceImpl(String uri, String prefix) {
-        this.nsUri = uri;
+    public NamespaceImpl(String uri, String prefix, OMFactory factory) {
+        this(uri, factory);
         this.nsPrefix = prefix;
     }
 
@@ -58,6 +62,13 @@
      */
     public String getName() {
         return this.nsUri;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.ws.commons.om.OMNamespace#getOMFactory()
+     */
+    public OMFactory getOMFactory() {
+        return this.factory;
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NodeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/NodeImpl.java Mon Mar  6 23:05:35 2006
@@ -15,8 +15,10 @@
  */
 package org.apache.axis2.om.impl.dom;
 
+import org.apache.axis2.om.impl.dom.factory.OMDOMFactory;
 import org.apache.ws.commons.om.OMContainer;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.OMOutputFormat;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
@@ -60,6 +62,11 @@
     protected int nodeType;
 
     protected DocumentImpl ownerNode;
+    
+    /**
+     * Factory that created this node
+     */
+    protected OMFactory factory;
 
     // data
 
@@ -79,21 +86,19 @@
     // Constructors
     //
 
-    protected NodeImpl(DocumentImpl ownerDocument) {
-
+    protected NodeImpl(DocumentImpl ownerDocument, OMFactory factory) {
+        this(factory);
         this.ownerNode = ownerDocument;
         // this.isOwned(true);
 
     }
 
-    protected NodeImpl() {
+    protected NodeImpl(OMFactory factory) {
+        this.factory = factory;
     }
 
     public void normalize() {
-        /*
-         * by default we do not have any children, ParentNode overrides this
-         * behavior
-         */
+        //Parent node should override this 
     }
 
     public boolean hasAttributes() {
@@ -603,5 +608,12 @@
         omOutput.setOutputFormat(format);
         serializeAndConsume(omOutput);
         omOutput.flush();
+    }
+
+    /**
+     * Returns the <code>OMFactory</code> that created this node
+     */
+    public OMFactory getOMFactory() {
+        return this.factory;
     }
 }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ParentNode.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ParentNode.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ParentNode.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/ParentNode.java Mon Mar  6 23:05:35 2006
@@ -17,6 +17,7 @@
 
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.impl.OMContainerEx;
 import org.apache.ws.commons.om.impl.OMNodeEx;
@@ -39,11 +40,12 @@
     /**
      * @param ownerDocument
      */
-    protected ParentNode(DocumentImpl ownerDocument) {
-        super(ownerDocument);
+    protected ParentNode(DocumentImpl ownerDocument, OMFactory factory) {
+        super(ownerDocument, factory);
     }
 
-    protected ParentNode() {
+    protected ParentNode(OMFactory factory) {
+        super(factory);
     }
 
     // /

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/TextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/TextImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/TextImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/TextImpl.java Mon Mar  6 23:05:35 2006
@@ -22,6 +22,7 @@
 import org.apache.ws.commons.om.OMAttribute;
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMException;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMText;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
@@ -58,8 +59,7 @@
     /**
      * Field nameSpace is used when serializing Binary stuff as MTOM optimized.
      */
-    protected OMNamespace ns = new NamespaceImpl(
-            Constants.URI_XOP_INCLUDE, "xop");
+    protected OMNamespace ns = null;
 
     /**
      * Field localName is used when serializing Binary stuff as MTOM optimized.
@@ -77,9 +77,11 @@
      * 
      * @param text
      */
-    public TextImpl(String text) {
+    public TextImpl(String text, OMFactory factory) {
+        super(factory);
         this.textValue = new StringBuffer(text);
         this.done = true;
+        this.ns = new NamespaceImpl(Constants.URI_XOP_INCLUDE, "xop", factory);
     }
 
     /**
@@ -91,22 +93,24 @@
      *            deffered parsing of MIME messages
      */
     public TextImpl(String contentID, OMElement parent,
-            OMXMLParserWrapper builder) {
-        super((DocumentImpl) ((ParentNode) parent).getOwnerDocument());
+            OMXMLParserWrapper builder, OMFactory factory) {
+        super((DocumentImpl) ((ParentNode) parent).getOwnerDocument(), factory);
         this.contentID = contentID;
         this.optimize = true;
         this.isBinary = true;
         this.done = true;
         this.builder = builder;
+        this.ns = new NamespaceImpl(Constants.URI_XOP_INCLUDE, "xop", factory);
     }
 
-    public TextImpl(String text, String mimeType, boolean optimize) {
-        this(text, mimeType, optimize, true);
+    public TextImpl(String text, String mimeType, boolean optimize,
+            OMFactory factory) {
+        this(text, mimeType, optimize, true, factory);
     }
 
     public TextImpl(String text, String mimeType, boolean optimize,
-            boolean isBinary) {
-        this(text);
+            boolean isBinary, OMFactory factory) {
+        this(text, factory);
         this.mimeType = mimeType;
         this.optimize = optimize;
         this.isBinary = isBinary;
@@ -117,28 +121,32 @@
      * @param optimize
      *            To send binary content. Created progrmatically.
      */
-    public TextImpl(Object dataHandler, boolean optimize) {
+    public TextImpl(Object dataHandler, boolean optimize, OMFactory factory) {
+        super(factory);
         this.dataHandlerObject = dataHandler;
         this.isBinary = true;
         this.optimize = optimize;
         done = true;
+        this.ns = new NamespaceImpl(Constants.URI_XOP_INCLUDE, "xop", factory);
     }
 
     /**
      * @param ownerNode
      */
-    public TextImpl(DocumentImpl ownerNode) {
-        super(ownerNode);
+    public TextImpl(DocumentImpl ownerNode, OMFactory factory) {
+        super(ownerNode, factory);
         this.done = true;
+        this.ns = new NamespaceImpl(Constants.URI_XOP_INCLUDE, "xop", factory);
     }
 
     /**
      * @param ownerNode
      * @param value
      */
-    public TextImpl(DocumentImpl ownerNode, String value) {
-        super(ownerNode, value);
+    public TextImpl(DocumentImpl ownerNode, String value, OMFactory factory) {
+        super(ownerNode, value, factory);
         this.done = true;
+        this.ns = new NamespaceImpl(Constants.URI_XOP_INCLUDE, "xop", factory);
     }
 
     /**
@@ -146,8 +154,8 @@
      * @param value
      */
     public TextImpl(DocumentImpl ownerNode, String value, String mimeType,
-            boolean optimize) {
-        this(ownerNode, value);
+            boolean optimize, OMFactory factory) {
+        this(ownerNode, value, factory);
         this.mimeType = mimeType;
         this.optimize = optimize;
         this.isBinary = true;
@@ -362,7 +370,9 @@
                 }
                 // send binary as MTOM optimised
                 this.attribute = new AttrImpl(this.ownerNode, "href",
-                        new NamespaceImpl("", ""), "cid:" + getContentID());
+                        new NamespaceImpl("", "", this.factory), 
+                        "cid:" + getContentID(),
+                        this.factory);
                 this.serializeStartpart(omOutput);
                 omOutput.writeOptimized(this);
                 omOutput.getXmlStreamWriter().writeEndElement();
@@ -467,7 +477,7 @@
     }
 
     public Node cloneNode(boolean deep) {
-        TextImpl textImpl = new TextImpl(this.textValue.toString());
+        TextImpl textImpl = new TextImpl(this.textValue.toString(), this.factory);
         textImpl.setOwnerDocument(this.ownerNode);
         return textImpl;
     }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java Mon Mar  6 23:05:35 2006
@@ -54,7 +54,7 @@
 
     public OMDocument createOMDocument() {
         if (this.document == null)
-            this.document = new DocumentImpl();
+            this.document = new DocumentImpl(this);
 
         return this.document;
     }
@@ -70,7 +70,7 @@
 
     public OMElement createOMElement(String localName, OMNamespace ns) {
         return new ElementImpl((DocumentImpl) this.createOMDocument(),
-                localName, (NamespaceImpl) ns);
+                localName, (NamespaceImpl) ns, this);
     }
 
     public OMElement createOMElement(String localName, OMNamespace ns,
@@ -79,20 +79,20 @@
         case Node.ELEMENT_NODE: // We are adding a new child to an elem
             ElementImpl parentElem = (ElementImpl) parent;
             ElementImpl elem = new ElementImpl((DocumentImpl) parentElem
-                    .getOwnerDocument(), localName, (NamespaceImpl) ns);
+                    .getOwnerDocument(), localName, (NamespaceImpl) ns, this);
             parentElem.appendChild(elem);
             return elem;
 
         case Node.DOCUMENT_NODE:
             DocumentImpl docImpl = (DocumentImpl) parent;
             ElementImpl elem2 = new ElementImpl(docImpl, localName,
-                    (NamespaceImpl) ns);
+                    (NamespaceImpl) ns, this);
             return elem2;
 
         case Node.DOCUMENT_FRAGMENT_NODE:
             DocumentFragmentimpl docFragImpl = (DocumentFragmentimpl) parent;
             ElementImpl elem3 = new ElementImpl((DocumentImpl) docFragImpl
-                    .getOwnerDocument(), localName, (NamespaceImpl) ns);
+                    .getOwnerDocument(), localName, (NamespaceImpl) ns, this);
             return elem3;
         default:
             throw new OMDOMException(
@@ -110,20 +110,22 @@
         case Node.ELEMENT_NODE: // We are adding a new child to an elem
             ElementImpl parentElem = (ElementImpl) parent;
             ElementImpl elem = new ElementImpl((DocumentImpl) parentElem
-                    .getOwnerDocument(), localName, (NamespaceImpl) ns, builder);
+                    .getOwnerDocument(), localName, (NamespaceImpl) ns,
+                    builder, this);
             parentElem.appendChild(elem);
             return elem;
         case Node.DOCUMENT_NODE:
             DocumentImpl docImpl = (DocumentImpl) parent;
             ElementImpl elem2 = new ElementImpl(docImpl, localName,
-                    (NamespaceImpl) ns, builder);
+                    (NamespaceImpl) ns, builder, this);
             docImpl.appendChild(elem2);
             return elem2;
 
         case Node.DOCUMENT_FRAGMENT_NODE:
             DocumentFragmentimpl docFragImpl = (DocumentFragmentimpl) parent;
             ElementImpl elem3 = new ElementImpl((DocumentImpl) docFragImpl
-                    .getOwnerDocument(), localName, (NamespaceImpl) ns, builder);
+                    .getOwnerDocument(), localName, (NamespaceImpl) ns,
+                    builder, this);
             return elem3;
         default:
             throw new OMDOMException(
@@ -140,7 +142,8 @@
      */
     public OMElement createOMElement(String localName, String namespaceURI,
             String namespacePrefix) {
-        NamespaceImpl ns = new NamespaceImpl(namespaceURI, namespacePrefix);
+        NamespaceImpl ns = new NamespaceImpl(namespaceURI, namespacePrefix,
+                this);
         return this.createOMElement(localName, ns);
     }
 
@@ -155,9 +158,9 @@
             throws OMException {
         NamespaceImpl ns;
         if (qname.getPrefix() != null) {
-            ns = new NamespaceImpl(qname.getNamespaceURI(), qname.getPrefix());
+            ns = new NamespaceImpl(qname.getNamespaceURI(), qname.getPrefix(), this);
         } else {
-            ns = new NamespaceImpl(qname.getNamespaceURI());
+            ns = new NamespaceImpl(qname.getNamespaceURI(), this);
         }
         return createOMElement(qname.getLocalPart(), ns, parent);
     }
@@ -169,7 +172,7 @@
      *      java.lang.String)
      */
     public OMNamespace createOMNamespace(String uri, String prefix) {
-        return new NamespaceImpl(uri, prefix);
+        return new NamespaceImpl(uri, prefix, this);
     }
 
     /**
@@ -182,7 +185,7 @@
     public OMText createText(OMElement parent, String text) {
         ElementImpl parentElem = (ElementImpl) parent;
         TextImpl txt = new TextImpl((DocumentImpl) parentElem
-                .getOwnerDocument(), text);
+                .getOwnerDocument(), text, this);
         parentElem.addChild(txt);
         return txt;
     }
@@ -199,7 +202,7 @@
      * @see org.apache.ws.commons.om.OMFactory#createText(java.lang.String)
      */
     public OMText createText(String s) {
-        return new TextImpl(s);
+        return new TextImpl(s, this);
     }
 
     /**
@@ -210,7 +213,7 @@
     public OMText createText(String text, int type) {
         switch (type) {
         case Node.TEXT_NODE:
-            return new TextImpl(text);
+            return new TextImpl(text, this);
         default:
             throw new OMDOMException("Only Text nodes are supported right now");
         }
@@ -224,7 +227,7 @@
      *      java.lang.String, boolean)
      */
     public OMText createText(String text, String mimeType, boolean optimize) {
-        return new TextImpl(text, mimeType, optimize);
+        return new TextImpl(text, mimeType, optimize, this);
     }
 
     /**
@@ -234,7 +237,7 @@
      * @see org.apache.ws.commons.om.OMFactory#createText(java.lang.Object, boolean)
      */
     public OMText createText(Object dataHandler, boolean optimize) {
-        return new TextImpl(dataHandler, optimize);
+        return new TextImpl(dataHandler, optimize, this);
     }
 
     /**
@@ -247,21 +250,21 @@
     public OMText createText(OMElement parent, String s, String mimeType,
             boolean optimize) {
         TextImpl text = new TextImpl((DocumentImpl) ((ElementImpl) parent)
-                .getOwnerDocument(), s, mimeType, optimize);
+                .getOwnerDocument(), s, mimeType, optimize, this);
         parent.addChild(text);
         return text;
     }
 
     public OMText createText(String contentID, OMElement parent,
             OMXMLParserWrapper builder) {
-        TextImpl text = new TextImpl(contentID, parent, builder);
+        TextImpl text = new TextImpl(contentID, parent, builder, this);
         parent.addChild(text);
         return text;
     }
 
     public OMAttribute createOMAttribute(String localName, OMNamespace ns,
             String value) {
-        return new AttrImpl(this.getDocument(), localName, ns, value);
+        return new AttrImpl(this.getDocument(), localName, ns, value, this);
     }
 
     public OMDocType createOMDocType(OMContainer parent, String content) {
@@ -283,7 +286,7 @@
             doc = (DocumentImpl) ((ParentNode) parent).getOwnerDocument();
         }
 
-        CommentImpl comment = new CommentImpl(doc, content);
+        CommentImpl comment = new CommentImpl(doc, content, this);
         parent.addChild(comment);
         return comment;
     }
@@ -293,7 +296,7 @@
     }
 
     public OMDocument createOMDocument(OMXMLParserWrapper builder) {
-        this.document = new DocumentImpl(builder);
+        this.document = new DocumentImpl(builder, this);
         return this.document;
     }
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/jaxp/DocumentBuilderImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/jaxp/DocumentBuilderImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/jaxp/DocumentBuilderImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/om/impl/dom/jaxp/DocumentBuilderImpl.java Mon Mar  6 23:05:35 2006
@@ -73,7 +73,8 @@
      * @see javax.xml.parsers.DocumentBuilder#newDocument()
      */
     public Document newDocument() {
-        DocumentImpl documentImpl = new DocumentImpl();
+        OMDOMFactory factory = new OMDOMFactory();
+        DocumentImpl documentImpl = new DocumentImpl(factory);
         documentImpl.setComplete(true);
         return documentImpl;
     }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPBodyImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPBodyImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPBodyImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPBodyImpl.java Mon Mar  6 23:05:35 2006
@@ -19,13 +19,13 @@
 import org.apache.ws.commons.om.OMConstants;
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMException;
-import org.apache.ws.commons.om.OMNode;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
 import org.apache.ws.commons.soap.SOAP11Constants;
 import org.apache.ws.commons.soap.SOAP12Constants;
 import org.apache.ws.commons.soap.SOAPBody;
 import org.apache.ws.commons.soap.SOAPConstants;
 import org.apache.ws.commons.soap.SOAPEnvelope;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPProcessingException;
 
@@ -40,8 +40,9 @@
 	/**
 	 * @param envelope
 	 */
-	public SOAPBodyImpl(SOAPEnvelope envelope) throws SOAPProcessingException {
-		super(envelope, SOAPConstants.BODY_LOCAL_NAME, true);
+	public SOAPBodyImpl(SOAPEnvelope envelope, SOAPFactory factory)
+            throws SOAPProcessingException {
+		super(envelope, SOAPConstants.BODY_LOCAL_NAME, true, factory);
 
 	}
 
@@ -51,8 +52,9 @@
 	 * @param envelope
 	 * @param builder
 	 */
-	public SOAPBodyImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder) {
-		super(envelope, SOAPConstants.BODY_LOCAL_NAME, builder);
+	public SOAPBodyImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+		super(envelope, SOAPConstants.BODY_LOCAL_NAME, builder, factory);
 	}
 
 	/**
@@ -128,7 +130,8 @@
 	public void addFault(SOAPFault soapFault) throws OMException {
 		if (hasSOAPFault) {
 			throw new OMException(
-					"SOAP Body already has a SOAP Fault and there can not be more than one SOAP fault");
+					"SOAP Body already has a SOAP Fault and there can not be " +
+                    "more than one SOAP fault");
 		}
 		addChild(soapFault);
 		hasSOAPFault = true;
@@ -137,7 +140,8 @@
 	protected void checkParent(OMElement parent) throws SOAPProcessingException {
 		if (!(parent instanceof SOAPEnvelopeImpl)) {
 			throw new SOAPProcessingException(
-					"Expecting an implementation of SOAP Envelope as the parent. But received some other implementation");
+					"Expecting an implementation of SOAP Envelope as the " +
+                    "parent. But received some other implementation");
 		}
 	}
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPElement.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPElement.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPElement.java Mon Mar  6 23:05:35 2006
@@ -23,18 +23,23 @@
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPProcessingException;
 
 public abstract class SOAPElement extends ElementImpl {
 
+    public SOAPElement(SOAPFactory factory) {
+        super(factory);
+    }
 
     /**
      * @param parent
      */
     protected SOAPElement(OMElement parent,
                           String localName,
-                          boolean extractNamespaceFromParent) throws SOAPProcessingException {
-        super((ParentNode)parent, localName, null);
+                          boolean extractNamespaceFromParent,
+                          SOAPFactory factory) throws SOAPProcessingException {
+        super((ParentNode)parent, localName, null, factory);
         if (parent == null) {
             throw new SOAPProcessingException(
                     " Can not create " + localName +
@@ -51,38 +56,26 @@
 
     protected SOAPElement(OMElement parent,
                           String localName,
-                          OMXMLParserWrapper builder) {
-        super((ParentNode)parent, localName, null, builder);
-    }
-
-    protected SOAPElement() {
+                          OMXMLParserWrapper builder,
+                          SOAPFactory factory) {
+        super((ParentNode)parent, localName, null, builder, factory);
     }
 
-    protected SOAPElement(DocumentImpl doc, String localName,OMNamespace ns) {
-		super(doc, localName, (NamespaceImpl)ns);
+    protected SOAPElement(DocumentImpl doc, String localName, OMNamespace ns,
+            SOAPFactory factory) {
+		super(doc, localName, (NamespaceImpl)ns, factory);
 	}
     
-    protected SOAPElement(DocumentImpl ownerDocument, String tagName, NamespaceImpl ns, OMXMLParserWrapper builder) {
-    	super(ownerDocument, tagName, ns, builder);
+    protected SOAPElement(DocumentImpl ownerDocument, String tagName,
+            NamespaceImpl ns, OMXMLParserWrapper builder, SOAPFactory factory) {
+    	super(ownerDocument, tagName, ns, builder, factory);
     }
     
-// /**
-// * Caution : This Constructor is meant to be used only by the SOAPEnvelope.
-//     * <p/>
-//     * Reasons : This can be used to create a SOAP Element programmatically. But we need to make sure that the user
-//     * always passes a parent for the element being created. But SOAP Envelope has no parent.
-//     *
-//     * @param localName
-//     * @param ns
-//     */
-//    protected SOAPElement(String localName, OMNamespace ns) {
-//        super(localName, ns);
-//
-//    }
-
     /**
-     * This has to be implemented by all the derived classes to check for the correct parent.
+     * This has to be implemented by all the derived classes to check 
+     * for the correct parent.
      */
-    protected abstract void checkParent(OMElement parent) throws SOAPProcessingException;
+    protected abstract void checkParent(OMElement parent)
+            throws SOAPProcessingException;
 
 }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPEnvelopeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPEnvelopeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPEnvelopeImpl.java Mon Mar  6 23:05:35 2006
@@ -42,14 +42,12 @@
 public class SOAPEnvelopeImpl extends SOAPElement implements SOAPEnvelope,
 		OMConstants {
 
-	SOAPFactory factory;
 
 	/**
 	 * @param builder
 	 */
 	public SOAPEnvelopeImpl(OMXMLParserWrapper builder, SOAPFactory factory) {
-		super(null, SOAPConstants.SOAPENVELOPE_LOCAL_NAME, builder);
-		this.factory = factory;
+		super(null, SOAPConstants.SOAPENVELOPE_LOCAL_NAME, builder, factory);
 	}
 
 	public SOAPEnvelopeImpl(DocumentImpl doc, OMXMLParserWrapper builder, SOAPFactory factory) {
@@ -59,17 +57,15 @@
 				(NamespaceImpl)factory
 						.createOMNamespace((factory instanceof SOAP11Factory) ? SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI
 								: SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI, SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX),
-				builder);
-		this.factory = factory;
+				builder, factory);
 	}
 	/**
 	 * @param ns
 	 */
 	public SOAPEnvelopeImpl(OMNamespace ns, SOAPFactory factory) {
 		super(((DOMSOAPFactory) factory).getDocument(),
-				SOAPConstants.SOAPENVELOPE_LOCAL_NAME, ns);
+				SOAPConstants.SOAPENVELOPE_LOCAL_NAME, ns, factory);
 		this.getOwnerDocument().appendChild(this);
-		this.factory = factory;
 	}
 
 	/**
@@ -90,22 +86,8 @@
 	public SOAPHeader getHeader() throws OMException {
 		SOAPHeader header =
                 (SOAPHeader) getFirstChildWithName(new QName(SOAPConstants.HEADER_LOCAL_NAME));
-		/*if (builder == null && header == null) {
-			header = factory.createSOAPHeader(this);
-			addChild(header);
-		}*/
 		return header;
 	}
-/*
-    public SOAPHeader getHeader2(){
-       return (SOAPHeader) getFirstChildWithName(new QName(SOAPConstants.HEADER_LOCAL_NAME));
-    }
-
-    public SOAPHeader addHeader(){
-        SOAPHeader soapHeader = factory.createSOAPHeader(this);
-        addChild(soapHeader);
-        return soapHeader;
-    }*/
 
     public void addChild(OMNode child) {
         if ((child instanceof OMElement)

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultCodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultCodeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultCodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultCodeImpl.java Mon Mar  6 23:05:35 2006
@@ -22,6 +22,7 @@
 import org.apache.ws.commons.om.impl.llom.serialize.StreamWriterToContentHandlerConverter;
 import org.apache.ws.commons.om.util.ElementHelper;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPFaultCode;
 import org.apache.ws.commons.soap.SOAPFaultSubCode;
@@ -38,18 +39,20 @@
      * @param parent
      * @param builder
      */
-    public SOAPFaultCodeImpl(SOAPFault parent, OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME, builder);
+    public SOAPFaultCodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME, builder,
+                factory);
     }
 
     /**
      * @param parent
      */
     public SOAPFaultCodeImpl(SOAPFault parent,
-                             boolean extractNamespaceFromParent) throws SOAPProcessingException {
-        super(parent,
-                SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME,
-                extractNamespaceFromParent);
+                             boolean extractNamespaceFromParent, 
+                             SOAPFactory factory) throws SOAPProcessingException {
+        super(parent, SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME,
+                extractNamespaceFromParent, factory);
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultDetailImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultDetailImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultDetailImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultDetailImpl.java Mon Mar  6 23:05:35 2006
@@ -21,6 +21,7 @@
 import org.apache.ws.commons.om.impl.llom.OMSerializerUtil;
 import org.apache.ws.commons.om.impl.llom.serialize.StreamWriterToContentHandlerConverter;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPFaultDetail;
 import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -30,19 +31,24 @@
 
 public abstract class SOAPFaultDetailImpl extends SOAPElement implements SOAPFaultDetail {
 
+    
     protected SOAPFaultDetailImpl(SOAPFault parent,
-                                  boolean extractNamespaceFromParent) throws SOAPProcessingException {
+            boolean extractNamespaceFromParent, SOAPFactory factory)
+            throws SOAPProcessingException {
         super(parent,
                 SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME,
-                extractNamespaceFromParent);
+                extractNamespaceFromParent, factory);
     }
 
-    protected SOAPFaultDetailImpl(SOAPFault parent,
-                                  OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, builder);
+    protected SOAPFaultDetailImpl(SOAPFactory factory) {
+        super(factory);
     }
-
-    protected SOAPFaultDetailImpl() {
+    
+    protected SOAPFaultDetailImpl(SOAPFault parent,
+                                  OMXMLParserWrapper builder,
+                                  SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, builder,
+                factory);
     }
 
     public void addDetailEntry(OMElement detailElement) {

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultImpl.java Mon Mar  6 23:05:35 2006
@@ -29,6 +29,7 @@
 import org.apache.ws.commons.soap.SOAP12Constants;
 import org.apache.ws.commons.soap.SOAPBody;
 import org.apache.ws.commons.soap.SOAPConstants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPFaultCode;
 import org.apache.ws.commons.soap.SOAPFaultDetail;
@@ -53,9 +54,9 @@
 	 * @param parent
 	 * @param e
 	 */
-	public SOAPFaultImpl(SOAPBody parent, Exception e)
+	public SOAPFaultImpl(SOAPBody parent, Exception e, SOAPFactory factory)
 			throws SOAPProcessingException {
-		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, true);
+		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, true, factory);
 		setException(e);
 	}
 
@@ -64,8 +65,9 @@
 		putExceptionToSOAPFault(e);
 	}
 
-	public SOAPFaultImpl(SOAPBody parent) throws SOAPProcessingException {
-		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, true);
+	public SOAPFaultImpl(SOAPBody parent, SOAPFactory factory)
+            throws SOAPProcessingException {
+		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, true, factory);
 	}
 
 	/**
@@ -74,8 +76,9 @@
 	 * @param parent
 	 * @param builder
 	 */
-	public SOAPFaultImpl(SOAPBody parent, OMXMLParserWrapper builder) {
-		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, builder);
+	public SOAPFaultImpl(SOAPBody parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+		super(parent, SOAPConstants.SOAPFAULT_LOCAL_NAME, builder, factory);
 	}
 
 	protected abstract SOAPFaultDetail getNewSOAPFaultDetail(SOAPFault fault)
@@ -160,7 +163,7 @@
 		}
 		OMElement faultDetailEnty = new ElementImpl((ParentNode) this,
 				SOAPConstants.SOAP_FAULT_DETAIL_EXCEPTION_ENTRY,
-				null);
+				null, this.factory);
 		faultDetailEnty.setText(sw.getBuffer().toString());
 	}
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultNodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultNodeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultNodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultNodeImpl.java Mon Mar  6 23:05:35 2006
@@ -20,6 +20,7 @@
 import org.apache.ws.commons.om.impl.llom.OMSerializerUtil;
 import org.apache.ws.commons.om.impl.llom.serialize.StreamWriterToContentHandlerConverter;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPFaultNode;
 import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -28,12 +29,15 @@
 
 public abstract class SOAPFaultNodeImpl extends SOAPElement implements SOAPFaultNode {
 
-    public SOAPFaultNodeImpl(SOAPFault parent) throws SOAPProcessingException {
-        super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, true);
+    public SOAPFaultNodeImpl(SOAPFault parent, SOAPFactory factory)
+            throws SOAPProcessingException {
+        super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, true, factory);
     }
 
-    public SOAPFaultNodeImpl(SOAPFault parent, OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, builder);
+    public SOAPFaultNodeImpl(SOAPFault parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_NODE_LOCAL_NAME, builder,
+                factory);
     }
 
     public void setNodeValue(String uri) {
@@ -44,7 +48,9 @@
         return this.getText();
     }
 
-    protected void serialize(org.apache.ws.commons.om.impl.OMOutputImpl omOutput, boolean cache) throws XMLStreamException {
+    protected void serialize(
+            org.apache.ws.commons.om.impl.OMOutputImpl omOutput, boolean cache)
+            throws XMLStreamException {
             // select the builder
             short builderType = PULL_TYPE_BUILDER;    // default is pull type
             if (builder != null) {
@@ -52,7 +58,8 @@
             }
             if ((builderType == PUSH_TYPE_BUILDER)
                     && (builder.getRegisteredContentHandler() == null)) {
-                builder.registerExternalContentHandler(new StreamWriterToContentHandlerConverter(omOutput));
+                builder.registerExternalContentHandler(new StreamWriterToContentHandlerConverter(
+                            omOutput));
             }
 
 

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultReasonImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultReasonImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultReasonImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultReasonImpl.java Mon Mar  6 23:05:35 2006
@@ -22,6 +22,7 @@
 import org.apache.ws.commons.om.impl.llom.serialize.StreamWriterToContentHandlerConverter;
 import org.apache.ws.commons.om.util.ElementHelper;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
 import org.apache.ws.commons.soap.SOAPFaultReason;
 import org.apache.ws.commons.soap.SOAPFaultText;
@@ -29,7 +30,8 @@
 
 import javax.xml.stream.XMLStreamException;
 
-public abstract class SOAPFaultReasonImpl extends SOAPElement implements SOAPFaultReason {
+public abstract class SOAPFaultReasonImpl extends SOAPElement implements
+        SOAPFaultReason {
     protected SOAPFaultText text;
 
     /**
@@ -38,18 +40,20 @@
      * @param parent
      * @param builder
      */
-    public SOAPFaultReasonImpl(SOAPFault parent, OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME, builder);
+    public SOAPFaultReasonImpl(SOAPFault parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME, builder,
+                factory);
     }
 
     /**
      * @param parent
      */
     public SOAPFaultReasonImpl(OMElement parent,
-                               boolean extractNamespaceFromParent) throws SOAPProcessingException {
-        super(parent,
-                SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME,
-                extractNamespaceFromParent);
+            boolean extractNamespaceFromParent, SOAPFactory factory)
+            throws SOAPProcessingException {
+        super(parent,SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME,
+                extractNamespaceFromParent,factory);
     }
 
     /**

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultRoleImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultRoleImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultRoleImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultRoleImpl.java Mon Mar  6 23:05:35 2006
@@ -21,24 +21,28 @@
 import org.apache.ws.commons.om.impl.llom.OMSerializerUtil;
 import org.apache.ws.commons.om.impl.llom.serialize.StreamWriterToContentHandlerConverter;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFault;
+import org.apache.ws.commons.soap.SOAPFaultRole;
 import org.apache.ws.commons.soap.SOAPProcessingException;
 
 import javax.xml.stream.XMLStreamException;
 
 
-public abstract class SOAPFaultRoleImpl extends SOAPElement implements org.apache.ws.commons.soap.SOAPFaultRole {
+public abstract class SOAPFaultRoleImpl extends SOAPElement implements
+        SOAPFaultRole {
 
     public SOAPFaultRoleImpl(SOAPFault parent,
                              String localName,
-                             boolean extractNamespaceFromParent) throws SOAPProcessingException {
-        super(parent,
-              localName,
-              extractNamespaceFromParent);
+                             boolean extractNamespaceFromParent,
+                             SOAPFactory factory) throws SOAPProcessingException {
+        super(parent, localName, extractNamespaceFromParent, factory);
     }
 
-    public SOAPFaultRoleImpl(SOAPFault parent, OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_ROLE_LOCAL_NAME, builder);
+    public SOAPFaultRoleImpl(SOAPFault parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_ROLE_LOCAL_NAME, builder,
+                factory);
     }
 
     public void setRoleValue(String uri) {
@@ -52,7 +56,8 @@
         return this.getText();
     }
 
-    protected void serialize(OMOutputImpl omOutput, boolean cache) throws XMLStreamException {
+    protected void serialize(OMOutputImpl omOutput, boolean cache)
+            throws XMLStreamException {
         // select the builder
         short builderType = PULL_TYPE_BUILDER;    // default is pull type
         if (builder != null) {
@@ -60,7 +65,8 @@
         }
         if ((builderType == PUSH_TYPE_BUILDER)
             && (builder.getRegisteredContentHandler() == null)) {
-            builder.registerExternalContentHandler(new StreamWriterToContentHandlerConverter(omOutput));
+            builder.registerExternalContentHandler(
+                    new StreamWriterToContentHandlerConverter(omOutput));
         }
 
         if (!cache) {

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultSubCodeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultSubCodeImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultSubCodeImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultSubCodeImpl.java Mon Mar  6 23:05:35 2006
@@ -20,6 +20,7 @@
 import org.apache.ws.commons.om.OMXMLParserWrapper;
 import org.apache.ws.commons.om.util.ElementHelper;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFaultSubCode;
 import org.apache.ws.commons.soap.SOAPFaultValue;
 import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -30,14 +31,15 @@
     protected SOAPFaultSubCode subCode;
 
 
-    protected SOAPFaultSubCodeImpl(OMElement parent, String localName) throws SOAPProcessingException {
-        super(parent, localName, true);
+    protected SOAPFaultSubCodeImpl(OMElement parent, String localName, SOAPFactory factory) throws SOAPProcessingException {
+        super(parent, localName, true, factory);
     }
 
     protected SOAPFaultSubCodeImpl(OMElement parent,
                                    String localName,
-                                   OMXMLParserWrapper builder) {
-        super(parent, localName, builder);
+                                   OMXMLParserWrapper builder, 
+                                   SOAPFactory factory) {
+        super(parent, localName, builder, factory);
     }
 
     public void setValue(SOAPFaultValue soapFaultSubCodeValue) throws SOAPProcessingException {

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultTextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultTextImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultTextImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultTextImpl.java Mon Mar  6 23:05:35 2006
@@ -16,48 +16,50 @@
 
 package org.apache.axis2.soap.impl.dom;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axis2.om.impl.dom.AttrImpl;
-import org.apache.axis2.om.impl.dom.factory.OMDOMFactory;
 import org.apache.ws.commons.om.OMAttribute;
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFaultReason;
 import org.apache.ws.commons.soap.SOAPFaultText;
 import org.apache.ws.commons.soap.SOAPProcessingException;
 
-import javax.xml.namespace.QName;
-
 public abstract class SOAPFaultTextImpl extends SOAPElement implements SOAPFaultText {
+    
     protected OMAttribute langAttr;
-    protected OMNamespace langNamespace = new OMDOMFactory()
-            .createOMNamespace(
-                    SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_URI,
-                    SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
+    
+    protected OMNamespace langNamespace = null;
 
-    protected SOAPFaultTextImpl(SOAPFaultReason parent) throws SOAPProcessingException {
-        super(parent, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, true);
+    protected SOAPFaultTextImpl(SOAPFaultReason parent, SOAPFactory factory)
+            throws SOAPProcessingException {
+        super(parent, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, true, factory);
+        this.langNamespace = factory.createOMNamespace(
+                SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_URI,
+                SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX);
     }
 
     protected SOAPFaultTextImpl(SOAPFaultReason parent,
-                                OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, builder);
+                                OMXMLParserWrapper builder, SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_TEXT_LOCAL_NAME, builder,
+                factory);
     }
 
 
     public void setLang(String lang) {
-        //langAttr = new OMAttributeImpl(SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME, parent.getNamespace(), lang);
         langAttr =
                 new AttrImpl(this.ownerNode, 
                         SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME,
                         langNamespace,
-                        lang);
+                        lang, this.factory);
         this.addAttribute(langAttr);
     }
 
     public String getLang() {
         if (langAttr == null) {
-            //langAttr = this.getFirstAttribute(new QName(SOAP12Constants.SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME, parent.getNamespace().getName()));
             langAttr =
                     this.getAttribute(
                             new QName(langNamespace.getName(),

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultValueImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultValueImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultValueImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPFaultValueImpl.java Mon Mar  6 23:05:35 2006
@@ -19,16 +19,21 @@
 import org.apache.ws.commons.om.OMElement;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
 import org.apache.ws.commons.soap.SOAP12Constants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPFaultValue;
 import org.apache.ws.commons.soap.SOAPProcessingException;
 
 public abstract class SOAPFaultValueImpl extends SOAPElement implements SOAPFaultValue {
 
-    protected SOAPFaultValueImpl(OMElement parent) throws SOAPProcessingException {
-        super(parent, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, true);
+    protected SOAPFaultValueImpl(OMElement parent, SOAPFactory factory)
+            throws SOAPProcessingException {
+        super(parent, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, true,
+                factory);
     }
 
-    protected SOAPFaultValueImpl(OMElement parent, OMXMLParserWrapper builder) {
-        super(parent, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, builder);
+    protected SOAPFaultValueImpl(OMElement parent, OMXMLParserWrapper builder,
+            SOAPFactory factory) {
+        super(parent, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME, builder,
+                factory);
     }
 }

Modified: webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderBlockImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderBlockImpl.java?rev=383807&r1=383806&r2=383807&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderBlockImpl.java (original)
+++ webservices/axis2/trunk/java/modules/doom/src/org/apache/axis2/soap/impl/dom/SOAPHeaderBlockImpl.java Mon Mar  6 23:05:35 2006
@@ -25,6 +25,7 @@
 import org.apache.ws.commons.om.OMNamespace;
 import org.apache.ws.commons.om.OMXMLParserWrapper;
 import org.apache.ws.commons.soap.SOAPConstants;
+import org.apache.ws.commons.soap.SOAPFactory;
 import org.apache.ws.commons.soap.SOAPHeader;
 import org.apache.ws.commons.soap.SOAPHeaderBlock;
 import org.apache.ws.commons.soap.SOAPProcessingException;
@@ -40,10 +41,10 @@
      * @param ns
      * @param parent     
      */
-    public SOAPHeaderBlockImpl(String localName,
-                               OMNamespace ns,
-                               SOAPHeader parent) throws SOAPProcessingException {
-        super((ParentNode)parent, localName,(NamespaceImpl) ns);
+    public SOAPHeaderBlockImpl(String localName, OMNamespace ns,
+            SOAPHeader parent, SOAPFactory factory)
+            throws SOAPProcessingException {
+        super((ParentNode)parent, localName,(NamespaceImpl) ns, factory);
         this.setNamespace(ns);
     }
 
@@ -56,8 +57,8 @@
      * @param builder
      */
     public SOAPHeaderBlockImpl(String localName, OMNamespace ns,
-                               OMElement parent, OMXMLParserWrapper builder) {
-        super((ParentNode)parent, localName, (NamespaceImpl)ns, builder);
+            OMElement parent, OMXMLParserWrapper builder, SOAPFactory factory) {
+        super((ParentNode)parent, localName, (NamespaceImpl)ns, builder, factory);
         this.setNamespace(ns);
     }
 
@@ -75,9 +76,9 @@
             omAttribute.setAttributeValue(attrValue);
         } else {
             OMAttribute attribute = new AttrImpl(this.ownerNode, attributeName,
-					new NamespaceImpl(soapEnvelopeNamespaceURI,
-							SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX),
-					attrValue);
+                    new NamespaceImpl(soapEnvelopeNamespaceURI,
+                            SOAPConstants.SOAP_DEFAULT_NAMESPACE_PREFIX,
+                            this.factory), attrValue, this.factory);
             this.addAttribute(attribute);
         }
     }