You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2015/08/20 21:52:58 UTC

svn commit: r1696850 - in /webservices/axiom/trunk: aspects/core-aspects/src/main/java/org/apache/axiom/core/ aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/ aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/ ...

Author: veithen
Date: Thu Aug 20 19:52:57 2015
New Revision: 1696850

URL: http://svn.apache.org/r1696850
Log:
Start simplifying the constructors in the OMElement hierarchy.

Added:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java   (with props)
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj   (with props)
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java   (with props)
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj   (with props)
Modified:
    webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactory.java
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactorySupport.aj
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderBlockImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java

Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java Thu Aug 20 19:52:57 2015
@@ -24,6 +24,7 @@ public interface NodeFactory {
     CoreCharacterDataNode createCharacterDataNode();
     CoreCDATASection createCDATASection();
     CoreNSAwareElement createNSAwareElement();
+    <T extends CoreNSAwareElement> T createNSAwareElement(Class<T> type);
     CoreNSUnawareAttribute createAttribute(CoreDocument document, String name, String value, String type);
     CoreNSAwareAttribute createAttribute(CoreDocument document, String namespaceURI, String localName, String prefix, String value, String type);
     CoreNamespaceDeclaration createNamespaceDeclaration(CoreDocument document, String prefix, String namespaceURI);

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj Thu Aug 20 19:52:57 2015
@@ -25,6 +25,7 @@ import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDocType;
 import org.apache.axiom.om.OMDocument;
 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.OMProcessingInstruction;
@@ -206,4 +207,16 @@ public aspect AxiomNodeFactorySupport {
         element.initName(localName, null, false);
         return element;
     }
+
+    public final <T extends AxiomElement> T AxiomNodeFactory.createAxiomElement(Class<T> type,
+            OMContainer parent, String localName, OMNamespace ns, OMXMLParserWrapper builder,
+            OMFactory factory, boolean generateNSDecl) {
+        T element = createNSAwareElement(type);
+        element.coreSetBuilder(builder);
+        if (parent != null) {
+            ((AxiomContainer)parent).addChild(element, builder != null);
+        }
+        element.initName(localName, ns, generateNSDecl);
+        return element;
+    }
 }

Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java?rev=1696850&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java Thu Aug 20 19:52:57 2015
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.common;
+
+public interface AxiomSOAP11Factory extends AxiomSOAPFactory {
+
+}

Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11Factory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj?rev=1696850&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj Thu Aug 20 19:52:57 2015
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.common;
+
+public aspect AxiomSOAP11FactorySupport {
+    public final Class<? extends AxiomSOAPHeaderBlock> AxiomSOAP11Factory.getSOAPHeaderBlockClass() {
+        return AxiomSOAP11HeaderBlock.class;
+    }
+}

Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP11FactorySupport.aj
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java?rev=1696850&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java Thu Aug 20 19:52:57 2015
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.common;
+
+import org.apache.axiom.soap.impl.builder.SOAP12FactoryEx;
+
+public interface AxiomSOAP12Factory extends AxiomSOAPFactory, SOAP12FactoryEx {
+
+}

Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12Factory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj?rev=1696850&view=auto
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj (added)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj Thu Aug 20 19:52:57 2015
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.soap.impl.common;
+
+public aspect AxiomSOAP12FactorySupport {
+    public final Class<? extends AxiomSOAPHeaderBlock> AxiomSOAP12Factory.getSOAPHeaderBlockClass() {
+        return AxiomSOAP12HeaderBlock.class;
+    }
+}

Propchange: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAP12FactorySupport.aj
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactory.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactory.java Thu Aug 20 19:52:57 2015
@@ -22,5 +22,6 @@ import org.apache.axiom.om.impl.common.f
 import org.apache.axiom.soap.impl.builder.SOAPFactoryEx;
 
 public interface AxiomSOAPFactory extends AxiomNodeFactory, SOAPFactoryEx {
+    Class<? extends AxiomSOAPHeaderBlock> getSOAPHeaderBlockClass();
     AxiomSOAPMessage createSOAPMessage();
 }

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactorySupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactorySupport.aj?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactorySupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/common/AxiomSOAPFactorySupport.aj Thu Aug 20 19:52:57 2015
@@ -18,7 +18,10 @@
  */
 package org.apache.axiom.soap.impl.common;
 
