Package net.shibboleth.idp.attribute.resolver.dc.saml.impl

# Class SimpleAggregationSAMLDataConnector

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.saml.impl.SimpleAggregationSAMLDataConnector

All Implemented Interfaces:
  `DataConnector`, `ResolverPlugin<Map<String,IdPAttribute>>`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `UnmodifiableComponent`, `DisposableBean`

public class SimpleAggregationSAMLDataConnector extends AbstractDataConnector
A `DataConnector` implementation which orchestrates calling `SAMLDataConnector` for each of a resolved list of attribute authority entityIDs, and aggregates the resolved attribute data.

## Field Summary

Fields
Modifier and Type
Field
Description
`private List<AttributeAuthorityEntityIDSource>`
`entityIDSources`
Sources of attribute authority entityIDs.
`private org.slf4j.Logger`
`log`
Logger.
`private SAMLDataConnector`
`queryConnector`
The SAML Data Connector which performs the actual attribute resolution operations.

## Constructor Summary

Constructors
Constructor
Description
`SimpleAggregationSAMLDataConnector()`

## Method Summary

Modifier and Type
Method
Description
`protected Map<String,IdPAttribute>`
`doDataConnectorResolve(AttributeResolutionContext resolutionContext, AttributeResolverWorkContext workContext)`
Retrieves a collection of attributes from some data source.
`protected void`
`doInitialize()`
`List<AttributeAuthorityEntityIDSource>`
`getEntityIDSources()`
Get the attribute authority entityID sources.
`SAMLDataConnector`
`getQueryConnector()`
Get the `SAMLDataConnector` instance to use.
`protected List<String>`
`resolveAuthorityEntityIDs(AttributeResolutionContext resolutionContext, AttributeResolverWorkContext workContext)`
Resolve the attribute authority entityIDs to against which to query.
`void`
`setEntityIDSources(List<AttributeAuthorityEntityIDSource> sources)`
Set the attribute authority entityID sources.
`void`
`setQueryConnector(SAMLDataConnector connector)`
Set the `SAMLDataConnector` instance to use.

### Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractDataConnector

`doResolve, getExportAttributes, getFailoverDataConnectorId, getLastFail, getLastSuccess, getLogPrefix, getNoRetryDelay, setExportAttributes, setFailoverDataConnectorId, setLastFail, setLastSuccess, setNoRetryDelay`

### Methods inherited from class net.shibboleth.idp.attribute.resolver.AbstractResolverPlugin

`doDestroy, equals, getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, hashCode, isPropagateResolutionExceptions, resolve, setActivationCondition, setAttributeDependencies, setDataConnectorDependencies, setPropagateResolutionExceptions`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent

`setId`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent

`ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, 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.shared.component.DestructableComponent

`destroy, isDestroyed`

### Methods inherited from interface org.springframework.beans.factory.DisposableBean

`destroy`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

### Methods inherited from interface net.shibboleth.idp.attribute.resolver.ResolverPlugin

`getActivationCondition, getAttributeDependencies, getDataConnectorDependencies, isPropagateResolutionExceptions, resolve`

## Field Details

### log

private org.slf4j.Logger log
Logger.

### queryConnector

@NonnullAfterInit private SAMLDataConnector queryConnector
The SAML Data Connector which performs the actual attribute resolution operations.

### entityIDSources

@Nonnull private List<AttributeAuthorityEntityIDSource> entityIDSources
Sources of attribute authority entityIDs.

## Constructor Details

### SimpleAggregationSAMLDataConnector

public SimpleAggregationSAMLDataConnector()

## Method Details

### getQueryConnector

public SAMLDataConnector getQueryConnector()
Get the `SAMLDataConnector` instance to use.

Returns:
  the data connector instance

### setQueryConnector

public void setQueryConnector(@Nullable SAMLDataConnector connector)
Set the `SAMLDataConnector` instance to use.

Parameters:
  `connector` - the data connector instance

### getEntityIDSources

@Nonnull @NotLive @Unmodifiable public List<AttributeAuthorityEntityIDSource> getEntityIDSources()
Get the attribute authority entityID sources.

Returns:
  the entityID sources

### setEntityIDSources

public void setEntityIDSources(@Nullable List<AttributeAuthorityEntityIDSource> sources)
Set the attribute authority entityID sources.

Parameters:
  `sources` - the attribute authority entityID sources

### doInitialize

protected void doInitialize() throws ComponentInitializationException

Overrides:
  `doInitialize` in class `AbstractDataConnector`
Throws:
  `ComponentInitializationException`

### 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 class `AbstractDataConnector`
Parameters:
  `resolutionContext` - current resolution context
  `workContext` - current resolver work context
Returns:
  collected attributes indexed by attribute ID
Throws:
  `ResolutionException` - thrown if there is a problem resolving the attributes

### resolveAuthorityEntityIDs

@Nonnull protected List<String> resolveAuthorityEntityIDs(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull AttributeResolverWorkContext workContext)
Resolve the attribute authority entityIDs to against which to query.

Parameters:
  `resolutionContext` - current resolution context
  `workContext` - current resolver work context
Returns:
  the effective list of entityIDs to query