[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