+import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMXMLParserWrapper;
+import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPMessage;
 
 public aspect AxiomSOAPFactorySupport {
@@ -30,4 +33,16 @@ public aspect AxiomSOAPFactorySupport {
         }
         return message;
     }
+    
+    public final SOAPHeaderBlock AxiomSOAPFactory.createSOAPHeaderBlock(String localName, OMNamespace ns, SOAPHeader parent) {
+        return createAxiomElement(getSOAPHeaderBlockClass(), parent, localName, ns, null, this, true);
+    }
+
+    public final SOAPHeaderBlock AxiomSOAPFactory.createSOAPHeaderBlock(String localName, OMNamespace ns) {
+        return createAxiomElement(getSOAPHeaderBlockClass(), null, localName, ns, null, this, true);
+    }
+
+    public final SOAPHeaderBlock AxiomSOAPFactory.createSOAPHeaderBlock(String localName, SOAPHeader parent, OMXMLParserWrapper builder) {
+        return createAxiomElement(getSOAPHeaderBlockClass(), parent, localName, null, builder, this, false);
+    }
 }

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java Thu Aug 20 19:52:57 2015
@@ -62,6 +62,10 @@ import org.apache.axiom.om.impl.dom.NSUn
 import org.apache.axiom.om.impl.dom.ProcessingInstructionImpl;
 import org.apache.axiom.om.impl.dom.TextImpl;
 import org.apache.axiom.om.impl.util.OMSerializerUtil;
+import org.apache.axiom.soap.impl.common.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.common.AxiomSOAP12HeaderBlock;
+import org.apache.axiom.soap.impl.dom.soap11.SOAP11HeaderBlockImpl;
+import org.apache.axiom.soap.impl.dom.soap12.SOAP12HeaderBlockImpl;
 
 import javax.xml.namespace.QName;
 
@@ -293,6 +297,18 @@ public class OMDOMFactory implements Axi
         return new ElementImpl(this);
     }
 
