public ConfigureAction(
      ApplicationProperties applicationProperties,
      ConfigurationManager configurationManager,
      GroupManager groupManager)
      throws Exception {
    this.applicationProperties = applicationProperties;
    this.configurationManager = configurationManager;
    this.groupManager = groupManager;

    // initialize params from saved properties
    dbHost = configurationManager.getDbHost();
    dbPort = configurationManager.getDbPort();
    database = configurationManager.getDatabase();
    username = configurationManager.getUsername();
    password = configurationManager.getPassword();
    mailRecipient = configurationManager.getMailRecipient();
    selectedReportGroups = configurationManager.getReportGroups();
    selectedHrReportGroups = configurationManager.getHrReportGroups();
    savedReportGroups =
        selectedReportGroups == null ? null : Arrays.asList(configurationManager.getReportGroups());
    savedHrReportGroups =
        selectedHrReportGroups == null
            ? null
            : Arrays.asList(configurationManager.getHrReportGroups());
  }