[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 14:23:32 EDT 2014


Author: scantor
Date: Tue Mar 25 14:23:31 2014
New Revision: 3732

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3732&view=rev
Log:
Hopefully "final" predicate design, working for NameIDPolicy checking and subject name extraction.

Modified:
    trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/profile/logic/AbstractNameIDPolicyPredicate.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/AddNameIDToSubjects.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=3732&r1=3731&r2=3732&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 14:23:31 2014
@@ -20,11 +20,14 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 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.profile.context.ProfileRequestContext;
+import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.saml1.core.NameIdentifier;
 import org.opensaml.saml.saml2.core.NameID;
 import org.opensaml.saml.saml2.core.NameIDPolicy;
@@ -50,14 +53,8 @@
     /** Responder ID lookup function. */
     @Nullable private Function<ProfileRequestContext,String> responderIdLookupStrategy;
 
-    /** NameIDPolicy lookup function. */
-    @Nullable private Function<ProfileRequestContext,NameIDPolicy> nameIDPolicyLookupStrategy;
-
-    /** NameID lookup function. */
-    @Nullable private Function<ProfileRequestContext,NameID> nameIDLookupStrategy;
-
-    /** NameIdentifier lookup function. */
-    @Nullable private Function<ProfileRequestContext,NameIdentifier> nameIdentifierLookupStrategy;
+    /** Object lookup function. */
+    @NonnullAfterInit private Function<ProfileRequestContext,SAMLObject> objectLookupStrategy;
 
     /**
      * Set the strategy used to locate the requester ID.
@@ -84,38 +81,15 @@
     }
     
     /**
-     * Set a lookup strategy used to locate a {@link NameIDPolicy} to evaluate.
+     * Set the lookup strategy used to locate the object to evaluate.
      * 
      * @param strategy lookup function
      */
-    public synchronized void setNameIDPolicyLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,NameIDPolicy> strategy) {
+    public synchronized void setObjectLookupStrategy(
+            @Nullable final Function<ProfileRequestContext,SAMLObject> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
-        nameIDPolicyLookupStrategy = strategy;
-    }
-
-    /**
-     * Set a lookup strategy used to locate a {@link NameID} to evaluate.
-     * 
-     * @param strategy lookup function
-     */
-    public synchronized void setNameIDLookupStrategy(@Nullable final Function<ProfileRequestContext,NameID> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
-        nameIDLookupStrategy = strategy;
-    }
-
-    /**
-     * Set a lookup strategy used to locate a {@link NameIdentifier} to evaluate.
-     * 
-     * @param strategy lookup function
-     */
-    public synchronized void setNameIdentifierLookupStrategy(
-            @Nullable final Function<ProfileRequestContext,NameIdentifier> strategy) {
-        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
-        
-        nameIdentifierLookupStrategy = strategy;
+        objectLookupStrategy = Constraint.isNotNull(strategy, "Object lookup strategy cannot be null");
     }
     
     /** {@inheritDoc} */
@@ -123,10 +97,8 @@
     protected void doInitialize() throws ComponentInitializationException {
         super.doInitialize();
         
-        if (nameIDPolicyLookupStrategy == null && nameIDLookupStrategy == null
-                && nameIdentifierLookupStrategy == null) {
-            throw new ComponentInitializationException(
-                    "One of NameIDPolicy, NameID, or NameIdentifier lookup strategies must be non-null");
+        if (objectLookupStrategy == null) {
+            throw new ComponentInitializationException("Object lookup strategy cannot be null");
         }
     }
 
@@ -149,29 +121,23 @@
             responderId = null;
         }
 
-        if (nameIdentifierLookupStrategy != null) {

[... 81 lines stripped ...]


More information about the commits mailing list