001
014
015 package com.liferay.portal.kernel.util;
016
017 import com.liferay.portal.kernel.json.JSONObject;
018 import com.liferay.portal.kernel.language.LanguageUtil;
019 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
020 import com.liferay.portal.kernel.settings.LocalizedValuesMap;
021 import com.liferay.portal.kernel.settings.Settings;
022 import com.liferay.portal.kernel.xml.Document;
023
024 import java.util.ArrayList;
025 import java.util.Collections;
026 import java.util.List;
027 import java.util.Locale;
028 import java.util.Map;
029
030 import javax.portlet.PortletPreferences;
031 import javax.portlet.PortletRequest;
032
033 import javax.servlet.http.HttpServletRequest;
034
035
043 public class LocalizationUtil {
044
045 public static Object deserialize(JSONObject jsonObject) {
046 return getLocalization().deserialize(jsonObject);
047 }
048
049 public static String[] getAvailableLanguageIds(Document document) {
050 return getLocalization().getAvailableLanguageIds(document);
051 }
052
053 public static String[] getAvailableLanguageIds(String xml) {
054 return getLocalization().getAvailableLanguageIds(xml);
055 }
056
057
061 @Deprecated
062 public static String[] getAvailableLocales(String xml) {
063 return getAvailableLanguageIds(xml);
064 }
065
066 public static Locale getDefaultImportLocale(
067 String className, long classPK, Locale contentDefaultLocale,
068 Locale[] contentAvailableLocales) {
069
070 return getLocalization().getDefaultImportLocale(
071 className, classPK, contentDefaultLocale, contentAvailableLocales);
072 }
073
074 public static String getDefaultLanguageId(Document document) {
075 return getLocalization().getDefaultLanguageId(document);
076 }
077
078 public static String getDefaultLanguageId(
079 Document document, Locale defaultLocale) {
080
081 return getLocalization().getDefaultLanguageId(document, defaultLocale);
082 }
083
084 public static String getDefaultLanguageId(String xml) {
085 return getLocalization().getDefaultLanguageId(xml);
086 }
087
088 public static String getDefaultLanguageId(
089 String xml, Locale defaultLocale) {
090
091 return getLocalization().getDefaultLanguageId(xml, defaultLocale);
092 }
093
094
098 @Deprecated
099 public static String getDefaultLocale(String xml) {
100 return getDefaultLanguageId(xml);
101 }
102
103 public static Localization getLocalization() {
104 PortalRuntimePermission.checkGetBeanProperty(LocalizationUtil.class);
105
106 return _localization;
107 }
108
109 public static String getLocalization(
110 String xml, String requestedLanguageId) {
111
112 return getLocalization().getLocalization(xml, requestedLanguageId);
113 }
114
115 public static String getLocalization(
116 String xml, String requestedLanguageId, boolean useDefault) {
117
118 return getLocalization().getLocalization(
119 xml, requestedLanguageId, useDefault);
120 }
121
122 public static String getLocalization(
123 String xml, String requestedLanguageId, boolean useDefault,
124 String defaultValue) {
125
126 return getLocalization().getLocalization(
127 xml, requestedLanguageId, useDefault, defaultValue);
128 }
129
130 public static Map<Locale, String> getLocalizationMap(
131 HttpServletRequest request, String parameter) {
132
133 return getLocalization().getLocalizationMap(request, parameter);
134 }
135
136 public static Map<Locale, String> getLocalizationMap(
137 PortletPreferences preferences, String preferenceName) {
138
139 return getLocalization().getLocalizationMap(
140 preferences, preferenceName);
141 }
142
143 public static Map<Locale, String> getLocalizationMap(
144 PortletPreferences preferences, String preferenceName,
145 String propertyName) {
146
147 return getLocalization().getLocalizationMap(
148 preferences, preferenceName, propertyName);
149 }
150
151 public static Map<Locale, String> getLocalizationMap(
152 PortletPreferences preferences, String preferenceName,
153 String propertyName, String defaultPropertyValue,
154 ClassLoader classLoader) {
155
156 return getLocalization().getLocalizationMap(
157 preferences, preferenceName, propertyName, defaultPropertyValue,
158 classLoader);
159 }
160
161 public static Map<Locale, String> getLocalizationMap(
162 PortletRequest portletRequest, String parameter) {
163
164 return getLocalization().getLocalizationMap(portletRequest, parameter);
165 }
166
167 public static Map<Locale, String> getLocalizationMap(
168 PortletRequest portletRequest, String parameter,
169 Map<Locale, String> defaultValues) {
170
171 return getLocalization().getLocalizationMap(
172 portletRequest, parameter, defaultValues);
173 }
174
175 public static Map<Locale, String> getLocalizationMap(String xml) {
176 return getLocalization().getLocalizationMap(xml);
177 }
178
179 public static Map<Locale, String> getLocalizationMap(
180 String xml, boolean useDefault) {
181
182 return getLocalization().getLocalizationMap(xml, useDefault);
183 }
184
185 public static Map<Locale, String> getLocalizationMap(
186 String bundleName, ClassLoader classLoader, String key,
187 boolean includeBetaLocales) {
188
189 return getLocalization().getLocalizationMap(
190 bundleName, classLoader, key, includeBetaLocales);
191 }
192
193 public static Map<Locale, String> getLocalizationMap(
194 String[] languageIds, String[] values) {
195
196 return getLocalization().getLocalizationMap(languageIds, values);
197 }
198
199 public static String getLocalizationXmlFromPreferences(
200 PortletPreferences preferences, PortletRequest portletRequest,
201 String parameter) {
202
203 return getLocalization().getLocalizationXmlFromPreferences(
204 preferences, portletRequest, parameter);
205 }
206
207 public static String getLocalizationXmlFromPreferences(
208 PortletPreferences preferences, PortletRequest portletRequest,
209 String parameter, String defaultValue) {
210
211 return getLocalization().getLocalizationXmlFromPreferences(
212 preferences, portletRequest, parameter, defaultValue);
213 }
214
215 public static String getLocalizationXmlFromPreferences(
216 PortletPreferences preferences, PortletRequest portletRequest,
217 String parameter, String prefix, String defaultValue) {
218
219 return getLocalization().getLocalizationXmlFromPreferences(
220 preferences, portletRequest, parameter, prefix, defaultValue);
221 }
222
223 public static String getLocalizedName(String name, String languageId) {
224 return getLocalization().getLocalizedName(name, languageId);
225 }
226
227
230 @Deprecated
231 public static Map<Locale, String> getLocalizedParameter(
232 PortletRequest portletRequest, String parameter) {
233
234 return getLocalization().getLocalizedParameter(
235 portletRequest, parameter);
236 }
237
238 public static Map<Locale, String> getMap(
239 LocalizedValuesMap localizedValuesMap) {
240
241 return getLocalization().getMap(localizedValuesMap);
242 }
243
244 public static List<Locale> getModifiedLocales(
245 Map<Locale, String> oldMap, Map<Locale, String> newMap) {
246
247 if ((newMap == null) || newMap.isEmpty()) {
248 return Collections.emptyList();
249 }
250
251 List<Locale> modifiedLocales = new ArrayList<>();
252
253 for (Locale locale : LanguageUtil.getAvailableLocales()) {
254 String oldValue = oldMap.get(locale);
255 String newValue = newMap.get(locale);
256
257 if (!oldValue.equals(newValue)) {
258 modifiedLocales.add(locale);
259 }
260 }
261
262 return modifiedLocales;
263 }
264
265
269 @Deprecated
270 public static String getPreferencesKey(String key, String languageId) {
271 return getLocalization().getPreferencesKey(key, languageId);
272 }
273
274 public static String getPreferencesValue(
275 PortletPreferences preferences, String key, String languageId) {
276
277 return getLocalization().getPreferencesValue(
278 preferences, key, languageId);
279 }
280
281 public static String getPreferencesValue(
282 PortletPreferences preferences, String key, String languageId,
283 boolean useDefault) {
284
285 return getLocalization().getPreferencesValue(
286 preferences, key, languageId, useDefault);
287 }
288
289 public static String[] getPreferencesValues(
290 PortletPreferences preferences, String key, String languageId) {
291
292 return getLocalization().getPreferencesValues(
293 preferences, key, languageId);
294 }
295
296 public static String[] getPreferencesValues(
297 PortletPreferences preferences, String key, String languageId,
298 boolean useDefault) {
299
300 return getLocalization().getPreferencesValues(
301 preferences, key, languageId, useDefault);
302 }
303
304 public static String getSettingsValue(
305 Settings settings, String key, String languageId) {
306
307 return getLocalization().getSettingsValue(settings, key, languageId);
308 }
309
310 public static String getSettingsValue(
311 Settings settings, String key, String languageId, boolean useDefault) {
312
313 return getLocalization().getSettingsValue(
314 settings, key, languageId, useDefault);
315 }
316
317 public static String[] getSettingsValues(
318 Settings settings, String key, String languageId) {
319
320 return getLocalization().getSettingsValues(settings, key, languageId);
321 }
322
323 public static String[] getSettingsValues(
324 Settings settings, String key, String languageId, boolean useDefault) {
325
326 return getLocalization().getSettingsValues(
327 settings, key, languageId, useDefault);
328 }
329
330 public static String getXml(
331 LocalizedValuesMap localizedValuesMap, String key) {
332
333 return getLocalization().getXml(localizedValuesMap, key);
334 }
335
336 public static String removeLocalization(
337 String xml, String key, String requestedLanguageId) {
338
339 return getLocalization().removeLocalization(
340 xml, key, requestedLanguageId);
341 }
342
343 public static String removeLocalization(
344 String xml, String key, String requestedLanguageId, boolean cdata) {
345
346 return getLocalization().removeLocalization(
347 xml, key, requestedLanguageId, cdata);
348 }
349
350 public static String removeLocalization(
351 String xml, String key, String requestedLanguageId, boolean cdata,
352 boolean localized) {
353
354 return getLocalization().removeLocalization(
355 xml, key, requestedLanguageId, cdata, localized);
356 }
357
358 public static void setLocalizedPreferencesValues(
359 PortletRequest portletRequest, PortletPreferences preferences,
360 String parameter)
361 throws Exception {
362
363 getLocalization().setLocalizedPreferencesValues(
364 portletRequest, preferences, parameter);
365 }
366
367 public static void setPreferencesValue(
368 PortletPreferences preferences, String key, String languageId,
369 String value)
370 throws Exception {
371
372 getLocalization().setPreferencesValue(
373 preferences, key, languageId, value);
374 }
375
376 public static void setPreferencesValues(
377 PortletPreferences preferences, String key, String languageId,
378 String[] values)
379 throws Exception {
380
381 getLocalization().setPreferencesValues(
382 preferences, key, languageId, values);
383 }
384
385 public static String updateLocalization(
386 Map<Locale, String> localizationMap, String xml, String key,
387 String defaultLanguageId) {
388
389 return getLocalization().updateLocalization(
390 localizationMap, xml, key, defaultLanguageId);
391 }
392
393 public static String updateLocalization(
394 String xml, String key, String value) {
395
396 return getLocalization().updateLocalization(xml, key, value);
397 }
398
399 public static String updateLocalization(
400 String xml, String key, String value, String requestedLanguageId) {
401
402 return getLocalization().updateLocalization(
403 xml, key, value, requestedLanguageId);
404 }
405
406 public static String updateLocalization(
407 String xml, String key, String value, String requestedLanguageId,
408 String defaultLanguageId) {
409
410 return getLocalization().updateLocalization(
411 xml, key, value, requestedLanguageId, defaultLanguageId);
412 }
413
414 public static String updateLocalization(
415 String xml, String key, String value, String requestedLanguageId,
416 String defaultLanguageId, boolean cdata) {
417
418 return getLocalization().updateLocalization(
419 xml, key, value, requestedLanguageId, defaultLanguageId, cdata);
420 }
421
422 public static String updateLocalization(
423 String xml, String key, String value, String requestedLanguageId,
424 String defaultLanguageId, boolean cdata, boolean localized) {
425
426 return getLocalization().updateLocalization(
427 xml, key, value, requestedLanguageId, defaultLanguageId, cdata,
428 localized);
429 }
430
431 public void setLocalization(Localization localization) {
432 PortalRuntimePermission.checkSetBeanProperty(getClass());
433
434 _localization = localization;
435 }
436
437 private static Localization _localization;
438
439 }