How the Portal Struts Extensions work

If it is the first time that a request comes in from a browser, the following happens:
  1. A client browser points to the portal application URL.
  2. The portal application presentation layer creates and initializes the BTTWpsStrutsPortlet and BTTPortalActionServlet.
  3. The BTTPortalActionServlet reads the Struts configuration file and creates a read-only BTTModuleConfig class.
  4. The BTTPortalActionServlet uses the WpsStrutsUtil to create a BTTPortalRequestProcessor.
  5. The BTTPortalActionServlet delegates the request to the BTTPortalRequestProcessor for processing.
  6. The BTTPortalRequestProcessor populates data from the request to the Portal Struts framework. The data in the Portal request is now mapped to the context.
  7. If necessary, the BTTPortalRequestProcessor instantiates and initializes the appropriate validation class to validate the data in the context.
  8. The BTTPortalRequestProcessor creates the prosessor CHA context, chains it to the session CHA context, and generates the Processor ID.
  9. The BTTPortalRequestProcessor sets the processor CHA context to the HTTP session with the Processor ID.
  10. If Action Conditions definition is specified with action, the Condition Processor starts and executes each condition defined and feed back correct path as condition executed result.
  11. BTTPortalRequestProcessor determinates the Struts Action type: common Struts Action or Portal Struts Action.
  12. The framework calls the execute method of the appropriate Action (BTT Struts Extension Action or BTT Portal Struts Extension Action). The action then calls a business process or a Single Action EJB in the application logic layer to process the request.
  13. According to the response from the application logic layer, the action returns an ActionForward. The ActionForward indicates the next activity to perform.
If it is not the first time that a request comes in from a browser, the following happens:
  1. A client browser points to the portal application URL.
  2. The application presentation layer calls the service method of BTTPortalActionServlet.
  3. The BTTPortalActionServlet retrieves the appropriate ActionConfig class for the request.
  4. The BTTPortalActionServlet retrieves the appropriate BTTPortalRequestProcessor and delegate the request to the BTTPortalRequestProcessor for handling.
  5. The BTTPortalRequestProcessor populates data from the request to the Portal Struts framework. The data in the Portal request is now mapped to the context.
  6. If necessary, the BTTPortalRequestProcessor instantiates and initializes the appropriate validation class to validate the data in the context.
  7. If Action Conditions definition is specified with action, Condition Processor will be started and execute each condition defined and feed back correct path as condition executed result.
  8. BTTPortalRequestProcessor will determinate the Struts Action type: common Struts Action or Portal Struts Action.
  9. The framework calls the execute method of the appropriate Action (BTT Struts Extension Action or BTT Portal Struts Extension Action). The action then calls a business process or a Single Action EJB in the application logic layer to process the request.
  10. According to the response from the application logic layer, the action returns an ActionForward. The ActionForward indicates the next activity to perform.