Class AbstractSearchDataConnector<T1 extends ExecutableSearch,T2 extends MappingStrategy<?>>
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin<Map<String,IdPAttribute>>
net.shibboleth.idp.attribute.resolver.AbstractDataConnector
net.shibboleth.idp.attribute.resolver.dc.impl.AbstractSearchDataConnector<T1,T2>
- Type Parameters:
T1
- type of executable searchT2
- type of mapping strategy
- All Implemented Interfaces:
DataConnector
,ResolverPlugin<Map<String,
,IdPAttribute>> Component
,DestructableComponent
,IdentifiableComponent
,IdentifiedComponent
,InitializableComponent
,UnmodifiableComponent
,DisposableBean
- Direct Known Subclasses:
HTTPDataConnector
,LDAPDataConnector
,RDBMSDataConnector
,StorageServiceDataConnector
public abstract class AbstractSearchDataConnector<T1 extends ExecutableSearch,T2 extends MappingStrategy<?>>
extends AbstractDataConnector
A
DataConnector
containing functionality common to data connectors that
retrieve attribute data by searching a data source.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Validator
Validator for validating this data connector.private boolean
Does DataConnector fail fast on Initialize.private final org.slf4j.Logger
Class logger.private T2
Strategy for mapping search results to a collection ofIdPAttribute
s.private Cache<String,
Map<String, IdPAttribute>> Query result cache.private ExecutableSearchBuilder<T1>
Builder used to create executable searches. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Map<String,
IdPAttribute> doDataConnectorResolve
(AttributeResolutionContext resolutionContext, AttributeResolverWorkContext workContext) Retrieves a collection of attributes from some data source.protected void
Gets the builder used to create executable searches.Gets the strategy for mapping from search results to a collection ofIdPAttribute
s.Gets the cache used to cache search results.Gets the validator used to validate this connector.boolean
Does the data connector fails fast.protected abstract Map<String,
IdPAttribute> retrieveAttributes
(T1 executable) Attempts to retrieve attributes from the data source.void
Sets the builder used to create the executable searches.void
setFailFastInitialize
(boolean what) Whether the data connector fails fast (on initialize).void
setMappingStrategy
(T2 strategy) Sets the strategy for mapping from search results to a collection ofIdPAttribute
s.void
setResultsCache
(Cache<String, Map<String, IdPAttribute>> cache) Sets the cache used to cache search results.void
setValidator
(Validator validator) Sets the validator used to validate this connector.Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractDataConnector
doResolve, getExportAttributes, getFailoverDataConnectorId, getLastFail, getLastSuccess, getLogPrefix, getNoRetryDelay, isExportAllAttributes, setExportAllAttributes, setExportAttributes, setFailoverDataConnectorId, setLastFail, setLastSuccess, setNoRetryDelay
Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin
addDisplayInformation, doDestroy, equals, getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, getProfileContextStrategy, hashCode, isPropagateResolutionExceptions, isSuppressDisplayInformation, resolve, setActivationCondition, setAttributeDependencies, setDataConnectorDependencies, setProfileContextStrategy, setPropagateResolutionExceptions, setSuppressDisplayInformation
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, initialize, isDestroyed, isInitialized
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.shibboleth.utilities.java.support.component.DestructableComponent
destroy, isDestroyed
Methods inherited from interface org.springframework.beans.factory.DisposableBean
destroy
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
Methods inherited from interface net.shibboleth.idp.attribute.resolver.ResolverPlugin
getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, isPropagateResolutionExceptions, resolve
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
searchBuilder
Builder used to create executable searches. -
connectorValidator
Validator for validating this data connector. -
mappingStrategy
Strategy for mapping search results to a collection ofIdPAttribute
s. -
resultsCache
Query result cache. -
failFastInitialize
private boolean failFastInitializeDoes DataConnector fail fast on Initialize.
-
-
Constructor Details
-
AbstractSearchDataConnector
public AbstractSearchDataConnector()
-
-
Method Details
-
getExecutableSearchBuilder
Gets the builder used to create executable searches.- Returns:
- builder used to create the executable searches
-
setExecutableSearchBuilder
Sets the builder used to create the executable searches.- Parameters:
builder
- builder used to create the executable searches
-
getValidator
Gets the validator used to validate this connector.- Returns:
- validator used to validate this connector
-
setValidator
Sets the validator used to validate this connector.- Parameters:
validator
- used to validate this connector
-
getMappingStrategy
Gets the strategy for mapping from search results to a collection ofIdPAttribute
s.- Returns:
- strategy for mapping from search results to a collection of
IdPAttribute
s
-
setMappingStrategy
Sets the strategy for mapping from search results to a collection ofIdPAttribute
s.- Parameters:
strategy
- strategy for mapping from search results to a collection ofIdPAttribute
s
-
getResultsCache
Gets the cache used to cache search results.- Returns:
- cache used to cache search results
-
setResultsCache
Sets the cache used to cache search results. Note, all entries in the cache are invalidated prior to use.- Parameters:
cache
- cache used to cache search results
-
retrieveAttributes
@Nullable protected abstract Map<String,IdPAttribute> retrieveAttributes(@Nonnull T1 executable) throws ResolutionException Attempts to retrieve attributes from the data source.- Parameters:
executable
- used to retrieve data from the data source- Returns:
- attributes
- Throws:
ResolutionException
- thrown if there is a problem retrieving data from the data source
-
doDataConnectorResolve
@Nullable protected Map<String,IdPAttribute> doDataConnectorResolve(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException Retrieves a collection of attributes from some data source.- Specified by:
doDataConnectorResolve
in classAbstractDataConnector
- Parameters:
resolutionContext
- current resolution contextworkContext
- current resolver work context- Returns:
- collected attributes indexed by attribute ID
- Throws:
ResolutionException
- thrown if there is a problem resolving the attributes
-
doInitialize
- Overrides:
doInitialize
in classAbstractDataConnector
- Throws:
ComponentInitializationException
-
isFailFastInitialize
public boolean isFailFastInitialize()Does the data connector fails fast.- Returns:
- Returns whether the data connector fails fast (on initialize)
-
setFailFastInitialize
public void setFailFastInitialize(boolean what) Whether the data connector fails fast (on initialize).- Parameters:
what
- what to set
-