[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport...

noreply at shibboleth.net noreply at shibboleth.net
Wed Apr 24 17:37:34 EDT 2013


Author: putmanb
Date: Wed Apr 24 17:37:33 2013
New Revision: 3314

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3314&view=rev
Log:
Move the SAML protocol message destination/recipient attribute setting out of the encoders and into a message handler.

Added:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/SAMLOutboundDestinationHandler.java   (with props)
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/SAMLOutboundDestinationHandlerTest.java   (with props)
Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPPostEncoder.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPPostEncoder.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPRedirectDeflateEncoder.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml1/binding/encoding/HTTPPostEncoderTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/HTTPPostEncoderTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/HTTPPostSimpleSignEncoderTest.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/binding/encoding/HTTPRedirectDeflateEncoderTest.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java?rev=3314&r1=3313&r2=3314&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java Wed Apr 24 17:37:33 2013
@@ -24,6 +24,7 @@
 import javax.annotation.Nullable;
 import javax.servlet.http.HttpServletRequest;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
 
@@ -36,7 +37,6 @@
 import org.opensaml.saml.common.messaging.context.SamlEndpointContext;
 import org.opensaml.saml.common.messaging.context.SamlPeerEntityContext;
 import org.opensaml.saml.common.messaging.context.SamlProtocolContext;
-import org.opensaml.saml.saml2.core.StatusResponseType;
 import org.opensaml.saml.saml2.metadata.Endpoint;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -134,15 +134,33 @@
     }
     
     /**
-     * Sets the destination attribute on the outbound message if it is a {@link StatusResponseType} message.
+     * Sets the destination attribute on the outbound message if it is a 
+     * {@link org.opensaml.saml.saml1.core.ResponseAbstractType} message.
      * 
      * @param outboundMessage outbound SAML message
      * @param endpointURL destination endpoint
      */
-    public static void setSaml2ResponseDestination(@Nonnull final SAMLObject outboundMessage, 
-            @Nullable final String endpointURL) {
-        if (outboundMessage instanceof StatusResponseType) {
-            ((StatusResponseType) outboundMessage).setDestination(endpointURL);
+    public static void setSaml1ResponseRecipient(@Nonnull final SAMLObject outboundMessage, 
+            @Nonnull @NotEmpty final String endpointURL) {
+        if (outboundMessage instanceof org.opensaml.saml.saml1.core.ResponseAbstractType) {
+            ((org.opensaml.saml.saml1.core.ResponseAbstractType) outboundMessage).setRecipient(endpointURL);
+        }
+    }
+    
+    /**
+     * Sets the destination attribute on an outbound message if it is either a 
+     * {@link org.opensaml.saml.saml2.core.RequestAbstractType} or a 
+     * {@link org.opensaml.saml.saml2.core.StatusResponseType} message.
+     * 
+     * @param outboundMessage outbound SAML message
+     * @param endpointURL destination endpoint
+     */
+    public static void setSaml2Destination(@Nonnull final SAMLObject outboundMessage, 
+            @Nonnull @NotEmpty final String endpointURL) {
+        if (outboundMessage instanceof org.opensaml.saml.saml2.core.RequestAbstractType) {
+            ((org.opensaml.saml.saml2.core.RequestAbstractType) outboundMessage).setDestination(endpointURL);
+        } else if (outboundMessage instanceof org.opensaml.saml.saml2.core.StatusResponseType) {
+            ((org.opensaml.saml.saml2.core.StatusResponseType) outboundMessage).setDestination(endpointURL);
         }
     }
     

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPPostEncoder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPPostEncoder.java?rev=3314&r1=3313&r2=3314&view=diff

[... 168 lines stripped ...]


More information about the commits mailing list