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/01/30 13:09:14 UTC

svn commit: r1727695 - in /webservices/axiom/trunk: axiom-api/src/main/java/org/apache/axiom/soap/ implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/ implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/ src/sit...

Author: veithen
Date: Sat Jan 30 12:09:14 2016
New Revision: 1727695

URL: http://svn.apache.org/viewvc?rev=1727695&view=rev
Log:
Remove the support for the SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME property introduced by AXIOM-282.

Removed:
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/TestHasFaultWithParserOptimized.java
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/envelope/XMLStreamReaderWithQName.java
Modified:
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPConstants.java
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
    webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPConstants.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPConstants.java?rev=1727695&r1=1727694&r2=1727695&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPConstants.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/soap/SOAPConstants.java Sat Jan 30 12:09:14 2016
@@ -57,9 +57,4 @@ public interface SOAPConstants {
     // Followings are different in SOAP 1.1 and 1.2 specifications
     static final String FAULT_CODE_SENDER = "";
     static final String FAULT_CODE_RECEIVER = "";
-
-    // Special Property available on some parsers to get the 
-    // Qname of the first child element in the soap body.
-    static final String SOAPBODY_FIRST_CHILD_ELEMENT_QNAME =
-            "org.apache.axiom.SOAPBodyFirstChildElementQName";
 }

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java?rev=1727695&r1=1727694&r2=1727695&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java Sat Jan 30 12:09:14 2016
@@ -19,27 +19,21 @@
 
 package org.apache.axiom.soap.impl.dom;
 
-import javax.xml.namespace.QName;
-
 import org.apache.axiom.om.OMConstants;
 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.om.OMOutputFormat;
-import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.common.serializer.push.OutputException;
 import org.apache.axiom.om.impl.common.serializer.push.Serializer;
-import org.apache.axiom.soap.SOAP11Constants;
 import org.apache.axiom.soap.SOAP11Version;
-import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
-import org.apache.axiom.soap.impl.common.builder.StAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Node;
@@ -174,59 +168,17 @@ public abstract class SOAPEnvelopeImpl e
     }
 
     public boolean hasFault() {      
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            if (SOAPConstants.SOAPFAULT_LOCAL_NAME.equals(payloadQName.getLocalPart())) {
-                String ns = payloadQName.getNamespaceURI();
-                return SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns) ||
-                       SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns);                                                         
-            } 
-        }
-        
-        // Fallback: Get the body and get the fault information from the body
         SOAPBody body = this.getBody();
         return (body == null) ? false : body.hasFault();
     }
 
     public String getSOAPBodyFirstElementLocalName() {
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            return payloadQName.getLocalPart();
-        }
         SOAPBody body = this.getBody();
         return (body == null) ? null : body.getFirstElementLocalName();
     }
 
     public OMNamespace getSOAPBodyFirstElementNS() {
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            return getOMFactory().createOMNamespace(payloadQName.getNamespaceURI(), 
-                                                  payloadQName.getPrefix());
-        }
         SOAPBody body = this.getBody();
         return (body == null) ? null : body.getFirstElementNS();
     }
-    
-    /**
-     * Use a parser property to fetch the first element in the body.
-     * Returns null if this optimized property is not set or not available.
-     * @return The qname of the first element in the body or null
-     */
-    private QName getPayloadQName_Optimized() {
-        // The parser may expose a SOAPBODY_FIRST_CHILD_ELEMENT_QNAME property
-        // Use that QName to determine if there is a fault
-        OMXMLParserWrapper builder = this.getBuilder();
-        if (builder instanceof StAXSOAPModelBuilder) {
-            try {
-                QName payloadQName = (QName) ((StAXSOAPModelBuilder) builder).
-                    getReaderProperty(SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME);
-                return payloadQName;
-            } catch (Throwable e) {
-                // The parser may not support this property. 
-                // In such cases, processing continues below in the fallback approach
-            }
-            
-        }
-        return null;
-    }
 }

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?rev=1727695&r1=1727694&r2=1727695&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java Sat Jan 30 12:09:14 2016
@@ -19,8 +19,6 @@
 
 package org.apache.axiom.soap.impl.llom;
 
-import javax.xml.namespace.QName;
-
 import org.apache.axiom.om.OMConstants;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMException;
@@ -31,15 +29,12 @@ import org.apache.axiom.om.OMXMLParserWr
 import org.apache.axiom.om.impl.builder.Builder;
 import org.apache.axiom.om.impl.common.serializer.push.OutputException;
 import org.apache.axiom.om.impl.common.serializer.push.Serializer;
