[java-opensaml COMMIT] /trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSe...

noreply at shibboleth.net noreply at shibboleth.net
Mon Feb 25 22:56:56 EST 2013


Author: scantor
Date: Mon Feb 25 22:56:56 2013
New Revision: 3235

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3235&view=rev
Log:
Port java-opensaml2 r1555.

Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSelector.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSelector.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSelector.java?rev=3235&r1=3234&r2=3235&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSelector.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/saml2/binding/AuthnResponseEndpointSelector.java Mon Feb 25 22:56:56 2013
@@ -44,7 +44,6 @@
     private final Logger log = LoggerFactory.getLogger(AuthnResponseEndpointSelector.class);
 
     /** {@inheritDoc} */
-    @SuppressWarnings("unchecked")
     public Endpoint selectEndpoint() {
         if (getEntityRoleMetadata() == null) {
             log.debug("Unable to select endpoint, no entity role metadata available.");
@@ -70,11 +69,10 @@
                                 getEntityMetadata().getEntityID() });
                 endpoint = selectEndpointByACSIndex(request, (List<IndexedEndpoint>) endpoints);
             } else if (request.getAssertionConsumerServiceURL() != null) {
-                log
-                        .debug(
-                                "Selecting endpoint by ACS URL '{}' and protocol binding '{}' for request '{}' from entity '{}'",
-                                new Object[] { request.getAssertionConsumerServiceURL(), request.getProtocolBinding(),
-                                        request.getID(), getEntityMetadata().getEntityID() });
+                log.debug(
+                        "Selecting endpoint by ACS URL '{}' and protocol binding '{}' for request '{}' from entity '{}'",
+                        new Object[] { request.getAssertionConsumerServiceURL(), request.getProtocolBinding(),
+                                request.getID(), getEntityMetadata().getEntityID() });
                 endpoint = selectEndpointByACSURL(request, (List<IndexedEndpoint>) endpoints);
             }
         }
@@ -144,17 +142,16 @@
         Integer acsIndex = request.getAssertionConsumerServiceIndex();
         for (IndexedEndpoint endpoint : endpoints) {
             if (endpoint == null || !getSupportedIssuerBindings().contains(endpoint.getBinding())) {
-                log
-                        .debug(
-                                "Endpoint '{}' with binding '{}' discarded because it requires an unsupported outbound binding.",
-                                endpoint.getLocation(), endpoint.getBinding());
+                log.debug(
+                        "Endpoint '{}' with binding '{}' discarded because it requires an unsupported outbound binding.",
+                        endpoint.getLocation(), endpoint.getBinding());
                 continue;
             }
 
             if (Objects.equal(acsIndex, endpoint.getIndex())) {
                 return endpoint;
             } else {
-                log.debug("Endpoint '{}' with index '{}' discard because it does have the required index '{}'",
+                log.debug("Endpoint '{}' with index '{}' discarded because it does have the required index '{}'",
                         new Object[] { endpoint.getLocation(), endpoint.getIndex(), acsIndex });
             }
         }
@@ -186,21 +183,27 @@
 
             if (acsBinding != null) {
                 if (!Objects.equal(acsBinding, endpoint.getBinding())) {
-                    log.debug("Endpoint '{}' with binding '{}' discarded because it does not meet protocol binding selection criteria",
-                                    endpoint.getLocation(), endpoint.getBinding());
+                    log.debug(
+                            "Endpoint '{}' with binding '{}' discarded because it does not meet protocol binding selection criteria",
+                            endpoint.getLocation(), endpoint.getBinding());
                     continue;
                 }
             }
-
-            if (Objects.equal(endpoint.getLocation(), request.getAssertionConsumerServiceURL())
-                    || Objects.equal(endpoint.getResponseLocation(), request
-                            .getAssertionConsumerServiceURL())) {
-                return endpoint;
+            
+            String responseLocation = StringSupport.trim(endpoint.getResponseLocation());
+            if (responseLocation != null) {
+                if (Objects.equal(responseLocation, request.getAssertionConsumerServiceURL())) {
+                    return endpoint;
+                }
             } else {
-                log.debug(
-                        "Endpoint '{}' discarded because neither its Location nor ResponseLocation match ACS URL '{}'",

[... 14 lines stripped ...]


More information about the commits mailing list