Class AbstractSearchDataConnector<T1 extends ExecutableSearch,T2 extends MappingStrategy<?>>
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.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 ValidatorValidator for validating this data connector.private booleanDoes DataConnector fail fast on Initialize.private final org.slf4j.LoggerClass logger.private T2Strategy for mapping search results to a collection ofIdPAttributes.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 voidGets the builder used to create executable searches.Gets the strategy for mapping from search results to a collection ofIdPAttributes.Gets the cache used to cache search results.Gets the validator used to validate this connector.booleanDoes the data connector fails fast.protected abstract Map<String,IdPAttribute> retrieveAttributes(T1 executable) Attempts to retrieve attributes from the data source.voidSets the builder used to create the executable searches.voidsetFailFastInitialize(boolean what) Whether the data connector fails fast (on initialize).voidsetMappingStrategy(T2 strategy) Sets the strategy for mapping from search results to a collection ofIdPAttributes.voidsetResultsCache(Cache<String, Map<String, IdPAttribute>> cache) Sets the cache used to cache search results.voidsetValidator(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, setExportAttributes, setFailoverDataConnectorId, setLastFail, setLastSuccess, setNoRetryDelayMethods inherited from class net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin
doDestroy, equals, getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, hashCode, isPropagateResolutionExceptions, resolve, setActivationCondition, setAttributeDependencies, setDataConnectorDependencies, setPropagateResolutionExceptionsMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentExceptionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.DestructableComponent
destroy, isDestroyedMethods inherited from interface org.springframework.beans.factory.DisposableBean
destroyMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getIdMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitializedMethods 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 ofIdPAttributes. -
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 ofIdPAttributes.- Returns:
- strategy for mapping from search results to a collection of
IdPAttributes
-
setMappingStrategy
Sets the strategy for mapping from search results to a collection ofIdPAttributes.- Parameters:
strategy- strategy for mapping from search results to a collection ofIdPAttributes
-
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 @Unmodifiable @NotLive 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 @Unmodifiable @NotLive protected Map<String,IdPAttribute> doDataConnectorResolve(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull AttributeResolverWorkContext workContext) throws ResolutionException Retrieves a collection of attributes from some data source.- Specified by:
doDataConnectorResolvein 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:
doInitializein 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
-