Package org.opensaml.saml.saml1.profile.impl

# Class ResolveArtifacts

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml1.profile.impl.ResolveArtifacts

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`

public class ResolveArtifacts extends AbstractProfileAction
Action that resolves SAML 1.x artifacts inside a `Request` located via a lookup strategy, by default from the inbound message context, and maps them to the corresponding assertions.

The assertions are added to a `Response` located via a lookup strategy, by default from the outbound message context.

Event:
  `EventIds.PROCEED_EVENT_ID`, `EventIds.INVALID_MSG_CTX`, `EventIds.INVALID_PROFILE_CTX`, `SAMLEventIds.UNABLE_RESOLVE_ARTIFACT`

## Field Summary

Fields
Modifier and Type
Field
Description
`private SAMLArtifactMap`
`artifactMap`
Artifact mapper.
`private String`
`issuerId`
Identity of issuer.
`private Function<ProfileRequestContext,String>`
`issuerLookupStrategy`
Strategy used to locate the issuer identity to validate against artifact entries.
`private org.slf4j.Logger`
`log`
Class logger.
`private Request`
`request`
Request to process.
`private String`
`requesterId`
Identity of requester.
`private Function<ProfileRequestContext,String>`
`requesterLookupStrategy`
Strategy used to locate the requester identity to validate against artifact entries.
`private Function<ProfileRequestContext,Request>`
`requestLookupStrategy`
Strategy used to locate the `Request` to operate on.
`private Response`
`response`
Response to populate.
`private Function<ProfileRequestContext,Response>`
`responseLookupStrategy`
Strategy used to locate the `Response` to operate on.

## Constructor Summary

Constructors
Constructor
Description
`ResolveArtifacts()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
Performs this action.
`protected void`
`doInitialize()`
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
Called prior to execution, actions may override this method to perform pre-processing for a request.
`void`
`setArtifactMap(SAMLArtifactMap map)`
Set the artifact map to use.
`void`
`setIssuerLookupStrategy(Function<ProfileRequestContext,String> strategy)`
Set the strategy used to locate the issuer's identity.
`void`
`setRequesterLookupStrategy(Function<ProfileRequestContext,String> strategy)`
Set the strategy used to locate the requester's identity.
`void`
`setRequestLookupStrategy(Function<ProfileRequestContext,Request> strategy)`
Set the strategy used to locate the `Request` to operate on.
`void`
`setResponseLookupStrategy(Function<ProfileRequestContext,Response> strategy)`
Set the strategy used to locate the `Response` to operate on.

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

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

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, 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.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Class logger.

### requestLookupStrategy

@Nonnull private Function<ProfileRequestContext,Request> requestLookupStrategy
Strategy used to locate the `Request` to operate on.

### responseLookupStrategy

@Nonnull private Function<ProfileRequestContext,Response> responseLookupStrategy
Strategy used to locate the `Response` to operate on.

### issuerLookupStrategy

@NonnullAfterInit private Function<ProfileRequestContext,String> issuerLookupStrategy
Strategy used to locate the issuer identity to validate against artifact entries.

### requesterLookupStrategy

@Nonnull private Function<ProfileRequestContext,String> requesterLookupStrategy
Strategy used to locate the requester identity to validate against artifact entries.

### artifactMap

@NonnullAfterInit private SAMLArtifactMap artifactMap
Artifact mapper.

### request

@NonnullBeforeExec private Request request
Request to process.

### response

@NonnullBeforeExec private Response response
Response to populate.

### issuerId

@NonnullBeforeExec private String issuerId
Identity of issuer.

### requesterId

@NonnullBeforeExec private String requesterId
Identity of requester.

## Constructor Details

### ResolveArtifacts

public ResolveArtifacts()
Constructor.

## Method Details

### setRequestLookupStrategy

public void setRequestLookupStrategy(@Nonnull Function<ProfileRequestContext,Request> strategy)
Set the strategy used to locate the `Request` to operate on.

Parameters:
  `strategy` - lookup strategy

### setResponseLookupStrategy

public void setResponseLookupStrategy(@Nonnull Function<ProfileRequestContext,Response> strategy)
Set the strategy used to locate the `Response` to operate on.

Parameters:
  `strategy` - lookup strategy

### setIssuerLookupStrategy

public void setIssuerLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the issuer's identity.

Parameters:
  `strategy` - lookup strategy

### setRequesterLookupStrategy

public void setRequesterLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
Set the strategy used to locate the requester's identity.

Parameters:
  `strategy` - lookup strategy

### setArtifactMap

public void setArtifactMap(@Nonnull SAMLArtifactMap map)
Set the artifact map to use.

Parameters:
  `map` - artifact map

### doInitialize

protected void doInitialize() throws ComponentInitializationException

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

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
Called prior to execution, actions may override this method to perform pre-processing for a request.

If false is returned, execution will not proceed, and the action should attach an `EventContext` to the context tree to signal how to continue with overall workflow processing.

If returning successfully, the last step should be to return the result of the superclass version of this method.

Overrides:
  `doPreExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
Returns:
  true iff execution should proceed

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
Performs this action. Actions must override this method to perform their work.

Overrides:
  `doExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context