@Override public Settings getSettings() throws SettingsException { CompanyServiceSettingsLocator companyServiceSettingsLocator = new CompanyServiceSettingsLocator( getCompanyId(_groupId), _settingsId, _configurationPid); Settings groupConfigurationBeanSettings = _settingsLocatorHelper.getGroupConfigurationBeanSettings( _groupId, _configurationPid, companyServiceSettingsLocator.getSettings()); return _settingsLocatorHelper.getGroupPortletPreferencesSettings( _groupId, _settingsId, groupConfigurationBeanSettings); }
protected Settings getSettings(ActionRequest actionRequest) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay)actionRequest.getAttribute( WebKeys.THEME_DISPLAY); String serviceName = ParamUtil.getString(actionRequest, "serviceName"); String settingsScope = ParamUtil.getString( actionRequest, "settingsScope"); if (settingsScope.equals("company")) { return SettingsFactoryUtil.getSettings( new CompanyServiceSettingsLocator( themeDisplay.getCompanyId(), serviceName)); } else if (settingsScope.equals("group")) { return SettingsFactoryUtil.getSettings( new GroupServiceSettingsLocator( themeDisplay.getScopeGroupId(), serviceName)); } else if (settingsScope.equals("portletInstance")) { String portletResource = ParamUtil.getString( actionRequest, "portletResource"); return SettingsFactoryUtil.getSettings( new PortletInstanceSettingsLocator( themeDisplay.getLayout(), portletResource)); } throw new IllegalArgumentException( "Invalid settings scope " + settingsScope); }
protected void storeSettings( ActionRequest actionRequest, ThemeDisplay themeDisplay) throws IOException, SettingsException, ValidatorException { Settings settings = SettingsFactoryUtil.getSettings( new CompanyServiceSettingsLocator( themeDisplay.getCompanyId(), getSettingsId())); ModifiableSettings modifiableSettings = settings.getModifiableSettings(); SettingsDescriptor settingsDescriptor = SettingsFactoryUtil.getSettingsDescriptor(getSettingsId()); for (String name : settingsDescriptor.getAllKeys()) { String value = getString(actionRequest, name); if (value.equals(Portal.TEMP_OBFUSCATION_VALUE)) { continue; } String oldValue = settings.getValue(name, null); if (!value.equals(oldValue)) { modifiableSettings.setValue(name, value); } } modifiableSettings.store(); }
protected void storeSettings( ActionRequest actionRequest, ThemeDisplay themeDisplay) throws IOException, SettingsException, ValidatorException { Settings settings = SettingsFactoryUtil.getSettings( new CompanyServiceSettingsLocator( themeDisplay.getCompanyId(), getSettingsId())); ModifiableSettings modifiableSettings = settings.getModifiableSettings(); SettingsDescriptor settingsDescriptor = SettingsFactoryUtil.getSettingsDescriptor(getSettingsId()); for (String name : settingsDescriptor.getAllKeys()) { String value = getString(actionRequest, name); if (value.equals(Portal.TEMP_OBFUSCATION_VALUE)) { continue; } String oldValue = settings.getValue(name, null); if (!value.equals(oldValue)) { modifiableSettings.setValue(name, value); } } modifiableSettings.store(); }