+    public final <T extends CoreNSAwareElement> T createNSAwareElement(Class<T> type) {
+        CoreNSAwareElement element;
+        if (type == AxiomSOAP11HeaderBlock.class) {
+            element = new SOAP11HeaderBlockImpl(this);
+        } else if (type == AxiomSOAP12HeaderBlock.class) {
+            element = new SOAP12HeaderBlockImpl(this);
+        } else {
+            throw new IllegalArgumentException();
+        }
+        return type.cast(element);
+    }
+
     public final CoreNSUnawareAttribute createAttribute(CoreDocument document, String name, String value, String type) {
         NSUnawareAttribute attr = new NSUnawareAttribute((DocumentImpl)document, this);
         attr.coreSetName(name);

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -33,6 +33,9 @@ import org.apache.axiom.soap.SOAPProcess
 import org.apache.axiom.soap.impl.common.AxiomSOAPHeaderBlock;
 
 public abstract class SOAPHeaderBlockImpl extends ElementImpl implements AxiomSOAPHeaderBlock {
+    public SOAPHeaderBlockImpl(OMFactory factory) {
+        super(factory);
+    }
 
     public SOAPHeaderBlockImpl(ParentNode parentNode, String localName, OMNamespace ns,
             OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11Factory.java Thu Aug 20 19:52:57 2015
@@ -38,15 +38,15 @@ import org.apache.axiom.soap.SOAPFaultSu
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
 import org.apache.axiom.soap.SOAP11Version;
+import org.apache.axiom.soap.impl.common.AxiomSOAP11Factory;
 import org.apache.axiom.soap.impl.dom.SOAPFactoryImpl;
 
 /**
  */
-public class SOAP11Factory extends SOAPFactoryImpl {
+public class SOAP11Factory extends SOAPFactoryImpl implements AxiomSOAP11Factory {
     public SOAP11Factory(OMDOMMetaFactory metaFactory) {
         super(metaFactory);
     }
@@ -77,24 +77,6 @@ public class SOAP11Factory extends SOAPF
     }
 
 
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName, OMNamespace ns)
-            throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl(null, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns, SOAPHeader parent)
-            throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl((ParentNode)parent, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 SOAPHeader parent,
-                                                 OMXMLParserWrapper builder)
-            throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl((ParentNode)parent, localName, null, builder, this, false);
-    }
-
     public SOAPFault createSOAPFault(SOAPBody parent, Exception e)
             throws SOAPProcessingException {
         return new SOAP11FaultImpl(parent, e, this);

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -31,6 +31,10 @@ import org.apache.axiom.soap.impl.common
 import org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl;
 
 public class SOAP11HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP11HeaderBlock {
+    public SOAP11HeaderBlockImpl(OMFactory factory) {
+        super(factory);
+    }
+
     public SOAP11HeaderBlockImpl(ParentNode parentNode, String localName, OMNamespace ns,
             OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
         super(parentNode, localName, ns, builder, factory, generateNSDecl);

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12Factory.java Thu Aug 20 19:52:57 2015
@@ -37,16 +37,15 @@ import org.apache.axiom.soap.SOAPFaultSu
 import org.apache.axiom.soap.SOAPFaultText;
 import org.apache.axiom.soap.SOAPFaultValue;
 import org.apache.axiom.soap.SOAPHeader;
-import org.apache.axiom.soap.SOAPHeaderBlock;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
 import org.apache.axiom.soap.SOAP12Version;
-import org.apache.axiom.soap.impl.builder.SOAP12FactoryEx;
+import org.apache.axiom.soap.impl.common.AxiomSOAP12Factory;
 import org.apache.axiom.soap.impl.dom.SOAPFactoryImpl;
 
 /**
  */
-public class SOAP12Factory extends SOAPFactoryImpl implements SOAP12FactoryEx {
+public class SOAP12Factory extends SOAPFactoryImpl implements AxiomSOAP12Factory {
     public SOAP12Factory(OMDOMMetaFactory metaFactory) {
         super(metaFactory);
     }
@@ -75,24 +74,6 @@ public class SOAP12Factory extends SOAPF
         return new SOAP12HeaderImpl((ParentNode)envelope, null, builder, this, false);
     }
 
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName, OMNamespace ns)
-            throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl(null, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns,
-                                                 SOAPHeader parent) throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl((ParentNode)parent, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 SOAPHeader parent,
-                                                 OMXMLParserWrapper builder)
-            throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl((ParentNode)parent, localName, null, builder, this, false);
-    }
-
     public SOAPFault createSOAPFault(SOAPBody parent, Exception e) throws SOAPProcessingException {
         return new SOAP12FaultImpl(parent, e, this);
     }

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -31,6 +31,10 @@ import org.apache.axiom.soap.impl.common
 import org.apache.axiom.soap.impl.dom.SOAPHeaderBlockImpl;
 
 public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP12HeaderBlock {
+    public SOAP12HeaderBlockImpl(OMFactory factory) {
+        super(factory);
+    }
+
     public SOAP12HeaderBlockImpl(ParentNode parentNode, String localName, OMNamespace ns,
             OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
         super(parentNode, localName, ns, builder, factory, generateNSDecl);

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java Thu Aug 20 19:52:57 2015
@@ -29,7 +29,6 @@ import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMSourcedElement;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.OMXMLStreamReaderConfiguration;
 import org.apache.axiom.om.QNameAwareOMDataSource;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
@@ -153,9 +152,8 @@ public class OMSourcedElementImpl extend
         definedNamespaceSet = true;
     }
 
-    public OMSourcedElementImpl(OMContainer parent, String localName, OMNamespace ns,
-            OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
-        super(parent, localName, ns, builder, factory, generateNSDecl);
+    public OMSourcedElementImpl(OMFactory factory) {
+        super(factory);
     }
 
     /**

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java Thu Aug 20 19:52:57 2015
@@ -59,6 +59,10 @@ import org.apache.axiom.om.impl.llom.OME
 import org.apache.axiom.om.impl.llom.OMProcessingInstructionImpl;
 import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
 import org.apache.axiom.om.impl.util.OMSerializerUtil;
+import org.apache.axiom.soap.impl.common.AxiomSOAP11HeaderBlock;
+import org.apache.axiom.soap.impl.common.AxiomSOAP12HeaderBlock;
+import org.apache.axiom.soap.impl.llom.soap11.SOAP11HeaderBlockImpl;
+import org.apache.axiom.soap.impl.llom.soap12.SOAP12HeaderBlockImpl;
 
 import javax.xml.namespace.QName;
 
@@ -288,6 +292,18 @@ public class OMLinkedListImplFactory imp
         return new OMElementImpl(this);
     }
 
+    public final <T extends CoreNSAwareElement> T createNSAwareElement(Class<T> type) {
+        CoreNSAwareElement element;
+        if (type == AxiomSOAP11HeaderBlock.class) {
+            element = new SOAP11HeaderBlockImpl(this);
+        } else if (type == AxiomSOAP12HeaderBlock.class) {
+            element = new SOAP12HeaderBlockImpl(this);
+        } else {
+            throw new IllegalArgumentException();
+        }
+        return type.cast(element);
+    }
+
     public CoreNSUnawareAttribute createAttribute(CoreDocument document, String name, String value,
             String type) {
         // TODO

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -27,7 +27,6 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMSourcedElement;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
 import org.apache.axiom.soap.SOAPCloneOptions;
 import org.apache.axiom.soap.SOAPFactory;
@@ -40,9 +39,8 @@ import org.apache.axiom.soap.impl.common
 public abstract class SOAPHeaderBlockImpl extends OMSourcedElementImpl
         implements AxiomSOAPHeaderBlock {
 
-    public SOAPHeaderBlockImpl(OMContainer parent, String localName, OMNamespace ns,
-            OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
-        super(parent, localName, ns, builder, factory, generateNSDecl);
+    public SOAPHeaderBlockImpl(OMFactory factory) {
+        super(factory);
     }
 
     public SOAPHeaderBlockImpl(SOAPFactory factory, OMDataSource source) {

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11Factory.java Thu Aug 20 19:52:57 2015
@@ -42,11 +42,12 @@ import org.apache.axiom.soap.SOAPHeaderB
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
 import org.apache.axiom.soap.SOAP11Version;
+import org.apache.axiom.soap.impl.common.AxiomSOAP11Factory;
 import org.apache.axiom.soap.impl.llom.SOAPFactoryImpl;
 
 /**
  */
-public class SOAP11Factory extends SOAPFactoryImpl {
+public class SOAP11Factory extends SOAPFactoryImpl implements AxiomSOAP11Factory {
     /**
      * For internal use only.
      * 
@@ -90,17 +91,6 @@ public class SOAP11Factory extends SOAPF
         return new SOAP11HeaderImpl(envelope, builder, this);
     }
 
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns, SOAPHeader parent)
-            throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl(parent, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns) throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl(null, localName, ns, null, this, true);
-    }
-
     public SOAPHeaderBlock createSOAPHeaderBlock(OMDataSource source) {
         return new SOAP11HeaderBlockImpl(this, source);
     }
@@ -111,12 +101,6 @@ public class SOAP11Factory extends SOAPF
         throws SOAPProcessingException {
         return new SOAP11HeaderBlockImpl(localName, ns, this, ds);
     }
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 SOAPHeader parent,
-                                                 OMXMLParserWrapper builder)
-            throws SOAPProcessingException {
-        return new SOAP11HeaderBlockImpl(parent, localName, null, builder, this, false);
-    }
 
     public SOAPFault createSOAPFault(SOAPBody parent, Exception e)
             throws SOAPProcessingException {

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -19,22 +19,18 @@
 
 package org.apache.axiom.soap.impl.llom.soap11;
 
-import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.impl.common.AxiomSOAP11HeaderBlock;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderBlockImpl;
 
 public class SOAP11HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP11HeaderBlock {
-
-    public SOAP11HeaderBlockImpl(OMContainer parent, String localName, OMNamespace ns,
-            OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
-        super(parent, localName, ns, builder, factory, generateNSDecl);
+    public SOAP11HeaderBlockImpl(OMFactory factory) {
+        super(factory);
     }
 
     public SOAP11HeaderBlockImpl(SOAPFactory factory, OMDataSource source) {

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12Factory.java Thu Aug 20 19:52:57 2015
@@ -42,12 +42,12 @@ import org.apache.axiom.soap.SOAPHeaderB
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
 import org.apache.axiom.soap.SOAP12Version;
-import org.apache.axiom.soap.impl.builder.SOAP12FactoryEx;
+import org.apache.axiom.soap.impl.common.AxiomSOAP12Factory;
 import org.apache.axiom.soap.impl.llom.SOAPFactoryImpl;
 
 /**
  */
-public class SOAP12Factory extends SOAPFactoryImpl implements SOAP12FactoryEx {
+public class SOAP12Factory extends SOAPFactoryImpl implements AxiomSOAP12Factory {
     /**
      * For internal use only.
      * 
@@ -90,18 +90,6 @@ public class SOAP12Factory extends SOAPF
         return new SOAP12HeaderImpl(envelope, builder, this);
     }
 
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns, SOAPHeader parent)
-            throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl(parent, localName, ns, null, this, true);
-    }
-
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 SOAPHeader parent, OMXMLParserWrapper builder)
-            throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl(parent, localName, null, builder, this, false);
-    }
-
     public SOAPFault createSOAPFault(SOAPBody parent, Exception e)
             throws SOAPProcessingException {
         return new SOAP12FaultImpl(parent, e, this);
@@ -168,11 +156,6 @@ public class SOAP12Factory extends SOAPF
     }
 
     public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
-                                                 OMNamespace ns) throws SOAPProcessingException {
-        return new SOAP12HeaderBlockImpl(null, localName, ns, null, this, true);
-    }
-    
-    public SOAPHeaderBlock createSOAPHeaderBlock(String localName,
                                                  OMNamespace ns,
                                                  OMDataSource ds) 
         throws SOAPProcessingException {

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java?rev=1696850&r1=1696849&r2=1696850&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderBlockImpl.java Thu Aug 20 19:52:57 2015
@@ -19,22 +19,18 @@
 
 package org.apache.axiom.soap.impl.llom.soap12;
 
-import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.impl.common.AxiomSOAP12HeaderBlock;
 import org.apache.axiom.soap.impl.llom.SOAPHeaderBlockImpl;
 
 public class SOAP12HeaderBlockImpl extends SOAPHeaderBlockImpl implements AxiomSOAP12HeaderBlock {
-
-    public SOAP12HeaderBlockImpl(OMContainer parent, String localName, OMNamespace ns,
-            OMXMLParserWrapper builder, OMFactory factory, boolean generateNSDecl) {
-        super(parent, localName, ns, builder, factory, generateNSDecl);
+    public SOAP12HeaderBlockImpl(OMFactory factory) {
+        super(factory);
     }
 
     public SOAP12HeaderBlockImpl(SOAPFactory factory, OMDataSource source) {