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 2016/03/25 19:02:53 UTC
svn commit: r1736631 - in /webservices/axiom/trunk:
aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/
axiom-api/src/main/java/org/apache/axiom/soap/
implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/
implementation...
Author: veithen
Date: Fri Mar 25 18:02:53 2016
New Revision: 1736631
URL: http://svn.apache.org/viewvc?rev=1736631&view=rev
Log:
AXIOM-362: Support on the fly conversion to SOAPHeaderBlock in remaining SOAPHeader methods.
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPHeaderSupport.aj
webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeader.java
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPHeaderSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPHeaderSupport.aj?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPHeaderSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPHeaderSupport.aj Fri Mar 25 18:02:53 2016
@@ -18,7 +18,9 @@
*/
package org.apache.axiom.soap.impl.mixin;
+import java.util.ArrayList;
import java.util.Iterator;
+import java.util.List;
import org.apache.axiom.core.Axis;
import org.apache.axiom.core.ElementMatcher;
@@ -61,4 +63,35 @@ public aspect AxiomSOAPHeaderSupport {
return coreGetElements(Axis.CHILDREN, AxiomElement.class, new RolePlayerChecker(getSOAPHelper(), rolePlayer, namespace), null, null,
SOAPHeaderBlockMapper.INSTANCE, AxiomSemantics.INSTANCE);
}
+
+ public final Iterator<SOAPHeaderBlock> AxiomSOAPHeader.getHeaderBlocksWithNamespaceURI(String uri) {
+ return coreGetElements(Axis.CHILDREN, AxiomElement.class, ElementMatcher.BY_NAMESPACE_URI, uri, null,
+ SOAPHeaderBlockMapper.INSTANCE, AxiomSemantics.INSTANCE);
+ }
+
+ public final ArrayList<SOAPHeaderBlock> AxiomSOAPHeader.getHeaderBlocksWithNSURI(String nsURI) {
+ ArrayList<SOAPHeaderBlock> result = new ArrayList<SOAPHeaderBlock>();
+ for (Iterator<SOAPHeaderBlock> it = getHeaderBlocksWithNamespaceURI(nsURI); it.hasNext(); ) {
+ result.add(it.next());
+ }
+ return result;
+ }
+
+ private Iterator<SOAPHeaderBlock> AxiomSOAPHeader.extract(Iterator<SOAPHeaderBlock> it) {
+ List<SOAPHeaderBlock> result = new ArrayList<SOAPHeaderBlock>();
+ while (it.hasNext()) {
+ SOAPHeaderBlock headerBlock = it.next();
+ it.remove();
+ result.add(headerBlock);
+ }
+ return result.iterator();
+ }
+
+ public final Iterator<SOAPHeaderBlock> AxiomSOAPHeader.extractHeaderBlocks(String role) {
+ return extract(examineHeaderBlocks(role));
+ }
+
+ public final Iterator<SOAPHeaderBlock> AxiomSOAPHeader.extractAllHeaderBlocks() {
+ return extract(examineAllHeaderBlocks());
+ }
}
Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeader.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeader.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeader.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPHeader.java Fri Mar 25 18:02:53 2016
@@ -104,7 +104,7 @@ public interface SOAPHeader extends OMEl
* role
* @see #examineHeaderBlocks(String)
*/
- Iterator extractHeaderBlocks(String role);
+ Iterator<SOAPHeaderBlock> extractHeaderBlocks(String role);
/**
* Returns an iterator over all the {@link SOAPHeaderBlock} objects in this {@link SOAPHeader}
@@ -134,15 +134,18 @@ public interface SOAPHeader extends OMEl
* @return an iterator over all the {@link SOAPHeaderBlock} objects contained by this
* {@link SOAPHeader}
*/
- Iterator extractAllHeaderBlocks();
+ Iterator<SOAPHeaderBlock> extractAllHeaderBlocks();
/**
* Return all the Headers that has the Namespace URI to given NS URI.
*
* @param nsURI
* @return Returns ArrayList.
+ * @deprecated Use {@link #getHeaderBlocksWithNamespaceURI(String)} instead.
*/
- ArrayList getHeaderBlocksWithNSURI(String nsURI);
+ ArrayList<SOAPHeaderBlock> getHeaderBlocksWithNSURI(String nsURI);
+
+ Iterator<SOAPHeaderBlock> getHeaderBlocksWithNamespaceURI(String uri);
/**
* Get the appropriate set of headers for a RolePlayer and a particular namespace.
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPHeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,16 +19,10 @@
package org.apache.axiom.soap.impl.dom;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
import javax.xml.namespace.QName;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -60,50 +54,4 @@ public abstract class SOAPHeaderImpl ext
public SOAPHeaderBlock addHeaderBlock(QName qname) throws OMException {
return addHeaderBlock(qname.getLocalPart(), getOMFactory().createOMNamespace(qname.getNamespaceURI(), qname.getPrefix()));
}
-
- public abstract Iterator extractHeaderBlocks(String role);
-
- public Iterator extractAllHeaderBlocks() {
- List result = new ArrayList();
- for (Iterator iter = getChildElements(); iter.hasNext();) {
- OMElement headerBlock = (OMElement) iter.next();
- iter.remove();
- result.add(headerBlock);
- }
- return result.iterator();
- }
-
- public ArrayList getHeaderBlocksWithNSURI(String nsURI) {
- ArrayList headers = null;
- OMNode node;
- OMElement header = this.getFirstElement();
-
- if (header != null) {
- headers = new ArrayList();
- }
-
- node = header;
-
- while (node != null) {
- if (node.getType() == OMNode.ELEMENT_NODE) {
- header = (OMElement) node;
- OMNamespace namespace = header.getNamespace();
- if (nsURI == null) {
- if (namespace == null) {
- headers.add(header);
- }
- } else {
- if (namespace != null) {
- if (nsURI.equals(namespace.getNamespaceURI())) {
- headers.add(header);
- }
- }
- }
- }
- node = node.getNextOMSibling();
-
- }
- return headers;
-
- }
}
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11HeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,23 +19,9 @@
package org.apache.axiom.soap.impl.dom.soap11;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
-import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.impl.dom.SOAPHeaderImpl;
import org.apache.axiom.soap.impl.intf.AxiomSOAP11Header;
public class SOAP11HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP11Header {
- public Iterator extractHeaderBlocks(String role) {
- return new OMChildrenWithSpecificAttributeIterator(getFirstOMChild(),
- new QName(
- SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
- SOAP11Constants.ATTR_ACTOR),
- role,
- true);
- }
}
Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12HeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,22 +19,9 @@
package org.apache.axiom.soap.impl.dom.soap12;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
-import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.impl.dom.SOAPHeaderImpl;
import org.apache.axiom.soap.impl.intf.AxiomSOAP12Header;
public class SOAP12HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP12Header {
- public Iterator extractHeaderBlocks(String role) {
- return new OMChildrenWithSpecificAttributeIterator(getFirstOMChild(),
- new QName(
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI,
- SOAP12Constants.SOAP_ROLE),
- role,
- true);
- }
+
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,16 +19,10 @@
package org.apache.axiom.soap.impl.llom;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
import javax.xml.namespace.QName;
-import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeaderBlock;
import org.apache.axiom.soap.SOAPProcessingException;
@@ -66,52 +60,6 @@ public abstract class SOAPHeaderImpl ext
return addHeaderBlock(qname.getLocalPart(), getOMFactory().createOMNamespace(qname.getNamespaceURI(), qname.getPrefix()));
}
- public abstract Iterator extractHeaderBlocks(String role);
-
- public Iterator extractAllHeaderBlocks() {
- List result = new ArrayList();
- for (Iterator iter = getChildElements(); iter.hasNext();) {
- OMElement headerBlock = (OMElement) iter.next();
- iter.remove();
- result.add(headerBlock);
- }
- return result.iterator();
- }
-
- public ArrayList getHeaderBlocksWithNSURI(String nsURI) {
- ArrayList headers = null;
- OMNode node;
- OMElement header = this.getFirstElement();
-
- if (header != null) {
- headers = new ArrayList();
- }
-
- node = header;
-
- while (node != null) {
- if (node.getType() == OMNode.ELEMENT_NODE) {
- header = (OMElement) node;
- OMNamespace namespace = header.getNamespace();
- if (nsURI == null) {
- if (namespace == null) {
- headers.add(header);
- }
- } else {
- if (namespace != null) {
- if (nsURI.equals(namespace.getNamespaceURI())) {
- headers.add(header);
- }
- }
- }
- }
- node = node.getNextOMSibling();
-
- }
- return headers;
-
- }
-
public static String exceptionToString(Throwable e) {
java.io.StringWriter sw = new java.io.StringWriter();
java.io.BufferedWriter bw = new java.io.BufferedWriter(sw);
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11HeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,24 +19,9 @@
package org.apache.axiom.soap.impl.llom.soap11;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
-import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.impl.intf.AxiomSOAP11Header;
import org.apache.axiom.soap.impl.llom.SOAPHeaderImpl;
public class SOAP11HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP11Header {
- public Iterator extractHeaderBlocks(String role) {
- return new OMChildrenWithSpecificAttributeIterator(getFirstOMChild(),
- new QName(
- SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI,
- SOAP11Constants.ATTR_ACTOR),
- role,
- true);
-
- }
}
Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java?rev=1736631&r1=1736630&r2=1736631&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12HeaderImpl.java Fri Mar 25 18:02:53 2016
@@ -19,23 +19,9 @@
package org.apache.axiom.soap.impl.llom.soap12;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.impl.traverse.OMChildrenWithSpecificAttributeIterator;
-import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.impl.intf.AxiomSOAP12Header;
import org.apache.axiom.soap.impl.llom.SOAPHeaderImpl;
public class SOAP12HeaderImpl extends SOAPHeaderImpl implements AxiomSOAP12Header {
- public Iterator extractHeaderBlocks(String role) {
- return new OMChildrenWithSpecificAttributeIterator(getFirstOMChild(),
- new QName(
- SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI,
- SOAP12Constants.SOAP_ROLE),
- role,
- true);
- }
}