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.xml.Document;
021
022 import java.util.ArrayList;
023 import java.util.Collections;
024 import java.util.List;
025 import java.util.Locale;
026 import java.util.Map;
027
028 import javax.portlet.PortletPreferences;
029 import javax.portlet.PortletRequest;
030
031 import javax.servlet.http.HttpServletRequest;
032
033
041 public class LocalizationUtil {
042
043 public static Object deserialize(JSONObject jsonObject) {
044 return getLocalization().deserialize(jsonObject);
045 }
046
047 public static String[] getAvailableLanguageIds(Document document) {
048 return getLocalization().getAvailableLanguageIds(document);
049 }
050
051 public static String[] getAvailableLanguageIds(String xml) {
052 return getLocalization().getAvailableLanguageIds(xml);
053 }
054
055
059 public static String[] getAvailableLocales(String xml) {
060 return getAvailableLanguageIds(xml);
061 }
062
063 public static Locale getDefaultImportLocale(
064 String className, long classPK, Locale contentDefaultLocale,
065 Locale[] contentAvailableLocales) {
066
067 return getLocalization().getDefaultImportLocale(
068 className, classPK, contentDefaultLocale, contentAvailableLocales);
069 }
070
071 public static String getDefaultLanguageId(Document document) {
072 return getLocalization().getDefaultLanguageId(document);
073 }
074
075 public static String getDefaultLanguageId(
076 Document document, Locale defaultLocale) {
077
078 return getLocalization().getDefaultLanguageId(document, defaultLocale);
079 }
080
081 public static String getDefaultLanguageId(String xml) {
082 return getLocalization().getDefaultLanguageId(xml);
083 }
084
085 public static String getDefaultLanguageId(
086 String xml, Locale defaultLocale) {
087
088 return getLocalization().getDefaultLanguageId(xml, defaultLocale);
089 }
090
091
095 public static String getDefaultLocale(String xml) {
096 return getDefaultLanguageId(xml);
097 }
098
099 public static Localization getLocalization() {
100 PortalRuntimePermission.checkGetBeanProperty(LocalizationUtil.class);
101
102 return _localization;
103 }
104
105 public static String getLocalization(
106 String xml, String requestedLanguageId) {
107
108 return getLocalization().getLocalization(xml, requestedLanguageId);
109 }
110
111 public static String getLocalization(
112 String xml, String requestedLanguageId, boolean useDefault) {
113
114 return getLocalization().getLocalization(
115 xml, requestedLanguageId, useDefault);
116 }
117
118 public static Map<Locale, String> getLocalizationMap(
119 HttpServletRequest request, String parameter) {
120
121 return getLocalization().getLocalizationMap(request, parameter);
122 }
123
124 public static Map<Locale, String> getLocalizationMap(
125 PortletPreferences preferences, String parameter) {
126
127 return getLocalization().getLocalizationMap(preferences, parameter);
128 }
129
130 public static Map<Locale, String> getLocalizationMap(
131 PortletRequest portletRequest, String parameter) {
132
133 return getLocalization().getLocalizationMap(portletRequest, parameter);
134 }
135
136 public static Map<Locale, String> getLocalizationMap(String xml) {
137 return getLocalization().getLocalizationMap(xml);
138 }
139
140 public static Map<Locale, String> getLocalizationMap(
141 String xml, boolean useDefault) {
142
143 return getLocalization().getLocalizationMap(xml, useDefault);
144 }
145
146 public static Map<Locale, String> getLocalizationMap(
147 String bundleName, ClassLoader classLoader, String key,
148 boolean includeBetaLocales) {
149
150 return getLocalization().getLocalizationMap(
151 bundleName, classLoader, key, includeBetaLocales);
152 }
153
154 public static Map<Locale, String> getLocalizationMap(
155 String[] languageIds, String[] values) {
156
157 return getLocalization().getLocalizationMap(languageIds, values);
158 }
159
160 public static String getLocalizationXmlFromPreferences(
161 PortletPreferences preferences, PortletRequest portletRequest,
162 String parameter) {
163
164 return getLocalization().getLocalizationXmlFromPreferences(
165 preferences, portletRequest, parameter);
166 }
167
168
171 public static Map<Locale, String> getLocalizedParameter(
172 PortletRequest portletRequest, String parameter) {
173
174 return getLocalization().getLocalizedParameter(
175 portletRequest, parameter);
176 }
177
178 public static List<Locale> getModifiedLocales(
179 Map<Locale, String> oldMap, Map<Locale, String> newMap) {
180
181 if ((newMap == null) || newMap.isEmpty()) {
182 return Collections.emptyList();
183 }
184
185 List<Locale> modifiedLocales = new ArrayList<Locale>();
186
187 Locale[] locales = LanguageUtil.getAvailableLocales();
188
189 for (Locale locale : locales) {
190 String oldValue = oldMap.get(locale);
191 String newValue = newMap.get(locale);
192
193 if (!oldValue.equals(newValue)) {
194 modifiedLocales.add(locale);
195 }
196 }
197
198 return modifiedLocales;
199 }
200
201 public static String getPreferencesKey(String key, String languageId) {
202 return getLocalization().getPreferencesKey(key, languageId);
203 }
204
205 public static String getPreferencesValue(
206 PortletPreferences preferences, String key, String languageId) {
207
208 return getLocalization().getPreferencesValue(
209 preferences, key, languageId);
210 }
211
212 public static String getPreferencesValue(
213 PortletPreferences preferences, String key, String languageId,
214 boolean useDefault) {
215
216 return getLocalization().getPreferencesValue(
217 preferences, key, languageId, useDefault);
218 }
219
220 public static String[] getPreferencesValues(
221 PortletPreferences preferences, String key, String languageId) {
222
223 return getLocalization().getPreferencesValues(
224 preferences, key, languageId);
225 }
226
227 public static String[] getPreferencesValues(
228 PortletPreferences preferences, String key, String languageId,
229 boolean useDefault) {
230
231 return getLocalization().getPreferencesValues(
232 preferences, key, languageId, useDefault);
233 }
234
235 public static String removeLocalization(
236 String xml, String key, String requestedLanguageId) {
237
238 return getLocalization().removeLocalization(
239 xml, key, requestedLanguageId);
240 }
241
242 public static String removeLocalization(
243 String xml, String key, String requestedLanguageId, boolean cdata) {
244
245 return getLocalization().removeLocalization(
246 xml, key, requestedLanguageId, cdata);
247 }
248
249 public static String removeLocalization(
250 String xml, String key, String requestedLanguageId, boolean cdata,
251 boolean localized) {
252
253 return getLocalization().removeLocalization(
254 xml, key, requestedLanguageId, cdata, localized);
255 }
256
257 public static void setLocalizedPreferencesValues(
258 PortletRequest portletRequest, PortletPreferences preferences,
259 String parameter)
260 throws Exception {
261
262 getLocalization().setLocalizedPreferencesValues(
263 portletRequest, preferences, parameter);
264 }
265
266 public static void setPreferencesValue(
267 PortletPreferences preferences, String key, String languageId,
268 String value)
269 throws Exception {
270
271 getLocalization().setPreferencesValue(
272 preferences, key, languageId, value);
273 }
274
275 public static void setPreferencesValues(
276 PortletPreferences preferences, String key, String languageId,
277 String[] values)
278 throws Exception {
279
280 getLocalization().setPreferencesValues(
281 preferences, key, languageId, values);
282 }
283
284 public static String updateLocalization(
285 Map<Locale, String> localizationMap, String xml, String key,
286 String defaultLanguageId) {
287
288 return getLocalization().updateLocalization(
289 localizationMap, xml, key, defaultLanguageId);
290 }
291
292 public static String updateLocalization(
293 String xml, String key, String value) {
294
295 return getLocalization().updateLocalization(xml, key, value);
296 }
297
298 public static String updateLocalization(
299 String xml, String key, String value, String requestedLanguageId) {
300
301 return getLocalization().updateLocalization(
302 xml, key, value, requestedLanguageId);
303 }
304
305 public static String updateLocalization(
306 String xml, String key, String value, String requestedLanguageId,
307 String defaultLanguageId) {
308
309 return getLocalization().updateLocalization(
310 xml, key, value, requestedLanguageId, defaultLanguageId);
311 }
312
313 public static String updateLocalization(
314 String xml, String key, String value, String requestedLanguageId,
315 String defaultLanguageId, boolean cdata) {
316
317 return getLocalization().updateLocalization(
318 xml, key, value, requestedLanguageId, defaultLanguageId, cdata);
319 }
320
321 public static String updateLocalization(
322 String xml, String key, String value, String requestedLanguageId,
323 String defaultLanguageId, boolean cdata, boolean localized) {
324
325 return getLocalization().updateLocalization(
326 xml, key, value, requestedLanguageId, defaultLanguageId, cdata,
327 localized);
328 }
329
330 public void setLocalization(Localization localization) {
331 PortalRuntimePermission.checkSetBeanProperty(getClass());
332
333 _localization = localization;
334 }
335
336 private static Localization _localization;
337
338 }