Class AbstractTokenConsumerResponseAction

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public abstract class AbstractTokenConsumerResponseAction extends AbstractApplicationAction
Base class for protocol-specific "token consumer" flow actions that prepare the response for the agent when completing processing.

This class operates on the principle that most of the output of a consumer flow consists of an AttributeContext containing the data making up the results together with opaque data that accompanies the results in order to allow the agent to store and return any protocol-specific data needed for subsequent operations, primarily logout.

Subclasses are responsible for carrying out certain tasks that will be protocol- specific, such as accessing protocol state needed to recover the original resource.

The agent response will generally contain an HTTP response structure capturing a redirect to the recovered URL, the serialized attribute data, and the opaque session data.

If the response is "committed" prior to this action, then the redirect portion will be skipped in favor of the previous response.

Event:
EventIds.PROCEED_EVENT_ID
Precondition:
AgentRequestContext.getOutput().isstruct()
,
AgentRequestContext.getRemotedServletResponse() != null