[java-identity-provider COMMIT] in /trunk: idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAct...

noreply at shibboleth.net noreply at shibboleth.net
Tue Feb 4 22:25:54 EST 2014


Author: scantor
Date: Tue Feb  4 22:25:53 2014
New Revision: 5313

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5313&view=rev
Log:
Contexts should be default-constructable.

Modified:
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
    trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContext.java
    trunk/idp-authn-impl/src/main/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlow.java
    trunk/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
    trunk/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
    trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/profile/saml1/AddAuthenticationStatementToAssertionTest.java
    trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/profile/saml2/AddAuthnStatementToAssertionTest.java

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java?rev=5313&r1=5312&r2=5313&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java (original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/AbstractValidationAction.java Tue Feb  4 22:25:53 2014
@@ -181,7 +181,7 @@
         // able to satisfy the request.
         final RequestedPrincipalContext rpCtx =
                 authenticationContext.getSubcontext(RequestedPrincipalContext.class, false);
-        if (rpCtx != null) {
+        if (rpCtx != null && rpCtx.getOperator() != null) {
             log.debug("{} Request contains principal requirements, evaluating for compatibility", getLogPrefix());
             for (Principal p : rpCtx.getRequestedPrincipals()) {
                 final PrincipalEvalPredicateFactory factory =

Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java?rev=5313&r1=5312&r2=5313&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java (original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/RequestedPrincipalContext.java Tue Feb  4 22:25:53 2014
@@ -18,6 +18,7 @@
 package net.shibboleth.idp.authn.context;
 
 import java.security.Principal;
+import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Nonnull;
@@ -25,6 +26,7 @@
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
 import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
 import net.shibboleth.utilities.java.support.logic.Constraint;
 import net.shibboleth.utilities.java.support.primitive.StringSupport;
@@ -56,35 +58,35 @@
 public class RequestedPrincipalContext extends BaseContext {
 
     /** Comparison operator specific to request protocol. */
-    @Nonnull @NotEmpty private final String operatorString;
+    @Nullable private String operatorString;
 
     /** The principals reflecting the request requirements. */
-    @Nonnull @NotEmpty @NonnullElements private final List<Principal> requestedPrincipals;
+    @Nonnull @NonnullElements private List<Principal> requestedPrincipals;
     
     /** The principal that satisfied the request, if any. */
     @Nullable private Principal matchingPrincipal;
     
-    /**
-     * Constructor.
-     * 
-     * @param operator comparison operator specific to request protocol
-     * @param principals ordered list of principals reflecting the request requirements
-     */
-    public RequestedPrincipalContext(@Nonnull @NotEmpty final String operator,
-            @Nonnull @NotEmpty @NonnullElements final List<Principal> principals) {
-        Constraint.isNotEmpty(principals, "Principal list cannot be null or empty");
-        
-        operatorString = Constraint.isNotNull(StringSupport.trimOrNull(operator), "Operator cannot be null or empty");
-        requestedPrincipals = Lists.newArrayList(Collections2.filter(principals, Predicates.notNull()));
+    /** Constructor. */
+    public RequestedPrincipalContext() {
+        requestedPrincipals = Collections.emptyList();
     }
 
     /**
-     * Get the canonical principal name of the subject.
+     * Get the comparison operator for matching requested principals. 
      * 
-     * @return the canonical principal name

[... 316 lines stripped ...]


More information about the commits mailing list