Class FilterByQueriedAttributes
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.saml.saml2.profile.impl.FilterByQueriedAttributes
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
,Aware
,MessageSource
,MessageSourceAware
,Action
Action that filters a set of attributes against the
Attribute
objects in
an AttributeQuery
.- Event:
EventIds.PROCEED_EVENT_ID
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AttributeContext
AttributeContext to filter.Strategy used to locate theAttributeContext
to filter.private final org.slf4j.Logger
Class logger.private AttributeQuery
Query to filter against.private Function<ProfileRequestContext,
AttributeQuery> Strategy used to locate theAttributeQuery
to filter against.Transcoder registry service object. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
decodeAttribute
(AttributeTranscoderRegistry registry, ProfileRequestContext profileRequestContext, Attribute input, Multimap<String, IdPAttribute> results) Access the registry of transcoding rules to decode the inputAttribute
.protected void
doExecute
(ProfileRequestContext profileRequestContext) protected void
protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext) private int
filterRequestedValues
(IdPAttribute attribute, Collection<IdPAttribute> requestedAttributes) Adjust an input attribute's values based on any values requested.void
Set the strategy used to locate theAttributeContext
associated with a givenProfileRequestContext
.void
Set the strategy used to locate theAttributeQuery
associated with a givenProfileRequestContext
.void
Sets the registry of transcoding rules to apply to encode attributes.Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction
doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
transcoderRegistry
Transcoder registry service object. -
queryLookupStrategy
Strategy used to locate theAttributeQuery
to filter against. -
attributeContextLookupStrategy
Strategy used to locate theAttributeContext
to filter. -
query
Query to filter against. -
attributeContext
AttributeContext to filter.
-
-
Constructor Details
-
FilterByQueriedAttributes
public FilterByQueriedAttributes()Constructor.
-
-
Method Details
-
setTranscoderRegistry
Sets the registry of transcoding rules to apply to encode attributes.- Parameters:
registry
- registry service interface
-
setQueryLookupStrategy
public void setQueryLookupStrategy(@Nonnull Function<ProfileRequestContext, AttributeQuery> strategy) Set the strategy used to locate theAttributeQuery
associated with a givenProfileRequestContext
.- Parameters:
strategy
- lookup strategy
-
setAttributeContextLookupStrategy
public void setAttributeContextLookupStrategy(@Nonnull Function<ProfileRequestContext, AttributeContext> strategy) Set the strategy used to locate theAttributeContext
associated with a givenProfileRequestContext
.- Parameters:
strategy
- lookup strategy
-
doInitialize
- Overrides:
doInitialize
in classAbstractInitializableComponent
- Throws:
ComponentInitializationException
-
doPreExecute
- Overrides:
doPreExecute
in classAbstractConditionalProfileAction
-
doExecute
- Overrides:
doExecute
in classAbstractProfileAction
-
decodeAttribute
protected void decodeAttribute(@Nonnull AttributeTranscoderRegistry registry, @Nonnull ProfileRequestContext profileRequestContext, @Nonnull Attribute input, @Nonnull @NonnullElements @Live Multimap<String, IdPAttribute> results) throws AttributeDecodingExceptionAccess the registry of transcoding rules to decode the inputAttribute
.- Parameters:
registry
- registry of transcoding rulesprofileRequestContext
- current profile request contextinput
- input objectresults
- collection to add results to- Throws:
AttributeDecodingException
- if an error occurs or no results were obtained
-
filterRequestedValues
private int filterRequestedValues(@Nonnull IdPAttribute attribute, @Nonnull @NonnullElements Collection<IdPAttribute> requestedAttributes) Adjust an input attribute's values based on any values requested.- Parameters:
attribute
- attribute to filterrequestedAttributes
- the attributes (and possibly values) requested- Returns:
- the number of values left in the input attribute
-