Package edu.internet2.middleware.grouper.ui.actions


package edu.internet2.middleware.grouper.ui.actions

This package contains all the Struts action classes (referenced in struts-config.xml) which process user inputs and interact with the Grouper API. The Javadoc for individual action classes indicates which parameters (from HttpServletRequest), attributes (from HttpServletRequest or HttpSession) and cookies, are read or written* by an action class.

Action classes which interact with the Grouper API should extend GrouperCapableAction, which gives access to an appropriate GrouperSession and various utility methods.

When customising the Grouper UI it may be necessary to change the behaviour of an existing action. This may be achieved in one of 3 ways:

  1. If there is no alternative, write a new class and override the action configuration in struts-config.xml to use the new action class. This should only be necessary if an action carries out an irreversible operation, however, consider the remaining options first.
  2. Write a new action class which is called before or after the existing action. This may be achieved by:
    • reconfiguring forwards from other actions, however, this approach will not work if an action is usually referenced directly in HTML
    • reconfigure forwards from the action class you are modifying such that the new action class is called after the original has finished its work
    • reconfigure the existing action to have a new path. Write a new action class and configure it to have the pat hof th eoriginal action, but forward to the new path for that action.
  3. extend the existing action class and call super.grouperExecute. This allows you to execute code before and after the original action. You must override the existing Struts configuration to associate the action with your new class.

*Request parameters are usually read-only, however, where ActionForm fields are set these are considered to have been written.