Class MetadataPolicyViaLocationFetchingStrategy
- 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.oidc.metadata.impl.AbstractDynamicHTTPFetchingStrategy<Map<String,MetadataPolicy>>
-
- net.shibboleth.oidc.metadata.policy.impl.MetadataPolicyViaLocationFetchingStrategy
-
- All Implemented Interfaces:
Function<CriteriaSet,Map<String,MetadataPolicy>>,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent
public class MetadataPolicyViaLocationFetchingStrategy extends AbstractDynamicHTTPFetchingStrategy<Map<String,MetadataPolicy>> implements Function<CriteriaSet,Map<String,MetadataPolicy>>
A fetching strategy that exploitsResourceLocationCriterionfrom the givenCriteriaSetto resolve a location for metadata policy. If the value starts withhttp://orhttps://, the policy is fetched viaHttpClient. In other cases the location is expected to be a file path. Possibly existingfile:prefix is removed before loading the file.
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.private Function<byte[],List<Map<String,MetadataPolicy>>>parsingStrategyThe parsing strategy used for parsing metadata policies.-
Fields inherited from class net.shibboleth.oidc.metadata.impl.AbstractDynamicHTTPFetchingStrategy
MDC_ATTRIB_CURRENT_REQUEST_URI
-
-
Constructor Summary
Constructors Constructor Description MetadataPolicyViaLocationFetchingStrategy(org.apache.http.client.HttpClient client, org.apache.http.client.ResponseHandler<Map<String,MetadataPolicy>> handler)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,MetadataPolicy>apply(CriteriaSet criteriaSet)protected StringbuildRequestURL(CriteriaSet criteria)Build the request URL based on the input criteria set.protected voiddoInitialize()voidsetParsingStrategy(Function<byte[],List<Map<String,MetadataPolicy>>> strategy)Set the parsing strategy used for parsing metadata policies.-
Methods inherited from class net.shibboleth.oidc.metadata.impl.AbstractDynamicHTTPFetchingStrategy
getSupportedContentTypes, setHttpClientSecurityParameters, setSupportedContentTypes
-
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, 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.IdentifiedComponent
getId
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
parsingStrategy
@NonnullAfterInit private Function<byte[],List<Map<String,MetadataPolicy>>> parsingStrategy
The parsing strategy used for parsing metadata policies.
-
-
Constructor Detail
-
MetadataPolicyViaLocationFetchingStrategy
public MetadataPolicyViaLocationFetchingStrategy(org.apache.http.client.HttpClient client, org.apache.http.client.ResponseHandler<Map<String,MetadataPolicy>> handler)Constructor.- Parameters:
client- the instance ofHttpClientused to fetch remote metadata policy.handler- the response handler used to convert the HTTP response to the metadata policy.
-
-
Method Detail
-
setParsingStrategy
public void setParsingStrategy(@Nonnull Function<byte[],List<Map<String,MetadataPolicy>>> strategy)Set the parsing strategy used for parsing metadata policies.- Parameters:
strategy- What to set.
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractDynamicHTTPFetchingStrategy<Map<String,MetadataPolicy>>- Throws:
ComponentInitializationException
-
apply
@Nullable public Map<String,MetadataPolicy> apply(@Nonnull CriteriaSet criteriaSet)
- Specified by:
applyin interfaceFunction<CriteriaSet,Map<String,MetadataPolicy>>- Overrides:
applyin classAbstractDynamicHTTPFetchingStrategy<Map<String,MetadataPolicy>>
-
buildRequestURL
protected String buildRequestURL(CriteriaSet criteria)
Build the request URL based on the input criteria set.- Specified by:
buildRequestURLin classAbstractDynamicHTTPFetchingStrategy<Map<String,MetadataPolicy>>- Parameters:
criteria- the input criteria set- Returns:
- the request URL, or null if it can not be built based on the supplied criteria
-
-