Class AddSubjectConfirmationToSubjects
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.saml.saml1.profile.impl.AddSubjectConfirmationToSubjects
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
public class AddSubjectConfirmationToSubjects extends AbstractProfileAction
Action that buildsSubjectConfirmationand adds it to theSubjectof all the statements in all the assertions found in aResponse. The message to update is returned by a lookup strategy, by default the message returned byInOutOperationContext.getOutboundMessageContext().No assertions or statements will be created by this action, but if no
Subjectexists in the statements found, it will be created.
-
-
Field Summary
Fields Modifier and Type Field Description private booleanartifactProfileFlag indicating whether the outbound message is being issued via the Artifact profile.private SAMLObjectBuilder<SubjectConfirmation>confirmationBuilderBuilder for SubjectConfirmation objects.private SAMLObjectBuilder<ConfirmationMethod>confirmationMethodBuilderBuilder for ConfirmationMethod objects.private Collection<String>confirmationMethodsMethods to add.private org.slf4j.LoggerlogClass logger.private booleanoverwriteExistingFlag controlling whether to overwrite an existing confirmation.private ResponseresponseResponse to modify.private Function<ProfileRequestContext,Response>responseLookupStrategyStrategy used to locate theResponseto operate on.private SAMLObjectBuilder<Subject>subjectBuilderBuilder for Subject objects.
-
Constructor Summary
Constructors Constructor Description AddSubjectConfirmationToSubjects()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private SubjectConfirmationcloneConfirmation(SubjectConfirmation confirmation)Create an efficient field-wise copy of aSubjectConfirmation.protected voiddoExecute(ProfileRequestContext profileRequestContext)protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)private SubjectgetStatementSubject(SubjectStatement statement)Get the subject to which the confirmation will be added.voidsetMethods(Collection<String> methods)Set the confirmation methods to use.voidsetOverwriteExisting(boolean flag)Set whether to overwrite any existingSubjectConfirmationobjects found.voidsetResponseLookupStrategy(Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate theResponseto operate on.-
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, 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 Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
subjectBuilder
@Nonnull private final SAMLObjectBuilder<Subject> subjectBuilder
Builder for Subject objects.
-
confirmationBuilder
@Nonnull private final SAMLObjectBuilder<SubjectConfirmation> confirmationBuilder
Builder for SubjectConfirmation objects.
-
confirmationMethodBuilder
@Nonnull private final SAMLObjectBuilder<ConfirmationMethod> confirmationMethodBuilder
Builder for ConfirmationMethod objects.
-
overwriteExisting
private boolean overwriteExisting
Flag controlling whether to overwrite an existing confirmation.
-
responseLookupStrategy
@Nonnull private Function<ProfileRequestContext,Response> responseLookupStrategy
Strategy used to locate theResponseto operate on.
-
confirmationMethods
@Nonnull @NonnullElements private Collection<String> confirmationMethods
Methods to add.
-
response
@Nullable private Response response
Response to modify.
-
artifactProfile
private boolean artifactProfile
Flag indicating whether the outbound message is being issued via the Artifact profile.
-
-
Method Detail
-
setOverwriteExisting
public void setOverwriteExisting(boolean flag)
Set whether to overwrite any existingSubjectConfirmationobjects found.- Parameters:
flag- true iff the action should overwrite any existing objects
-
setResponseLookupStrategy
public void setResponseLookupStrategy(@Nonnull Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate theResponseto operate on.- Parameters:
strategy- strategy used to locate theResponseto operate on
-
setMethods
public void setMethods(@Nonnull @NonnullElements Collection<String> methods)
Set the confirmation methods to use.- Parameters:
methods- confirmation methods to use
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doPreExecutein classAbstractProfileAction
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)- Overrides:
doExecutein classAbstractProfileAction
-
getStatementSubject
@Nonnull private Subject getStatementSubject(@Nonnull SubjectStatement statement)
Get the subject to which the confirmation will be added.- Parameters:
statement- the statement being modified- Returns:
- the subject to which the confirmation will be added
-
cloneConfirmation
@Nonnull private SubjectConfirmation cloneConfirmation(@Nonnull SubjectConfirmation confirmation)
Create an efficient field-wise copy of aSubjectConfirmation.- Parameters:
confirmation- the object to clone- Returns:
- the copy
-
-