/portal-service/src/com/liferay/portal/kernel/util/LocalizationUtil.java

http://github.com/liferay/liferay-portal · Java · 287 lines · 190 code · 73 blank · 24 comment · 5 complexity · 11e58b13683bc7bd56360376cd740744 MD5 · raw file

  1. /**
  2. * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.portal.kernel.util;
  15. import com.liferay.portal.kernel.json.JSONObject;
  16. import com.liferay.portal.kernel.language.LanguageUtil;
  17. import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
  18. import java.util.ArrayList;
  19. import java.util.Collections;
  20. import java.util.List;
  21. import java.util.Locale;
  22. import java.util.Map;
  23. import javax.portlet.PortletPreferences;
  24. import javax.portlet.PortletRequest;
  25. /**
  26. * @author Alexander Chow
  27. * @author Jorge Ferrer
  28. * @author Mauro Mariuzzo
  29. * @author Julio Camarero
  30. * @author Brian Wing Shun Chan
  31. * @see Localization
  32. */
  33. public class LocalizationUtil {
  34. public static Object deserialize(JSONObject jsonObject) {
  35. return getLocalization().deserialize(jsonObject);
  36. }
  37. public static String[] getAvailableLocales(String xml) {
  38. return getLocalization().getAvailableLocales(xml);
  39. }
  40. public static Locale getDefaultImportLocale(
  41. String className, long classPK, Locale contentDefaultLocale,
  42. Locale[] contentAvailableLocales) {
  43. return getLocalization().getDefaultImportLocale(
  44. className, classPK, contentDefaultLocale, contentAvailableLocales);
  45. }
  46. public static String getDefaultLocale(String xml) {
  47. return getLocalization().getDefaultLocale(xml);
  48. }
  49. public static Localization getLocalization() {
  50. PortalRuntimePermission.checkGetBeanProperty(LocalizationUtil.class);
  51. return _localization;
  52. }
  53. public static String getLocalization(
  54. String xml, String requestedLanguageId) {
  55. return getLocalization().getLocalization(xml, requestedLanguageId);
  56. }
  57. public static String getLocalization(
  58. String xml, String requestedLanguageId, boolean useDefault) {
  59. return getLocalization().getLocalization(
  60. xml, requestedLanguageId, useDefault);
  61. }
  62. public static Map<Locale, String> getLocalizationMap(
  63. PortletPreferences preferences, String parameter) {
  64. return getLocalization().getLocalizationMap(preferences, parameter);
  65. }
  66. public static Map<Locale, String> getLocalizationMap(
  67. PortletRequest portletRequest, String parameter) {
  68. return getLocalization().getLocalizationMap(portletRequest, parameter);
  69. }
  70. public static Map<Locale, String> getLocalizationMap(String xml) {
  71. return getLocalization().getLocalizationMap(xml);
  72. }
  73. public static Map<Locale, String> getLocalizationMap(
  74. String bundleName, ClassLoader classLoader, String key,
  75. boolean includeBetaLocales) {
  76. return getLocalization().getLocalizationMap(
  77. bundleName, classLoader, key, includeBetaLocales);
  78. }
  79. public static Map<Locale, String> getLocalizationMap(
  80. String[] languageIds, String[] values) {
  81. return getLocalization().getLocalizationMap(languageIds, values);
  82. }
  83. public static String getLocalizationXmlFromPreferences(
  84. PortletPreferences preferences, PortletRequest portletRequest,
  85. String parameter) {
  86. return getLocalization().getLocalizationXmlFromPreferences(
  87. preferences, portletRequest, parameter);
  88. }
  89. /**
  90. * @deprecated Use <code>getLocalizationMap</code>.
  91. */
  92. public static Map<Locale, String> getLocalizedParameter(
  93. PortletRequest portletRequest, String parameter) {
  94. return getLocalization().getLocalizedParameter(
  95. portletRequest, parameter);
  96. }
  97. public static List<Locale> getModifiedLocales(
  98. Map<Locale, String> oldMap, Map<Locale, String> newMap) {
  99. if ((newMap == null) || newMap.isEmpty()) {
  100. return Collections.emptyList();
  101. }
  102. List<Locale> modifiedLocales = new ArrayList<Locale>();
  103. Locale[] locales = LanguageUtil.getAvailableLocales();
  104. for (Locale locale : locales) {
  105. String oldValue = oldMap.get(locale);
  106. String newValue = newMap.get(locale);
  107. if (!oldValue.equals(newValue)) {
  108. modifiedLocales.add(locale);
  109. }
  110. }
  111. return modifiedLocales;
  112. }
  113. public static String getPreferencesKey(String key, String languageId) {
  114. return getLocalization().getPreferencesKey(key, languageId);
  115. }
  116. public static String getPreferencesValue(
  117. PortletPreferences preferences, String key, String languageId) {
  118. return getLocalization().getPreferencesValue(
  119. preferences, key, languageId);
  120. }
  121. public static String getPreferencesValue(
  122. PortletPreferences preferences, String key, String languageId,
  123. boolean useDefault) {
  124. return getLocalization().getPreferencesValue(
  125. preferences, key, languageId, useDefault);
  126. }
  127. public static String[] getPreferencesValues(
  128. PortletPreferences preferences, String key, String languageId) {
  129. return getLocalization().getPreferencesValues(
  130. preferences, key, languageId);
  131. }
  132. public static String[] getPreferencesValues(
  133. PortletPreferences preferences, String key, String languageId,
  134. boolean useDefault) {
  135. return getLocalization().getPreferencesValues(
  136. preferences, key, languageId, useDefault);
  137. }
  138. public static String removeLocalization(
  139. String xml, String key, String requestedLanguageId) {
  140. return getLocalization().removeLocalization(
  141. xml, key, requestedLanguageId);
  142. }
  143. public static String removeLocalization(
  144. String xml, String key, String requestedLanguageId, boolean cdata) {
  145. return getLocalization().removeLocalization(
  146. xml, key, requestedLanguageId, cdata);
  147. }
  148. public static String removeLocalization(
  149. String xml, String key, String requestedLanguageId, boolean cdata,
  150. boolean localized) {
  151. return getLocalization().removeLocalization(
  152. xml, key, requestedLanguageId, cdata, localized);
  153. }
  154. public static void setLocalizedPreferencesValues(
  155. PortletRequest portletRequest, PortletPreferences preferences,
  156. String parameter)
  157. throws Exception {
  158. getLocalization().setLocalizedPreferencesValues(
  159. portletRequest, preferences, parameter);
  160. }
  161. public static void setPreferencesValue(
  162. PortletPreferences preferences, String key, String languageId,
  163. String value)
  164. throws Exception {
  165. getLocalization().setPreferencesValue(
  166. preferences, key, languageId, value);
  167. }
  168. public static void setPreferencesValues(
  169. PortletPreferences preferences, String key, String languageId,
  170. String[] values)
  171. throws Exception {
  172. getLocalization().setPreferencesValues(
  173. preferences, key, languageId, values);
  174. }
  175. public static String updateLocalization(
  176. Map<Locale, String> localizationMap, String xml, String key,
  177. String defaultLanguageId) {
  178. return getLocalization().updateLocalization(
  179. localizationMap, xml, key, defaultLanguageId);
  180. }
  181. public static String updateLocalization(
  182. String xml, String key, String value) {
  183. return getLocalization().updateLocalization(xml, key, value);
  184. }
  185. public static String updateLocalization(
  186. String xml, String key, String value, String requestedLanguageId) {
  187. return getLocalization().updateLocalization(
  188. xml, key, value, requestedLanguageId);
  189. }
  190. public static String updateLocalization(
  191. String xml, String key, String value, String requestedLanguageId,
  192. String defaultLanguageId) {
  193. return getLocalization().updateLocalization(
  194. xml, key, value, requestedLanguageId, defaultLanguageId);
  195. }
  196. public static String updateLocalization(
  197. String xml, String key, String value, String requestedLanguageId,
  198. String defaultLanguageId, boolean cdata) {
  199. return getLocalization().updateLocalization(
  200. xml, key, value, requestedLanguageId, defaultLanguageId, cdata);
  201. }
  202. public static String updateLocalization(
  203. String xml, String key, String value, String requestedLanguageId,
  204. String defaultLanguageId, boolean cdata, boolean localized) {
  205. return getLocalization().updateLocalization(
  206. xml, key, value, requestedLanguageId, defaultLanguageId, cdata,
  207. localized);
  208. }
  209. public void setLocalization(Localization localization) {
  210. PortalRuntimePermission.checkSetBeanProperty(getClass());
  211. _localization = localization;
  212. }
  213. private static Localization _localization;
  214. }