public class AddSubjectConfirmationToSubjects extends AbstractProfileAction
SubjectConfirmation and adds it to the Subject of all the statements
in all the assertions found in a Response. The message to update is returned by a lookup
strategy, by default the message returned by InOutOperationContext.getOutboundMessageContext().
No assertions or statements will be created by this action, but if no Subject exists in
the statements found, it will be created.
| Modifier and Type | Field and Description |
|---|---|
private boolean |
artifactProfile
Flag indicating whether the outbound message is being issued via the Artifact profile.
|
private SAMLObjectBuilder<SubjectConfirmation> |
confirmationBuilder
Builder for SubjectConfirmation objects.
|
private SAMLObjectBuilder<ConfirmationMethod> |
confirmationMethodBuilder
Builder for ConfirmationMethod objects.
|
private java.util.Collection<java.lang.String> |
confirmationMethods
Methods to add.
|
private org.slf4j.Logger |
log
Class logger.
|
private boolean |
overwriteExisting
Flag controlling whether to overwrite an existing confirmation.
|
private Response |
response
Response to modify.
|
private com.google.common.base.Function<ProfileRequestContext,Response> |
responseLookupStrategy
Strategy used to locate the
Response to operate on. |
private SAMLObjectBuilder<Subject> |
subjectBuilder
Builder for Subject objects.
|
| Constructor and Description |
|---|
AddSubjectConfirmationToSubjects()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private SubjectConfirmation |
cloneConfirmation(SubjectConfirmation confirmation)
Create an efficient field-wise copy of a
SubjectConfirmation. |
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.
|
private Subject |
getStatementSubject(SubjectStatement statement)
Get the subject to which the confirmation will be added.
|
void |
setMethods(java.util.Collection<java.lang.String> methods)
Set the confirmation methods to use.
|
void |
setOverwriteExisting(boolean flag)
Set whether to overwrite any existing
SubjectConfirmation objects found. |
void |
setResponseLookupStrategy(com.google.common.base.Function<ProfileRequestContext,Response> strategy)
Set the strategy used to locate the
Response to operate on. |
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponsedestroy, doDestroy, initialize, isDestroyed, isInitialized@Nonnull private final org.slf4j.Logger log
@Nonnull private final SAMLObjectBuilder<Subject> subjectBuilder
@Nonnull private final SAMLObjectBuilder<SubjectConfirmation> confirmationBuilder
@Nonnull private final SAMLObjectBuilder<ConfirmationMethod> confirmationMethodBuilder
private boolean overwriteExisting
@Nonnull private com.google.common.base.Function<ProfileRequestContext,Response> responseLookupStrategy
Response to operate on.@Nonnull @NonnullElements private java.util.Collection<java.lang.String> confirmationMethods
@Nullable private Response response
private boolean artifactProfile
public AddSubjectConfirmationToSubjects()
public void setOverwriteExisting(boolean flag)
SubjectConfirmation objects found.flag - true iff the action should overwrite any existing objectspublic void setResponseLookupStrategy(@Nonnull
com.google.common.base.Function<ProfileRequestContext,Response> strategy)
Response to operate on.strategy - strategy used to locate the Response to operate onpublic void setMethods(@Nonnull @NonnullElements
java.util.Collection<java.lang.String> methods)
methods - confirmation methods to useprotected void doInitialize()
throws net.shibboleth.utilities.java.support.component.ComponentInitializationException
doInitialize in class net.shibboleth.utilities.java.support.component.AbstractInitializableComponentnet.shibboleth.utilities.java.support.component.ComponentInitializationExceptionprotected boolean doPreExecute(@Nonnull
ProfileRequestContext profileRequestContext)
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.
doPreExecute in class AbstractProfileActionprofileRequestContext - the current IdP profile request contextprotected void doExecute(@Nonnull
ProfileRequestContext profileRequestContext)
doExecute in class AbstractProfileActionprofileRequestContext - the current IdP profile request context@Nonnull private Subject getStatementSubject(@Nonnull SubjectStatement statement)
statement - the statement being modified@Nonnull private SubjectConfirmation cloneConfirmation(@Nonnull SubjectConfirmation confirmation)
SubjectConfirmation.confirmation - the object to clone