[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractName...

noreply at shibboleth.net noreply at shibboleth.net
Tue Mar 25 13:05:07 EDT 2014


Author: scantor
Date: Tue Mar 25 13:05:07 2014
New Revision: 3731

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3731&view=rev
Log:
Revamp NameID policy predicate design again, more direct expression of target object.

Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/NameIDPolicyPredicate.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.java
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjectsTest.java

Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java?rev=3731&r1=3730&r2=3731&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java Tue Mar 25 13:05:07 2014
@@ -21,28 +21,25 @@
 import javax.annotation.Nullable;
 
 import net.shibboleth.utilities.java.support.component.AbstractInitializableComponent;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
-import net.shibboleth.utilities.java.support.logic.Constraint;
 
-import org.opensaml.messaging.context.navigate.MessageLookup;
 import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
-import org.opensaml.saml.saml2.core.AuthnRequest;
-import org.opensaml.saml.saml2.core.Issuer;
+import org.opensaml.saml.saml1.core.NameIdentifier;
 import org.opensaml.saml.saml2.core.NameID;
-import org.opensaml.saml.saml2.core.RequestAbstractType;
+import org.opensaml.saml.saml2.core.NameIDPolicy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
-import com.google.common.base.Functions;
+import com.google.common.base.Predicate;
 
 /**
  * Base class for implementations of {@link NameIDPolicyPredicate} that handles all the basic lookup
  * functions and calls the {@link #doApply(String, String, String, String)} method to do actual work.
  */
 public abstract class AbstractNameIDPolicyPredicate extends AbstractInitializableComponent
-        implements NameIDPolicyPredicate {
+        implements Predicate<ProfileRequestContext> {
 
     /** Class logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractNameIDPolicyPredicate.class);
@@ -53,17 +50,14 @@
     /** Responder ID lookup function. */
     @Nullable private Function<ProfileRequestContext,String> responderIdLookupStrategy;
 
-    /** NameQualifier lookup function. */
-    @Nullable private Function<ProfileRequestContext,String> nameQualifierLookupStrategy;
+    /** NameIDPolicy lookup function. */
+    @Nullable private Function<ProfileRequestContext,NameIDPolicy> nameIDPolicyLookupStrategy;
 
-    /** SPNameQualifier lookup function. */
-    @Nullable private Function<ProfileRequestContext,String> spNameQualifierLookupStrategy;
-    
-    /** Constructor. */
-    public AbstractNameIDPolicyPredicate() {
-        requesterIdLookupStrategy = new RequesterIdFromIssuerFunction();
-        spNameQualifierLookupStrategy = new SPNameQualifierFromNameIDPolicyFunction();
-    }
+    /** NameID lookup function. */
+    @Nullable private Function<ProfileRequestContext,NameID> nameIDLookupStrategy;
+
+    /** NameIdentifier lookup function. */
+    @Nullable private Function<ProfileRequestContext,NameIdentifier> nameIdentifierLookupStrategy;
 
     /**
      * Set the strategy used to locate the requester ID.
@@ -71,10 +65,10 @@
      * @param strategy lookup strategy
      */
     public synchronized void setRequesterIdLookupStrategy(
-            @Nonnull final Function<ProfileRequestContext,String> strategy) {
+            @Nullable final Function<ProfileRequestContext,String> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
-        requesterIdLookupStrategy = Constraint.isNotNull(strategy, "Requester ID lookup strategy cannot be null");
+        requesterIdLookupStrategy = strategy;
     }
 
     /**
@@ -83,45 +77,65 @@
      * @param strategy lookup strategy
      */
     public synchronized void setResponderIdLookupStrategy(
-            @Nonnull final Function<ProfileRequestContext,String> strategy) {
+            @Nullable final Function<ProfileRequestContext,String> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         

[... 336 lines stripped ...]


More information about the commits mailing list