Example usage for com.liferay.portal.kernel.util LocalizationUtil setPreferencesValue

List of usage examples for com.liferay.portal.kernel.util LocalizationUtil setPreferencesValue

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util LocalizationUtil setPreferencesValue.

Prototype

public static void setPreferencesValue(PortletPreferences preferences, String key, String languageId,
            String value) throws Exception 

Source Link

Usage

From source file:com.fmdp.webform.action.ConfigurationActionImpl.java

License:Open Source License

@Override
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {

    validateFields(actionRequest);// ww  w.j  a va2s.  c  o m

    //      boolean uploadToDM = ParamUtil.getBoolean(actionRequest,
    //            "uploadToDM");
    //      String uploadDiskDir = ParamUtil.getString(
    //                  actionRequest, "uploadDiskDir");
    long newFolderId = ParamUtil.getLong(actionRequest, "newFolderId");

    if (!SessionErrors.isEmpty(actionRequest)) {
        return;
    }

    Locale defaultLocale = LocaleUtil.getDefault();
    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);

    boolean updateFields = ParamUtil.getBoolean(actionRequest, "updateFields");

    String portletResource = ParamUtil.getString(actionRequest, "portletResource");

    PortletPreferences preferences = actionRequest.getPreferences();

    //      preferences.setValue("uploadToDisk", String.valueOf(uploadToDisk));
    //      preferences.setValue("uploadDiskDir", uploadDiskDir);

    LocalizationUtil.setLocalizedPreferencesValues(actionRequest, preferences, "title");
    LocalizationUtil.setLocalizedPreferencesValues(actionRequest, preferences, "description");

    if (updateFields) {
        int i = 1;
        boolean uploadToDisk = ParamUtil.getBoolean(actionRequest, "uploadToDisk");
        boolean uploadToDM = ParamUtil.getBoolean(actionRequest, "uploadToDM");
        boolean uploadIsWanted = uploadToDisk || uploadToDM;

        boolean isFileUpload = false;
        int howManyFileUploadFields = 0;

        String databaseTableName = WebFormUtil.getNewDatabaseTableName(portletResource);

        preferences.setValue("databaseTableName", databaseTableName);
        preferences.setValue("uploadToDisk", String.valueOf(uploadToDisk));
        preferences.setValue("uploadToDM", String.valueOf(uploadToDM));
        preferences.setValue("newFolderId", String.valueOf(newFolderId));

        int[] formFieldsIndexes = StringUtil.split(ParamUtil.getString(actionRequest, "formFieldsIndexes"), 0);

        for (int formFieldsIndex : formFieldsIndexes) {
            Map<Locale, String> fieldLabelMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldLabel" + formFieldsIndex);

            if (Validator.isNull(fieldLabelMap.get(defaultLocale))) {
                continue;
            }

            String fieldType = ParamUtil.getString(actionRequest, "fieldType" + formFieldsIndex);

            if ("file".equals(fieldType)) {
                isFileUpload = true;
                howManyFileUploadFields++;
            }

            if (howManyFileUploadFields > 1) {
                SessionErrors.add(actionRequest, "tooManyFileUploadFields" + i);
            }
            boolean fieldOptional = ParamUtil.getBoolean(actionRequest, "fieldOptional" + formFieldsIndex);
            Map<Locale, String> fieldOptionsMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldOptions" + formFieldsIndex);
            String fieldValidationScript = ParamUtil.getString(actionRequest,
                    "fieldValidationScript" + formFieldsIndex);
            String fieldValidationErrorMessage = ParamUtil.getString(actionRequest,
                    "fieldValidationErrorMessage" + formFieldsIndex);

            if (Validator.isNotNull(fieldValidationScript) ^ Validator.isNotNull(fieldValidationErrorMessage)) {

                SessionErrors.add(actionRequest, "validationDefinitionInvalid" + i);
            }

            updateModifiedLocales("fieldLabel" + i, fieldLabelMap, preferences);
            updateModifiedLocales("fieldOptions" + i, fieldOptionsMap, preferences);

            preferences.setValue("fieldType" + i, fieldType);
            preferences.setValue("fieldOptional" + i, String.valueOf(fieldOptional));
            preferences.setValue("fieldValidationScript" + i, fieldValidationScript);
            preferences.setValue("fieldValidationErrorMessage" + i, fieldValidationErrorMessage);

            i++;
        }

        preferences.setValue("isFileUpload", String.valueOf(isFileUpload));
        if (!uploadIsWanted && isFileUpload) {
            SessionErrors.add(actionRequest, "uploadMethodUndefined");
        }
        if (!SessionErrors.isEmpty(actionRequest)) {
            return;
        }

        // Clear previous preferences that are now blank

        String fieldLabel = LocalizationUtil.getPreferencesValue(preferences, "fieldLabel" + i,
                defaultLanguageId);

        while (Validator.isNotNull(fieldLabel)) {
            Map<Locale, String> fieldLabelMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldLabel" + i);

            for (Locale locale : fieldLabelMap.keySet()) {
                String languageId = LocaleUtil.toLanguageId(locale);

                LocalizationUtil.setPreferencesValue(preferences, "fieldLabel" + i, languageId,
                        StringPool.BLANK);

                LocalizationUtil.setPreferencesValue(preferences, "fieldOptions" + i, languageId,
                        StringPool.BLANK);
            }

            preferences.setValue("fieldType" + i, StringPool.BLANK);
            preferences.setValue("fieldOptional" + i, StringPool.BLANK);
            preferences.setValue("fieldValidationScript" + i, StringPool.BLANK);
            preferences.setValue("fieldValidationErrorMessage" + i, StringPool.BLANK);

            i++;

            fieldLabel = LocalizationUtil.getPreferencesValue(preferences, "fieldLabel" + i, defaultLanguageId);
        }
    }

    if (SessionErrors.isEmpty(actionRequest)) {
        preferences.store();
    }

    super.processAction(portletConfig, actionRequest, actionResponse);
}

