[java-identity-provider COMMIT] in /trunk/idp-saml-impl/src: main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAM...

noreply at shibboleth.net noreply at shibboleth.net
Sat Feb 1 20:34:47 EST 2014


Author: scantor
Date: Sat Feb  1 20:34:47 2014
New Revision: 5295

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5295&view=rev
Log:
Refine AttributeContext lookup.

Modified:
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGenerator.java
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML2NameIDGenerator.java
    trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGeneratorTest.java
    trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML2NameIDGeneratorTest.java

Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGenerator.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGenerator.java?rev=5295&r1=5294&r2=5295&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGenerator.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML1NameIdentifierGenerator.java Sat Feb  1 20:34:47 2014
@@ -49,6 +49,7 @@
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
+import com.google.common.base.Functions;
 import com.google.common.base.Predicates;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.Lists;
@@ -66,7 +67,7 @@
     @Nonnull private Function<ProfileRequestContext, RelyingPartyContext> relyingPartyContextLookupStrategy;
 
     /** Strategy function to lookup AttributeContext. */
-    @Nonnull private Function<RelyingPartyContext, AttributeContext> attributeContextLookupStrategy;
+    @Nonnull private Function<ProfileRequestContext, AttributeContext> attributeContextLookupStrategy;
     
     /** Attribute(s) to use as an identifier source. */
     @Nonnull @NonnullElements private List<String> attributeSourceIds;
@@ -74,7 +75,9 @@
     /** Constructor. */
     public DefaultSAML1NameIdentifierGenerator() {
         relyingPartyContextLookupStrategy = new ChildContextLookup<>(RelyingPartyContext.class);
-        attributeContextLookupStrategy = new ChildContextLookup<>(AttributeContext.class);
+        attributeContextLookupStrategy = Functions.compose(
+                new ChildContextLookup<RelyingPartyContext, AttributeContext>(AttributeContext.class),
+                relyingPartyContextLookupStrategy);
         attributeSourceIds = Collections.emptyList();
     }
     
@@ -97,7 +100,7 @@
      * @param strategy lookup function to use
      */
     public synchronized void setAttributeContextLookupStrategy(
-            @Nonnull final Function<RelyingPartyContext, AttributeContext> strategy) {
+            @Nonnull final Function<ProfileRequestContext, AttributeContext> strategy) {
         ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
         
         attributeContextLookupStrategy = Constraint.isNotNull(strategy,
@@ -132,14 +135,8 @@
             throws ProfileException {
         
         // Check for a natively generated NameIdentifier attribute value.
-        
-        final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.apply(profileRequestContext);
-        if (rpCtx == null) {
-            log.warn("Unable to locate RelyingPartContext.");
-            return null;
-        }
-
-        final AttributeContext attributeCtx = attributeContextLookupStrategy.apply(rpCtx);
+
+        final AttributeContext attributeCtx = attributeContextLookupStrategy.apply(profileRequestContext);
         if (attributeCtx == null) {
             log.warn("Unable to locate AttributeContext");
             return null;
@@ -177,10 +174,7 @@
     @Nullable protected String getIdentifier(@Nonnull final ProfileRequestContext profileRequestContext)
             throws ProfileException {
 
-        // TODO null check rpCtx ?
-        final RelyingPartyContext rpCtx = relyingPartyContextLookupStrategy.apply(profileRequestContext);
-        
-        final AttributeContext attributeCtx = attributeContextLookupStrategy.apply(rpCtx);
+        final AttributeContext attributeCtx = attributeContextLookupStrategy.apply(profileRequestContext);
         
         final Map<String, IdPAttribute> attributes = attributeCtx.getIdPAttributes();
         for (final String sourceId : attributeSourceIds) {

Modified: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML2NameIDGenerator.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML2NameIDGenerator.java?rev=5295&r1=5294&r2=5295&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/nameid/DefaultSAML2NameIDGenerator.java (original)

[... 141 lines stripped ...]


More information about the commits mailing list