Example usage for com.liferay.portal.kernel.util LocaleThreadLocal setDefaultLocale

List of usage examples for com.liferay.portal.kernel.util LocaleThreadLocal setDefaultLocale

Introduction

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

Prototype

public static void setDefaultLocale(Locale locale) 

Source Link

Usage

From source file:com.liferay.journal.internal.upgrade.v0_0_3.UpgradeJournalArticleType.java

License:Open Source License

protected void updateArticleType() throws Exception {
    try (LoggingTimer loggingTimer = new LoggingTimer()) {
        if (!hasSelectedArticleTypes()) {
            return;
        }/*from w  ww  .j  a v  a2s. c  o m*/

        List<String> types = getArticleTypes();

        if (types.size() <= 0) {
            return;
        }

        Locale localeThreadLocalDefaultLocale = LocaleThreadLocal.getDefaultLocale();

        try {
            List<Company> companies = _companyLocalService.getCompanies();

            for (Company company : companies) {
                LocaleThreadLocal.setDefaultLocale(company.getLocale());

                Set<Locale> locales = LanguageUtil.getAvailableLocales(company.getGroupId());

                Locale defaultLocale = LocaleUtil
                        .fromLanguageId(UpgradeProcessUtil.getDefaultLanguageId(company.getCompanyId()));

                Map<Locale, String> nameMap = LocalizationUtil.getLocalizationMap(locales, defaultLocale,
                        "type");

                AssetVocabulary assetVocabulary = addAssetVocabulary(company.getGroupId(),
                        company.getCompanyId(), "type", nameMap, new HashMap<Locale, String>());

                Map<String, Long> journalArticleTypesToAssetCategoryIds = new HashMap<>();

                for (String type : types) {
                    AssetCategory assetCategory = addAssetCategory(company.getGroupId(), company.getCompanyId(),
                            type, assetVocabulary.getVocabularyId());

                    journalArticleTypesToAssetCategoryIds.put(type, assetCategory.getCategoryId());
                }

                updateArticles(company.getCompanyId(), journalArticleTypesToAssetCategoryIds);
            }
        } finally {
            LocaleThreadLocal.setDefaultLocale(localeThreadLocalDefaultLocale);
        }
    }
}