From source file:com.fmdp.webform.action.ConfigurationActionImpl.java

License:Open Source License

protected void updateModifiedLocales(String parameter, Map<Locale, String> newLocalizationMap,
        PortletPreferences preferences) throws Exception {

    Map<Locale, String> oldLocalizationMap = LocalizationUtil.getLocalizationMap(preferences, parameter);

    List<Locale> modifiedLocales = LocalizationUtil.getModifiedLocales(oldLocalizationMap, newLocalizationMap);

    for (Locale locale : modifiedLocales) {
        String languageId = LocaleUtil.toLanguageId(locale);
        String value = newLocalizationMap.get(locale);

        LocalizationUtil.setPreferencesValue(preferences, parameter, languageId, value);
    }/*from w w  w.j a  v  a 2  s .co  m*/
}

From source file:com.liferay.journal.subscriptions.test.JournalSubscriptionLocalizedContentTest.java

License:Open Source License

@Override
protected void setBaseModelSubscriptionBodyPreferences(String bodyPreferenceName) throws Exception {

    PortletPreferences portletPreferences = PortletPreferencesFactoryUtil.getStrictPortletSetup(layout,
            getServiceName());/*  ww  w  .  ja va  2s.  c om*/

    LocalizationUtil.setPreferencesValue(portletPreferences, bodyPreferenceName,
            LocaleUtil.toLanguageId(LocaleUtil.GERMANY), GERMAN_BODY);
    LocalizationUtil.setPreferencesValue(portletPreferences, bodyPreferenceName,
            LocaleUtil.toLanguageId(LocaleUtil.SPAIN), SPANISH_BODY);

    PortletPreferencesLocalServiceUtil.updatePreferences(group.getGroupId(), PortletKeys.PREFS_OWNER_TYPE_GROUP,
            PortletKeys.PREFS_PLID_SHARED, getServiceName(), portletPreferences);
}

From source file:com.liferay.webform.action.ConfigurationActionImpl.java

License:Open Source License

