java.lang.Object
edu.internet2.middleware.grouper.grouperUi.serviceLogic.UiV2Configure

public class UiV2Configure extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static org.apache.commons.logging.Log
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    if allowed to change configuration.
    boolean
    if allowed to view the configuration landing screen (the list of links) and other read-only configuration screens.
    void
    configurationFileAddConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    add config
    void
    configurationFileAddConfigSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    add config submit
    static boolean
    configurationFileAddEditHelper2(ConfigFileName configFileName, String configFileString, ConfigFileMetadata configFileMetadata, String propertyNameString, String expressionLanguageString, String valueString, Boolean userSelectedPassword, StringBuilder message, Boolean[] added, Boolean[] error, boolean fromUi, String comment, Set<GrouperConfigHibernate> grouperConfigHibernates, Set<GrouperConfigHibernate> grouperConfigHibernatesEl)
     
    void
    configurationFileExport(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
     
    void
    configurationFileImport(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    import config
    void
    configurationFileImportSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    import config submit
    static void
    configurationfileImportSubmitHelper(StringBuilder message, ConfigFileName configFileName, Properties propertiesToImport, boolean fromUi)
     
    void
    configurationFileItemDelete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    delete config
    static void
    configurationFileItemDeleteHelper(GrouperConfigHibernate grouperConfigHibernate, ConfigFileName configFileName, boolean fromUi)
    configuration file item delete helper
    void
    configurationFileItemEdit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    edit config
    void
    configurationFileItemEditSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    edit config submit
    void
    configurationFileSelectPassword(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
     
    void
    configure(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    configure
    void
    configureFilterSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    filter values
    void
    configureSelectFile(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    configure
    void
    ddlDeepCheck(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    draw the database DDL deep check screen with the run button (no compare is run on this GET, the compare runs when the user presses the button which posts to ddlDeepCheckSubmit).
    void
    ddlDeepCheckSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    run a read-only deep DDL check comparing the live database schema against the schema expected by this Grouper version, and show the result.
    void
    history(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    see the history of db configs
    void
    index(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    configure
    void
    removeProperties(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    delete selected db config items
    void
    revertConfigValues(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    revert configs to old values
    void
    upgradeTasks(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    draw the upgrade tasks screen with the load button (no work is done on this GET; the table of tasks and their status is built when the user presses the button which posts to upgradeTasksSubmit).
    void
    upgradeTasksCheckStatus(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    run the live DDL applicability check for a single upgrade task (the expensive doesUpgradeTaskHaveDdlWorkToDo check) and redraw the table with that row's status refined to "not applicable" and a detail message where appropriate.
    void
    upgradeTasksMarkComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    mark a single upgrade task complete WITHOUT running it (adds the version to the metadata group so Grouper will skip it).
    void
    upgradeTasksMarkNotComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    mark a single upgrade task NOT complete (removes the version from the metadata group so Grouper will run it again).
    void
    upgradeTasksRun(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    run a single upgrade task against the database (this MUTATES the database - it runs the task's DDL or data work) and, on success, records it complete.
    void
    upgradeTasksSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    build the table of all upgrade tasks (the UpgradeTasks enum) with their completed/not-completed status read from the metadata group.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOG

      protected static org.apache.commons.logging.Log LOG
  • Constructor Details

    • UiV2Configure

      public UiV2Configure()
  • Method Details

    • allowedToViewConfigurationIndex

      public boolean allowedToViewConfigurationIndex()
      if allowed to view the configuration landing screen (the list of links) and other read-only configuration screens. This is the lighter check: the registry config UI must be enabled and the user must be a sysadmin (wheel/root). It intentionally does NOT enforce the source IP allowlist - that restriction only applies to screens that actually change configuration (see allowedToViewConfiguration()). The configuration landing page and the read-only DDL deep check use this lighter check.
      Returns:
      true if allowed to view the configuration landing screen
    • allowedToViewConfiguration

      public boolean allowedToViewConfiguration()
      if allowed to change configuration. This is the stricter check used by the screens that actually change config: in addition to the registry config UI being enabled and the user being a sysadmin (see allowedToViewConfigurationIndex()), the request must come from an allowed source IP (grouperUi.configurationEditor.sourceIpAddresses).
      Returns:
      true if allowed to change configuration
    • index

      public void index(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      configure
      Parameters:
      request -
      response -
    • ddlDeepCheck

      public void ddlDeepCheck(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      draw the database DDL deep check screen with the run button (no compare is run on this GET, the compare runs when the user presses the button which posts to ddlDeepCheckSubmit).
      Parameters:
      request -
      response -
    • ddlDeepCheckSubmit

      public void ddlDeepCheckSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      run a read-only deep DDL check comparing the live database schema against the schema expected by this Grouper version, and show the result. This is the same comparison as gsh -registry -deep -check.
      Parameters:
      request -
      response -
    • upgradeTasks

      public void upgradeTasks(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      draw the upgrade tasks screen with the load button (no work is done on this GET; the table of tasks and their status is built when the user presses the button which posts to upgradeTasksSubmit).
      Parameters:
      request -
      response -
    • upgradeTasksSubmit

      public void upgradeTasksSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      build the table of all upgrade tasks (the UpgradeTasks enum) with their completed/not-completed status read from the metadata group. This is the cheap status (no live DDL applicability check), which the per-row "check status" action refines on demand.
      Parameters:
      request -
      response -
    • upgradeTasksCheckStatus

      public void upgradeTasksCheckStatus(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      run the live DDL applicability check for a single upgrade task (the expensive doesUpgradeTaskHaveDdlWorkToDo check) and redraw the table with that row's status refined to "not applicable" and a detail message where appropriate.
      Parameters:
      request -
      response -
    • upgradeTasksRun

      public void upgradeTasksRun(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      run a single upgrade task against the database (this MUTATES the database - it runs the task's DDL or data work) and, on success, records it complete. Then redraw the table.
      Parameters:
      request -
      response -
    • upgradeTasksMarkComplete

      public void upgradeTasksMarkComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      mark a single upgrade task complete WITHOUT running it (adds the version to the metadata group so Grouper will skip it). Then redraw the table.
      Parameters:
      request -
      response -
    • upgradeTasksMarkNotComplete

      public void upgradeTasksMarkNotComplete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      mark a single upgrade task NOT complete (removes the version from the metadata group so Grouper will run it again). Then redraw the table.
      Parameters:
      request -
      response -
    • configurationFileItemEditSubmit

      public void configurationFileItemEditSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      edit config submit
      Parameters:
      request -
      response -
    • configurationFileAddConfigSubmit

      public void configurationFileAddConfigSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      add config submit
      Parameters:
      request -
      response -
    • configurationFileAddConfig

      public void configurationFileAddConfig(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      add config
      Parameters:
      request -
      response -
    • configurationFileImport

      public void configurationFileImport(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      import config
      Parameters:
      request -
      response -
    • configurationFileExport

      public void configurationFileExport(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    • removeProperties

      public void removeProperties(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      delete selected db config items
      Parameters:
      request -
      response -
    • configurationFileItemDelete

      public void configurationFileItemDelete(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      delete config
      Parameters:
      request -
      response -
    • configurationFileItemDeleteHelper

      public static void configurationFileItemDeleteHelper(GrouperConfigHibernate grouperConfigHibernate, ConfigFileName configFileName, boolean fromUi)
      configuration file item delete helper
      Parameters:
      grouperConfigHibernate -
      configFileName -
    • configure

      public void configure(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      configure
      Parameters:
      request -
      response -
    • configurationFileSelectPassword

      public void configurationFileSelectPassword(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
    • configureFilterSubmit

      public void configureFilterSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      filter values
      Parameters:
      request -
      response -
    • configureSelectFile

      public void configureSelectFile(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      configure
      Parameters:
      request -
      response -
    • configurationFileItemEdit

      public void configurationFileItemEdit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      edit config
      Parameters:
      request -
      response -
    • history

      public void history(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      see the history of db configs
      Parameters:
      request -
      response -
    • revertConfigValues

      public void revertConfigValues(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      revert configs to old values
      Parameters:
      request -
      response -
    • configurationFileImportSubmit

      public void configurationFileImportSubmit(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
      import config submit
      Parameters:
      request -
      response -
    • configurationfileImportSubmitHelper

      public static void configurationfileImportSubmitHelper(StringBuilder message, ConfigFileName configFileName, Properties propertiesToImport, boolean fromUi)
      Parameters:
      message -
      configFileName -
      propertiesToImport -
      fromUi - true if from UI false if not from UI
    • configurationFileAddEditHelper2

      public static boolean configurationFileAddEditHelper2(ConfigFileName configFileName, String configFileString, ConfigFileMetadata configFileMetadata, String propertyNameString, String expressionLanguageString, String valueString, Boolean userSelectedPassword, StringBuilder message, Boolean[] added, Boolean[] error, boolean fromUi, String comment, Set<GrouperConfigHibernate> grouperConfigHibernates, Set<GrouperConfigHibernate> grouperConfigHibernatesEl)
      Parameters:
      configFileString -
      propertyNameString -
      expressionLanguageString -
      valueString -
      userSelectedPassword -
      message -
      added - (first index) will be true if added, false if updated, and null if no change
      error - true if fatal error, false if warning, null if no error
      fromUi - true if from UI false if not from UI
      comment - notes about settings
      Returns:
      true if ok, false if not