Class SessionSafeFunctionHandler

java.lang.Object
org.silverpeas.processmanager.servlets.SessionSafeFunctionHandler
All Implemented Interfaces:
FunctionHandler

public abstract class SessionSafeFunctionHandler extends Object implements FunctionHandler
A SessionSafeFunctionHandler must be used to prevent conflicts in HTTP Session when user navigate using several windows sharing the same session.
Author:
Ludovic Bertin
  • Constructor Details

    • SessionSafeFunctionHandler

      public SessionSafeFunctionHandler()
  • Method Details

    • getDestination

      public final String getDestination(String function, ProcessManagerSessionController session, jakarta.servlet.http.HttpServletRequest req) throws ProcessManagerException
      Description copied from interface: FunctionHandler
      Process the request and returns the response url.
      Specified by:
      getDestination in interface FunctionHandler
      Parameters:
      function - the user request name
      session - the user request context
      req - the user request params
      Throws:
      ProcessManagerException
    • generateTokenId

      protected void generateTokenId(ProcessManagerSessionController session, jakarta.servlet.http.HttpServletRequest request)
      Generate random UUID and store it in request as attribute and in process manager session controller
      Parameters:
      session - the process manager session controller
      request - the http servlet request
    • resetTokenId

      protected void resetTokenId(ProcessManagerSessionController session, jakarta.servlet.http.HttpServletRequest request)
      Reset token identifier.
      Parameters:
      session - the process manager session controller
      request - the http servlet request
    • computeDestination

      protected abstract String computeDestination(String function, ProcessManagerSessionController session, jakarta.servlet.http.HttpServletRequest request, List<org.silverpeas.core.util.file.FileItem> items) throws ProcessManagerException
      Main scenario to be implemented by handler.
      Parameters:
      function - the name of use case to realize
      session - the process manager session controller
      request - the http servlet request
      items - eventual submitted items
      Returns:
      the JSP servlet to be forwarded to.
      Throws:
      ProcessManagerException - if an error occurs while computing the next destination of the user navigation in the workflow.