[java-opensaml COMMIT] /trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java

noreply at shibboleth.net noreply at shibboleth.net
Mon Jan 7 22:26:34 EST 2013


Author: scantor
Date: Mon Jan  7 22:26:34 2013
New Revision: 3138

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3138&view=rev
Log:
Switch to new message context API.

Modified:
    trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java

Modified: trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java?rev=3138&r1=3137&r2=3138&view=diff
==============================================================================
--- trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java (original)
+++ trunk/opensaml-soap-api/src/main/java/org/opensaml/soap/util/SOAPHelper.java Mon Jan  7 22:26:34 2013
@@ -17,7 +17,6 @@
 
 package org.opensaml.soap.util;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -39,6 +38,7 @@
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
 import org.opensaml.core.xml.schema.XSBooleanValue;
 import org.opensaml.core.xml.util.AttributeMap;
+import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.soap.soap11.ActorBearing;
 import org.opensaml.soap.soap11.Detail;
 import org.opensaml.soap.soap11.EncodingStyleBearing;
@@ -49,9 +49,10 @@
 import org.opensaml.soap.soap11.FaultString;
 import org.opensaml.soap.soap11.Header;
 import org.opensaml.soap.soap11.MustUnderstandBearing;
-import org.opensaml.ws.message.MessageContext;
 
 import com.google.common.base.Objects;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
 
 /**
  * Helper methods for working with SOAP.
@@ -398,24 +399,25 @@
 
     /**
      * Add a header block to the SOAP envelope contained within the specified message context's
-     * {@link MessageContext#getOutboundMessage()}.
+     * {@link MessageContext#getMessage()}.
      * 
      * @param messageContext the message context being processed
      * @param headerBlock the header block to add
      */
-    public static void addHeaderBlock(MessageContext messageContext, XMLObject headerBlock) {
-        XMLObject outboundEnvelope = messageContext.getOutboundMessage();
-        if (outboundEnvelope == null) {
-            throw new IllegalArgumentException("Message context does not contain a SOAP envelope");
-        }
+    public static void addHeaderBlock(@Nonnull final MessageContext<? extends XMLObject> messageContext,
+            @Nonnull final XMLObject headerBlock) {
+        Constraint.isNotNull(messageContext, "Message context cannot be null");
+        Constraint.isNotNull(messageContext.getMessage(), "Message context cannot be empty");
+        
+        XMLObject outboundEnvelope = messageContext.getMessage();
         
         // SOAP 1.1 Envelope
         if (outboundEnvelope instanceof Envelope) {
             addSOAP11HeaderBlock((Envelope) outboundEnvelope, headerBlock);
-        }
-        
-        //TODO SOAP 1.2 support when object providers are implemented
-        
+        } else {
+            //TODO SOAP 1.2 support when object providers are implemented
+            throw new IllegalArgumentException("Message context did not contain a SOAP Envelope");
+        }
     }
 
     /**
@@ -424,11 +426,14 @@
      * @param envelope the SOAP 1.1 envelope to process
      * @param headerBlock the header to add
      */
-    public static void addSOAP11HeaderBlock(Envelope envelope, XMLObject headerBlock) {
+    public static void addSOAP11HeaderBlock(@Nonnull final Envelope envelope, @Nonnull final XMLObject headerBlock) {
+        Constraint.isNotNull(envelope, "Envelope cannot be null");
+        Constraint.isNotNull(headerBlock, "Header block cannot be null");
+        
         Header envelopeHeader = envelope.getHeader();
         if (envelopeHeader == null) {
-            envelopeHeader = (Header) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(Header.DEFAULT_ELEMENT_NAME)
-                .buildObject(Header.DEFAULT_ELEMENT_NAME);
+            envelopeHeader = (Header) XMLObjectProviderRegistrySupport.getBuilderFactory().getBuilder(
+                    Header.DEFAULT_ELEMENT_NAME).buildObject(Header.DEFAULT_ELEMENT_NAME);
             envelope.setHeader(envelopeHeader);
         }
         
@@ -437,52 +442,26 @@
 
     /**
      * Get a header block from the SOAP envelope contained within the specified message context's
-     * {@link MessageContext#getInboundMessage()}.
-     * 
-     * @param msgContext the message context being processed
+     * {@link MessageContext#getMessage()}.
+     * 
+     * @param messageContext the message context being processed
      * @param headerName the name of the header block to return 
      * @param targetNodes the explicitly specified SOAP node actors (1.1) or roles (1.2) for which the header is desired
      * @param isFinalDestination true specifies that headers targeted for message final destination should be returned,
      *          false means they should not be returned

[... 146 lines stripped ...]


More information about the commits mailing list