Class PublishProtocolMessageAction<RequestType,ResponseType>

Type Parameters:
RequestType - request
ResponseType - response
All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction, Aware, MessageSource, MessageSourceAware, Action

public class PublishProtocolMessageAction<RequestType,ResponseType> extends AbstractCASProtocolAction<RequestType,ResponseType>
Action to publish the CAS protocol request or response messages, i.e. ProtocolContext.getResponse(), in Spring Webflow flow scope to make available in views. The key name is the protocol object simple class name converted to variable case, e.g. TicketValidationResponse is accessible as flowScope.ticketValidationResponse.
  • Field Details

    • requestFlag

      private boolean requestFlag
      Request/response flag.
  • Constructor Details

    • PublishProtocolMessageAction

      public PublishProtocolMessageAction(boolean isRequest)
      Creates a new instance to publish request or response messages to Webflow request scope.
      Parameters:
      isRequest - True for request messages, false for response messages.
  • Method Details

    • doExecute

      @Nonnull protected Event doExecute(@Nonnull RequestContext springRequestContext, @Nonnull ProfileRequestContext profileRequestContext)
      Description copied from class: AbstractProfileAction
      Spring-aware actions can override this method to fully control the execution of an Action by the Web Flow engine.

      Alternatively they may override AbstractProfileAction.doExecute(ProfileRequestContext) and access Spring information via a SpringRequestContext attached to the profile request context.

      The default implementation attaches the Spring Web Flow request context to the profile request context tree to "narrow" the execution signature to the basic OpenSAML ProfileAction interface. After execution, an EventContext is sought, and used to return a result back to the Web Flow engine. If no context exists, a "proceed" event is signaled.

      Overrides:
      doExecute in class AbstractProfileAction
      Parameters:
      springRequestContext - the Spring request context
      profileRequestContext - a profile request context
      Returns:
      a Web Flow event produced by the action