[java-identity-provider COMMIT] in /trunk: idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/AttributeSubc...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Sep 13 13:11:00 BST 2011
Author: lajoie
Date: Tue Sep 13 13:10:59 2011
New Revision: 4061
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=4061&view=rev
Log:
Add attribute subcontext that carries attributes through actions like resolution, filtering, consent, etc.
Added:
trunk/idp-attribute-api/src/main/java/net/shibboleth/idp/attribute/AttributeSubcontext.java (with props)
Modified:
trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
Modified: trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java?rev=4061&r1=4060&r2=4061&view=diff
==============================================================================
--- trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java (original)
+++ trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/FilterAttributes.java Tue Sep 13 13:10:59 2011
@@ -20,10 +20,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import net.shibboleth.idp.attribute.AttributeSubcontext;
import net.shibboleth.idp.attribute.filtering.AttributeFilterContext;
import net.shibboleth.idp.attribute.filtering.AttributeFilteringEngine;
import net.shibboleth.idp.attribute.filtering.AttributeFilteringException;
-import net.shibboleth.idp.attribute.resolver.AttributeResolutionContext;
import net.shibboleth.idp.profile.AbstractIdentityProviderAction;
import net.shibboleth.idp.profile.ActionSupport;
import net.shibboleth.idp.profile.ProfileRequestContext;
@@ -45,8 +45,10 @@
/** {@inheritDoc} */
public Event doExecute(final HttpServletRequest httpRequest, final HttpServletResponse httpResponse,
final RequestContext springRequestContext, final ProfileRequestContext profileRequestContext) {
+
+ final AttributeSubcontext attributeCtx = profileRequestContext.getSubcontext(AttributeSubcontext.class, false);
- // Get the resolution context from the profile request
+ // Get the filer context from the profile request
// this may already exist but if not, auto-create it
final AttributeFilterContext filterContext =
profileRequestContext.getSubcontext(AttributeFilterContext.class, true);
@@ -54,18 +56,19 @@
// If the filter context doesn't have a set of attributes to filter already
// then look for them in the profile request context
if (filterContext.getPrefilteredAttributes().isEmpty()) {
- final AttributeResolutionContext resolutionContext =
- profileRequestContext.getSubcontext(AttributeResolutionContext.class, false);
- if (resolutionContext == null) {
+ if (attributeCtx == null) {
// TODO error
return ActionSupport.buildEvent(this, ActionSupport.ERROR_EVENT_ID, null);
}
- filterContext.setPrefilteredAttributes(resolutionContext.getResolvedAttributes().values());
+ filterContext.setPrefilteredAttributes(attributeCtx.getAttributes().values());
}
try {
filterEngine.filterAttributes(filterContext);
+ // TODO remove filter context from profile request context?
+
+ attributeCtx.setAttributes(filterContext.getFilteredAttributes().values());
} catch (AttributeFilteringException e) {
// TODO error
return ActionSupport.buildEvent(this, ActionSupport.ERROR_EVENT_ID, null);
Modified: trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java?rev=4061&r1=4060&r2=4061&view=diff
==============================================================================
--- trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java (original)
+++ trunk/idp-profile-impl/src/main/java/net/shibboleth/idp/profile/impl/ResolveAttributes.java Tue Sep 13 13:10:59 2011
@@ -20,6 +20,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import net.shibboleth.idp.attribute.AttributeSubcontext;
import net.shibboleth.idp.attribute.resolver.AttributeResolutionContext;
import net.shibboleth.idp.attribute.resolver.AttributeResolutionException;
import net.shibboleth.idp.attribute.resolver.AttributeResolver;
@@ -52,6 +53,10 @@
try {
attributeResolver.resolveAttributes(resolutionContext);
+ //TODO remove resolution context from request?
+
+ final AttributeSubcontext attributeCtx = profileRequestContext.getSubcontext(AttributeSubcontext.class, true);
[... 5 lines stripped ...]
More information about the commits
mailing list