@Override
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse) throws Exception {

    validateFields(actionRequest);//from w  w  w. j av  a  2 s .  c o m

    if (!SessionErrors.isEmpty(actionRequest)) {
        return;
    }

    Locale defaultLocale = LocaleUtil.getDefault();
    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);

    boolean updateFields = ParamUtil.getBoolean(actionRequest, "updateFields");

    String portletResource = ParamUtil.getString(actionRequest, "portletResource");

    PortletPreferences preferences = actionRequest.getPreferences();

    LocalizationUtil.setLocalizedPreferencesValues(actionRequest, preferences, "title");
    LocalizationUtil.setLocalizedPreferencesValues(actionRequest, preferences, "description");

    if (updateFields) {
        int i = 1;

        String databaseTableName = WebFormUtil.getNewDatabaseTableName(portletResource);

        preferences.setValue("databaseTableName", databaseTableName);

        int[] formFieldsIndexes = StringUtil.split(ParamUtil.getString(actionRequest, "formFieldsIndexes"), 0);

        for (int formFieldsIndex : formFieldsIndexes) {
            Map<Locale, String> fieldLabelMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldLabel" + formFieldsIndex);

            if (Validator.isNull(fieldLabelMap.get(defaultLocale))) {
                continue;
            }

            String fieldType = ParamUtil.getString(actionRequest, "fieldType" + formFieldsIndex);
            boolean fieldOptional = ParamUtil.getBoolean(actionRequest, "fieldOptional" + formFieldsIndex);
            Map<Locale, String> fieldOptionsMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldOptions" + formFieldsIndex);
            String fieldValidationScript = ParamUtil.getString(actionRequest,
                    "fieldValidationScript" + formFieldsIndex);
            String fieldValidationErrorMessage = ParamUtil.getString(actionRequest,
                    "fieldValidationErrorMessage" + formFieldsIndex);

            if (Validator.isNotNull(fieldValidationScript) ^ Validator.isNotNull(fieldValidationErrorMessage)) {

                SessionErrors.add(actionRequest, "validationDefinitionInvalid" + i);
            }

            updateModifiedLocales("fieldLabel" + i, fieldLabelMap, preferences);
            updateModifiedLocales("fieldOptions" + i, fieldOptionsMap, preferences);

            preferences.setValue("fieldType" + i, fieldType);
            preferences.setValue("fieldOptional" + i, String.valueOf(fieldOptional));
            preferences.setValue("fieldValidationScript" + i, fieldValidationScript);
            preferences.setValue("fieldValidationErrorMessage" + i, fieldValidationErrorMessage);

            i++;
        }

        if (!SessionErrors.isEmpty(actionRequest)) {
            return;
        }

        // Clear previous preferences that are now blank

        String fieldLabel = LocalizationUtil.getPreferencesValue(preferences, "fieldLabel" + i,
                defaultLanguageId);

        while (Validator.isNotNull(fieldLabel)) {
            Map<Locale, String> fieldLabelMap = LocalizationUtil.getLocalizationMap(actionRequest,
                    "fieldLabel" + i);

            for (Locale locale : fieldLabelMap.keySet()) {
                String languageId = LocaleUtil.toLanguageId(locale);

                LocalizationUtil.setPreferencesValue(preferences, "fieldLabel" + i, languageId,
                        StringPool.BLANK);

                LocalizationUtil.setPreferencesValue(preferences, "fieldOptions" + i, languageId,
                        StringPool.BLANK);
            }

            preferences.setValue("fieldType" + i, StringPool.BLANK);
            preferences.setValue("fieldOptional" + i, StringPool.BLANK);
            preferences.setValue("fieldValidationScript" + i, StringPool.BLANK);
            preferences.setValue("fieldValidationErrorMessage" + i, StringPool.BLANK);

            i++;

            fieldLabel = LocalizationUtil.getPreferencesValue(preferences, "fieldLabel" + i, defaultLanguageId);
        }
    }

    if (SessionErrors.isEmpty(actionRequest)) {
        preferences.store();
    }

    super.processAction(portletConfig, actionRequest, actionResponse);
}