@Override public List<Settings> getBundleSettings(long bundleId) throws IOException { List<Settings> bundleSettings = new ArrayList<>(); Map<String, Properties> allDefaultProperties = getBundleDefaultProperties(bundleId); Map<String, Properties> allModuleEntries = configurationService.getAllBundleProperties( getBundleSymbolicName(bundleId), allDefaultProperties); for (Map.Entry<String, Properties> entry : allModuleEntries.entrySet()) { List<SettingsOption> settingsList = ParamParser.parseProperties(entry.getValue()); bundleSettings.add(new Settings(entry.getKey(), settingsList)); } return bundleSettings; }
@Override public void saveBundleSettings(Settings settings, long bundleId) throws IOException { Properties props = ParamParser.constructProperties(settings); configurationService.addOrUpdateProperties( getBundleSymbolicName(bundleId), getVersion(bundleId), settings.getSection(), props, getBundleDefaultProperties(bundleId).get(settings.getSection())); Map<String, Object> params = new HashMap<>(); params.put(ConfigurationConstants.BUNDLE_ID, bundleId); params.put(ConfigurationConstants.BUNDLE_SYMBOLIC_NAME, getBundleSymbolicName(bundleId)); params.put(ConfigurationConstants.BUNDLE_SECTION, settings.getSection()); MotechEvent bundleSettingsChangedEvent = new MotechEvent(ConfigurationConstants.BUNDLE_SETTINGS_CHANGED_EVENT_SUBJECT, params); eventRelay.sendEventMessage(bundleSettingsChangedEvent); }
@Override public AdminSettings getSettings() { MotechSettings motechSettings = configurationService.getPlatformSettings(); List<Settings> settingsList = new ArrayList<>(); AdminSettings adminSettings = new AdminSettings(settingsList, false); if (motechSettings != null) { List<SettingsOption> generalOptions = new ArrayList<>(); List<SettingsOption> securityOptions = new ArrayList<>(); List<SettingsOption> jmxOptions = new ArrayList<>(); SettingsOption languageOption = ParamParser.parseParam(ConfigurationConstants.LANGUAGE, motechSettings.getLanguage()); generalOptions.add(languageOption); SettingsOption msgOption = ParamParser.parseParam( ConfigurationConstants.STATUS_MSG_TIMEOUT, motechSettings.getStatusMsgTimeout()); generalOptions.add(msgOption); SettingsOption serverUrlOption = ParamParser.parseParam(ConfigurationConstants.SERVER_URL, motechSettings.getServerUrl()); generalOptions.add(serverUrlOption); SettingsOption uploadSizeOption = ParamParser.parseParam( ConfigurationConstants.UPLOAD_SIZE, motechSettings.getUploadSize()); generalOptions.add(uploadSizeOption); SettingsOption emailRequiredOption = ParamParser.parseParam( ConfigurationConstants.EMAIL_REQUIRED, motechSettings.getEmailRequired()); securityOptions.add(emailRequiredOption); SettingsOption sessionTimeoutOption = ParamParser.parseParam( ConfigurationConstants.SESSION_TIMEOUT, motechSettings.getSessionTimeout()); securityOptions.add(sessionTimeoutOption); SettingsOption failureLoginLimit = ParamParser.parseParam( ConfigurationConstants.FAILURE_LOGIN_LIMIT, motechSettings.getFailureLoginLimit()); securityOptions.add(failureLoginLimit); SettingsOption minPasswordLengthOption = ParamParser.parseParam( ConfigurationConstants.MIN_PASSWORD_LENGTH, motechSettings.getMinPasswordLength()); securityOptions.add(minPasswordLengthOption); SettingsOption passwordValidatorOption = ParamParser.parseParam( ConfigurationConstants.PASSWORD_VALIDATOR, motechSettings.getPasswordValidator()); securityOptions.add(passwordValidatorOption); SettingsOption passwordResetOption = ParamParser.parseParam( ConfigurationConstants.PASSWORD_RESET_DAYS, motechSettings.getNumberOfDaysToChangePassword()); securityOptions.add(passwordResetOption); SettingsOption passwordReminderOption = ParamParser.parseParam( ConfigurationConstants.PASSWORD_REMINDER, motechSettings.isPasswordResetReminderEnabled()); securityOptions.add(passwordReminderOption); SettingsOption passwordRemindDaysOption = ParamParser.parseParam( ConfigurationConstants.PASSWORD_REMINDER_DAYS, motechSettings.getNumberOfDaysForReminder()); securityOptions.add(passwordRemindDaysOption); SettingsOption jmxUrlOption = ParamParser.parseParam(ConfigurationConstants.JMX_HOST, motechSettings.getJmxHost()); jmxOptions.add(jmxUrlOption); SettingsOption jmxBrokerOption = ParamParser.parseParam(ConfigurationConstants.JMX_BROKER, motechSettings.getJmxBroker()); jmxOptions.add(jmxBrokerOption); Settings generalSettings = new Settings("general", generalOptions); Settings securitySettings = new Settings("security", securityOptions); Settings jmxSettings = new Settings("jmx", jmxOptions); settingsList.add(generalSettings); settingsList.add(securitySettings); settingsList.add(jmxSettings); if (ConfigSource.FILE.equals(configurationService.getConfigSource())) { adminSettings = new AdminSettings(settingsList, true); } else { adminSettings = new AdminSettings(settingsList, false); } } return adminSettings; }