Class AbstractResponseShellAction<MessageType extends StatusResponseType>
java.lang.Object
net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml2.profile.impl.AbstractResponseShellAction<MessageType>
- Type Parameters:
MessageType
- the actual message type
- All Implemented Interfaces:
Component
,DestructableComponent
,InitializableComponent
,ProfileAction
public abstract class AbstractResponseShellAction<MessageType extends StatusResponseType>
extends AbstractProfileAction
Abstract action that creates an empty object derived from
StatusResponseType
,
and sets it as the message returned by InOutOperationContext.getOutboundMessageContext()
.
The Status
is set to StatusCode.SUCCESS
as a default assumption,
and this can be overridden by subsequent actions.
If an issuer value is returned via a lookup strategy, then it's set as the Issuer of the message.
- Event:
EventIds.PROCEED_EVENT_ID
,EventIds.INVALID_MSG_CTX
- Postcondition:
- ProfileRequestContext.getOutboundMessageContext().getMessage() != null
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate IdentifierGenerationStrategy
The generator to use.Strategy used to locate theIdentifierGenerationStrategy
to use.private String
EntityID to populate into Issuer element.private Function<ProfileRequestContext,
String> Strategy used to obtain the response issuer value.private org.slf4j.Logger
Class logger.private boolean
Overwrite an existing message? -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doExecute
(ProfileRequestContext profileRequestContext) Performs this action.protected boolean
doPreExecute
(ProfileRequestContext profileRequestContext) Called prior to execution, actions may override this method to perform pre-processing for a request.protected abstract QName
Get the type of message to build.void
setIdentifierGeneratorLookupStrategy
(Function<ProfileRequestContext, IdentifierGenerationStrategy> strategy) Set the strategy used to locate theIdentifierGenerationStrategy
to use.void
Set the strategy used to locate the issuer value to use.void
setOverwriteExisting
(boolean flag) Set whether to overwrite an existing message.Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, 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.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private org.slf4j.Logger logClass logger. -
overwriteExisting
private boolean overwriteExistingOverwrite an existing message? -
idGeneratorLookupStrategy
@Nonnull private Function<ProfileRequestContext,IdentifierGenerationStrategy> idGeneratorLookupStrategyStrategy used to locate theIdentifierGenerationStrategy
to use. -
issuerLookupStrategy
Strategy used to obtain the response issuer value. -
idGenerator
The generator to use. -
issuerId
EntityID to populate into Issuer element.
-
-
Constructor Details
-
AbstractResponseShellAction
public AbstractResponseShellAction()Constructor.
-
-
Method Details
-
setOverwriteExisting
public void setOverwriteExisting(boolean flag) Set whether to overwrite an existing message.- Parameters:
flag
- flag to set
-
setIdentifierGeneratorLookupStrategy
public void setIdentifierGeneratorLookupStrategy(@Nonnull Function<ProfileRequestContext, IdentifierGenerationStrategy> strategy) Set the strategy used to locate theIdentifierGenerationStrategy
to use.- Parameters:
strategy
- lookup strategy
-
setIssuerLookupStrategy
Set the strategy used to locate the issuer value to use.- Parameters:
strategy
- lookup strategy
-
doPreExecute
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 classAbstractProfileAction
- Parameters:
profileRequestContext
- the current IdP profile request context- Returns:
- true iff execution should proceed
-
doExecute
Performs this action. Actions must override this method to perform their work.- Overrides:
doExecute
in classAbstractProfileAction
- Parameters:
profileRequestContext
- the current IdP profile request context
-
getMessageType
Get the type of message to build.- Returns:
- the type of message
-