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(String xml) {
076 return getLocalization().getDefaultLanguageId(xml);
077 }
078
079
083 public static String getDefaultLocale(String xml) {
084 return getDefaultLanguageId(xml);
085 }
086
087 public static Localization getLocalization() {
088 PortalRuntimePermission.checkGetBeanProperty(LocalizationUtil.class);
089
090 return _localization;
091 }
092
093 public static String getLocalization(
094 String xml, String requestedLanguageId) {
095
096 return getLocalization().getLocalization(xml, requestedLanguageId);
097 }
098
099 public static String getLocalization(
100 String xml, String requestedLanguageId, boolean useDefault) {
101
102 return getLocalization().getLocalization(
103 xml, requestedLanguageId, useDefault);
104 }
105
106 public static Map<Locale, String> getLocalizationMap(
107 HttpServletRequest request, String parameter) {
108
109 return getLocalization().getLocalizationMap(request, parameter);
110 }
111
112 public static Map<Locale, String> getLocalizationMap(
113 PortletPreferences preferences, String parameter) {
114
115 return getLocalization().getLocalizationMap(preferences, parameter);
116 }
117
118 public static Map<Locale, String> getLocalizationMap(
119 PortletRequest portletRequest, String parameter) {
120
121 return getLocalization().getLocalizationMap(portletRequest, parameter);
122 }
123
124 public static Map<Locale, String> getLocalizationMap(String xml) {
125 return getLocalization().getLocalizationMap(xml);
126 }
127
128 public static Map<Locale, String> getLocalizationMap(
129 String xml, boolean useDefault) {
130
131 return getLocalization().getLocalizationMap(xml, useDefault);
132 }
133
134 public static Map<Locale, String> getLocalizationMap(
135 String bundleName, ClassLoader classLoader, String key,
136 boolean includeBetaLocales) {
137
138 return getLocalization().getLocalizationMap(
139 bundleName, classLoader, key, includeBetaLocales);
140 }
141
142 public static Map<Locale, String> getLocalizationMap(
143 String[] languageIds, String[] values) {
144
145 return getLocalization().getLocalizationMap(languageIds, values);
146 }
147
148 public static String getLocalizationXmlFromPreferences(
149 PortletPreferences preferences, PortletRequest portletRequest,
150 String parameter) {
151
152 return getLocalization().getLocalizationXmlFromPreferences(
153 preferences, portletRequest, parameter);
154 }
155
156
159 public static Map<Locale, String> getLocalizedParameter(
160 PortletRequest portletRequest, String parameter) {
161
162 return getLocalization().getLocalizedParameter(
163 portletRequest, parameter);
164 }
165
166 public static List<Locale> getModifiedLocales(
167 Map<Locale, String> oldMap, Map<Locale, String> newMap) {
168
169 if ((newMap == null) || newMap.isEmpty()) {
170 return Collections.emptyList();
171 }
172
173 List<Locale> modifiedLocales = new ArrayList<Locale>();
174
175 Locale[] locales = LanguageUtil.getAvailableLocales();
176
177 for (Locale locale : locales) {
178 String oldValue = oldMap.get(locale);
179 String newValue = newMap.get(locale);
180
181 if (!oldValue.equals(newValue)) {
182 modifiedLocales.add(locale);
183 }
184 }
185
186 return modifiedLocales;
187 }
188
189 public static String getPreferencesKey(String key, String languageId) {
190 return getLocalization().getPreferencesKey(key, languageId);
191 }
192
193 public static String getPreferencesValue(
194 PortletPreferences preferences, String key, String languageId) {
195
196 return getLocalization().getPreferencesValue(
197 preferences, key, languageId);
198 }
199
200 public static String getPreferencesValue(
201 PortletPreferences preferences, String key, String languageId,
202 boolean useDefault) {
203
204 return getLocalization().getPreferencesValue(
205 preferences, key, languageId, useDefault);
206 }
207
208 public static String[] getPreferencesValues(
209 PortletPreferences preferences, String key, String languageId) {
210
211 return getLocalization().getPreferencesValues(
212 preferences, key, languageId);
213 }
214
215 public static String[] getPreferencesValues(
216 PortletPreferences preferences, String key, String languageId,
217 boolean useDefault) {
218
219 return getLocalization().getPreferencesValues(
220 preferences, key, languageId, useDefault);
221 }
222
223 public static String removeLocalization(
224 String xml, String key, String requestedLanguageId) {
225
226 return getLocalization().removeLocalization(
227 xml, key, requestedLanguageId);
228 }
229
230 public static String removeLocalization(
231 String xml, String key, String requestedLanguageId, boolean cdata) {
232
233 return getLocalization().removeLocalization(
234 xml, key, requestedLanguageId, cdata);
235 }
236
237 public static String removeLocalization(
238 String xml, String key, String requestedLanguageId, boolean cdata,
239 boolean localized) {
240
241 return getLocalization().removeLocalization(
242 xml, key, requestedLanguageId, cdata, localized);
243 }
244
245 public static void setLocalizedPreferencesValues(
246 PortletRequest portletRequest, PortletPreferences preferences,
247 String parameter)
248 throws Exception {
249
250 getLocalization().setLocalizedPreferencesValues(
251 portletRequest, preferences, parameter);
252 }
253
254 public static void setPreferencesValue(
255 PortletPreferences preferences, String key, String languageId,
256 String value)
257 throws Exception {
258
259 getLocalization().setPreferencesValue(
260 preferences, key, languageId, value);
261 }
262
263 public static void setPreferencesValues(
264 PortletPreferences preferences, String key, String languageId,
265 String[] values)
266 throws Exception {
267
268 getLocalization().setPreferencesValues(
269 preferences, key, languageId, values);
270 }
271
272 public static String updateLocalization(
273 Map<Locale, String> localizationMap, String xml, String key,
274 String defaultLanguageId) {
275
276 return getLocalization().updateLocalization(
277 localizationMap, xml, key, defaultLanguageId);
278 }
279
280 public static String updateLocalization(
281 String xml, String key, String value) {
282
283 return getLocalization().updateLocalization(xml, key, value);
284 }
285
286 public static String updateLocalization(
287 String xml, String key, String value, String requestedLanguageId) {
288
289 return getLocalization().updateLocalization(
290 xml, key, value, requestedLanguageId);
291 }
292
293 public static String updateLocalization(
294 String xml, String key, String value, String requestedLanguageId,
295 String defaultLanguageId) {
296
297 return getLocalization().updateLocalization(
298 xml, key, value, requestedLanguageId, defaultLanguageId);
299 }
300
301 public static String updateLocalization(
302 String xml, String key, String value, String requestedLanguageId,
303 String defaultLanguageId, boolean cdata) {
304
305 return getLocalization().updateLocalization(
306 xml, key, value, requestedLanguageId, defaultLanguageId, cdata);
307 }
308
309 public static String updateLocalization(
310 String xml, String key, String value, String requestedLanguageId,
311 String defaultLanguageId, boolean cdata, boolean localized) {
312
313 return getLocalization().updateLocalization(
314 xml, key, value, requestedLanguageId, defaultLanguageId, cdata,
315 localized);
316 }
317
318 public void setLocalization(Localization localization) {
319 PortalRuntimePermission.checkSetBeanProperty(getClass());
320
321 _localization = localization;
322 }
323
324 private static Localization _localization;
325
326 }