-import org.apache.axiom.soap.SOAP11Constants;
-import org.apache.axiom.soap.SOAP12Constants;
 import org.apache.axiom.soap.SOAPBody;
 import org.apache.axiom.soap.SOAPConstants;
 import org.apache.axiom.soap.SOAPFactory;
 import org.apache.axiom.soap.SOAPHeader;
 import org.apache.axiom.soap.SOAPProcessingException;
 import org.apache.axiom.soap.SOAPVersion;
-import org.apache.axiom.soap.impl.common.builder.StAXSOAPModelBuilder;
 import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -190,59 +185,17 @@ public abstract class SOAPEnvelopeImpl e
     }
 
     public boolean hasFault() {      
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            if (SOAPConstants.SOAPFAULT_LOCAL_NAME.equals(payloadQName.getLocalPart())) {
-                String ns = payloadQName.getNamespaceURI();
-                return SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns) ||
-                       SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(ns);                                                         
-            } 
-        }
-        
-        // Fallback: Get the body and get the fault information from the body
         SOAPBody body = this.getBody();
         return (body == null) ? false : body.hasFault();
     }
 
     public String getSOAPBodyFirstElementLocalName() {
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            return payloadQName.getLocalPart();
-        }
         SOAPBody body = this.getBody();
         return (body == null) ? null : body.getFirstElementLocalName();
     }
 
     public OMNamespace getSOAPBodyFirstElementNS() {
-        QName payloadQName = this.getPayloadQName_Optimized();
-        if (payloadQName != null) {
-            return getOMFactory().createOMNamespace(payloadQName.getNamespaceURI(), 
-                                                  payloadQName.getPrefix());
-        }
         SOAPBody body = this.getBody();
         return (body == null) ? null : body.getFirstElementNS();
     }
-    
-    /**
-     * Use a parser property to fetch the first element in the body.
-     * Returns null if this optimized property is not set or not available.
-     * @return The qname of the first element in the body or null
-     */
-    private QName getPayloadQName_Optimized() {
-        // The parser may expose a SOAPBODY_FIRST_CHILD_ELEMENT_QNAME property
-        // Use that QName to determine if there is a fault
-        OMXMLParserWrapper builder = this.getBuilder();
-        if (builder instanceof StAXSOAPModelBuilder) {
-            try {
-                QName payloadQName = (QName) ((StAXSOAPModelBuilder) builder).
-                    getReaderProperty(SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME);
-                return payloadQName;
-            } catch (Throwable e) {
-                // The parser may not support this property. 
-                // In such cases, processing continues below in the fallback approach
-            }
-            
-        }
-        return null;
-    }
 }

Modified: webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md?rev=1727695&r1=1727694&r2=1727695&view=diff
==============================================================================
--- webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md (original)
+++ webservices/axiom/trunk/src/site/markdown/release-notes/1.3.0.md Sat Jan 30 12:09:14 2016
@@ -41,3 +41,8 @@ Changes in this release
 [AXIOM-268]: https://issues.apache.org/jira/browse/AXIOM-268
 
 *   Some (most? all?) of the classes in `axiom-compat` have been removed.
+
+*   Support for the `SOAPConstants.SOAPBODY_FIRST_CHILD_ELEMENT_QNAME` property
+    introduced by [AXIOM-282][] has been retired.
+
+[AXIOM-282]: https://issues.apache.org/jira/browse/AXIOM-282

Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java?rev=1727695&r1=1727694&r2=1727695&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java Sat Jan 30 12:09:14 2016
@@ -161,7 +161,6 @@ public class SOAPTestSuiteBuilder extend
         addTest(new org.apache.axiom.ts.soap.envelope.TestGetXMLStreamReaderWithoutCachingWithPartiallyBuiltHeaderBlock(metaFactory, spec));
         addTest(new org.apache.axiom.ts.soap.envelope.TestHasFault(metaFactory, spec));
         addTest(new org.apache.axiom.ts.soap.envelope.TestHasFaultWithParser(metaFactory, spec));
-        addTest(new org.apache.axiom.ts.soap.envelope.TestHasFaultWithParserOptimized(metaFactory, spec));
         if (supportsOMSourcedElement) {
             addTest(new org.apache.axiom.ts.soap.envelope.TestSerializeAndConsumeWithOMSEInBody(metaFactory, spec));
         }