001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.util;
016    
017    import com.liferay.portal.kernel.dao.db.DB;
018    import com.liferay.portal.kernel.dao.db.DBFactoryUtil;
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
022    import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
023    import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
024    import com.liferay.portal.kernel.servlet.taglib.ui.BreadcrumbEntry;
025    import com.liferay.portal.kernel.upload.UploadPortletRequest;
026    import com.liferay.portal.kernel.upload.UploadServletRequest;
027    import com.liferay.portal.model.BaseModel;
028    import com.liferay.portal.model.Company;
029    import com.liferay.portal.model.Group;
030    import com.liferay.portal.model.Layout;
031    import com.liferay.portal.model.LayoutFriendlyURLComposite;
032    import com.liferay.portal.model.LayoutQueryStringComposite;
033    import com.liferay.portal.model.LayoutSet;
034    import com.liferay.portal.model.Portlet;
035    import com.liferay.portal.model.ResourcePermission;
036    import com.liferay.portal.model.User;
037    import com.liferay.portal.service.PortletLocalServiceUtil;
038    import com.liferay.portal.theme.ThemeDisplay;
039    import com.liferay.portlet.InvokerPortlet;
040    import com.liferay.portlet.PortletInstanceFactoryUtil;
041    import com.liferay.portlet.expando.model.ExpandoBridge;
042    
043    import java.io.IOException;
044    import java.io.Serializable;
045    
046    import java.sql.SQLException;
047    
048    import java.util.Date;
049    import java.util.List;
050    import java.util.Locale;
051    import java.util.Map;
052    import java.util.Properties;
053    import java.util.Set;
054    import java.util.TimeZone;
055    
056    import javax.portlet.ActionRequest;
057    import javax.portlet.ActionResponse;
058    import javax.portlet.PortletConfig;
059    import javax.portlet.PortletException;
060    import javax.portlet.PortletMode;
061    import javax.portlet.PortletPreferences;
062    import javax.portlet.PortletRequest;
063    import javax.portlet.PortletResponse;
064    import javax.portlet.PortletURL;
065    import javax.portlet.PreferencesValidator;
066    import javax.portlet.RenderRequest;
067    import javax.portlet.RenderResponse;
068    import javax.portlet.ValidatorException;
069    import javax.portlet.WindowState;
070    
071    import javax.servlet.ServletContext;
072    import javax.servlet.ServletException;
073    import javax.servlet.http.HttpServletRequest;
074    import javax.servlet.http.HttpServletResponse;
075    import javax.servlet.http.HttpSession;
076    import javax.servlet.jsp.PageContext;
077    
078    /**
079     * @author Brian Wing Shun Chan
080     * @author Eduardo Lundgren
081     * @author Juan Fernández
082     */
083    public class PortalUtil {
084    
085            /**
086             * Adds the description for a page. This appends to the existing page
087             * description.
088             */
089            public static void addPageDescription(
090                    String description, HttpServletRequest request) {
091    
092                    getPortal().addPageDescription(description, request);
093            }
094    
095            /**
096             * Adds the keywords for a page. This appends to the existing page keywords.
097             */
098            public static void addPageKeywords(
099                    String keywords, HttpServletRequest request) {
100    
101                    getPortal().addPageKeywords(keywords, request);
102            }
103    
104            /**
105             * Adds the subtitle for a page. This appends to the existing page subtitle.
106             */
107            public static void addPageSubtitle(
108                    String subtitle, HttpServletRequest request) {
109    
110                    getPortal().addPageSubtitle(subtitle, request);
111            }
112    
113            /**
114             * Adds the whole title for a page. This appends to the existing page whole
115             * title.
116             */
117            public static void addPageTitle(String title, HttpServletRequest request) {
118                    getPortal().addPageTitle(title, request);
119            }
120    
121            public static void addPortalPortEventListener(
122                    PortalPortEventListener portalPortEventListener) {
123    
124                    getPortal().addPortalPortEventListener(portalPortEventListener);
125            }
126    
127            public static void addPortletBreadcrumbEntry(
128                    HttpServletRequest request, String title, String url) {
129    
130                    getPortal().addPortletBreadcrumbEntry(request, title, url);
131            }
132    
133            public static void addPortletBreadcrumbEntry(
134                    HttpServletRequest request, String title, String url,
135                    Map<String, Object> data) {
136    
137                    getPortal().addPortletBreadcrumbEntry(request, title, url, data);
138            }
139    
140            public static void addPortletDefaultResource(
141                            HttpServletRequest request, Portlet portlet)
142                    throws PortalException, SystemException {
143    
144                    getPortal().addPortletDefaultResource(request, portlet);
145            }
146    
147            public static void addPortletDefaultResource(
148                            long companyId, Layout layout, Portlet portlet)
149                    throws PortalException, SystemException {
150    
151                    getPortal().addPortletDefaultResource(companyId, layout, portlet);
152            }
153    
154            /**
155             * Adds preserved parameters such as doAsGroupId, doAsUserId,
156             * doAsUserLanguageId, and referrerPlid that should always be preserved as
157             * the user navigates through the portal. If doAsUser is <code>false</code>,
158             * then doAsUserId and doAsUserLanguageId will never be added.
159             */
160            public static String addPreservedParameters(
161                    ThemeDisplay themeDisplay, Layout layout, String url,
162                    boolean doAsUser) {
163    
164                    return getPortal().addPreservedParameters(
165                            themeDisplay, layout, url, doAsUser);
166            }
167    
168            /**
169             * Adds preserved parameters such as doAsGroupId, doAsUserId,
170             * doAsUserLanguageId, and referrerPlid that should always be preserved as
171             * the user navigates through the portal.
172             */
173            public static String addPreservedParameters(
174                    ThemeDisplay themeDisplay, String url) {
175    
176                    return getPortal().addPreservedParameters(themeDisplay, url);
177            }
178    
179            public static void addUserLocaleOptionsMessage(HttpServletRequest request) {
180                    getPortal().addUserLocaleOptionsMessage(request);
181            }
182    
183            public static void clearRequestParameters(RenderRequest renderRequest) {
184                    getPortal().clearRequestParameters(renderRequest);
185            }
186    
187            public static void copyRequestParameters(
188                    ActionRequest actionRequest, ActionResponse actionResponse) {
189    
190                    getPortal().copyRequestParameters(actionRequest, actionResponse);
191            }
192    
193            public static String escapeRedirect(String url) {
194                    return getPortal().escapeRedirect(url);
195            }
196    
197            public static String generateRandomKey(
198                    HttpServletRequest request, String input) {
199    
200                    return getPortal().generateRandomKey(request, input);
201            }
202    
203            public static String getAbsoluteURL(
204                    HttpServletRequest request, String url) {
205    
206                    return getPortal().getAbsoluteURL(request, url);
207            }
208    
209            public static LayoutQueryStringComposite
210                    getActualLayoutQueryStringComposite(
211                            long groupId, boolean privateLayout, String friendlyURL,
212                            Map<String, String[]> params, Map<String, Object> requestContext)
213                    throws PortalException, SystemException {
214    
215                    return getPortal().getActualLayoutQueryStringComposite(
216                            groupId, privateLayout, friendlyURL, params, requestContext);
217            }
218    
219            public static String getActualURL(
220                            long groupId, boolean privateLayout, String mainPath,
221                            String friendlyURL, Map<String, String[]> params,
222                            Map<String, Object> requestContext)
223                    throws PortalException, SystemException {
224    
225                    return getPortal().getActualURL(
226                            groupId, privateLayout, mainPath, friendlyURL, params,
227                            requestContext);
228            }
229    
230            /**
231             * @deprecated As of 6.2.0, replaced by {@link
232             *             com.liferay.portal.kernel.language.LanguageUtil#getAvailableLocales}
233             */
234            public static Locale[] getAlternateLocales(HttpServletRequest request)
235                    throws PortalException, SystemException {
236    
237                    return getPortal().getAlternateLocales(request);
238            }
239    
240            public static String getAlternateURL(
241                            String canonicalURL, ThemeDisplay themeDisplay, Locale locale,
242                            Layout layout)
243                    throws PortalException, SystemException {
244    
245                    return getPortal().getAlternateURL(
246                            canonicalURL, themeDisplay, locale, layout);
247            }
248    
249            /**
250             * @deprecated As of 6.2.0, replaced by {@link
251             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletCSRFWhitelistActions}
252             */
253            public static Set<String> getAuthTokenIgnoreActions() {
254                    return getPortal().getAuthTokenIgnoreActions();
255            }
256    
257            /**
258             * @deprecated As of 6.2.0, replaced by {@link
259             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletCSRFWhitelist}
260             */
261            public static Set<String> getAuthTokenIgnorePortlets() {
262                    return getPortal().getAuthTokenIgnorePortlets();
263            }
264    
265            public static BaseModel<?> getBaseModel(
266                            ResourcePermission resourcePermission)
267                    throws PortalException, SystemException {
268    
269                    return getPortal().getBaseModel(resourcePermission);
270            }
271    
272            public static BaseModel<?> getBaseModel(String modelName, String primKey)
273                    throws PortalException, SystemException {
274    
275                    return getPortal().getBaseModel(modelName, primKey);
276            }
277    
278            public static long getBasicAuthUserId(HttpServletRequest request)
279                    throws PortalException, SystemException {
280    
281                    return getPortal().getBasicAuthUserId(request);
282            }
283    
284            public static long getBasicAuthUserId(
285                            HttpServletRequest request, long companyId)
286                    throws PortalException, SystemException {
287    
288                    return getPortal().getBasicAuthUserId(request, companyId);
289            }
290    
291            public static String getCanonicalURL(
292                            String completeURL, ThemeDisplay themeDisplay, Layout layout)
293                    throws PortalException, SystemException {
294    
295                    return getPortal().getCanonicalURL(completeURL, themeDisplay, layout);
296            }
297    
298            public static String getCanonicalURL(
299                            String completeURL, ThemeDisplay themeDisplay, Layout layout,
300                            boolean forceLayoutFriendlyURL)
301                    throws PortalException, SystemException {
302    
303                    return getPortal().getCanonicalURL(
304                            completeURL, themeDisplay, layout, forceLayoutFriendlyURL);
305            }
306    
307            /**
308             * @deprecated As of 6.1.0, replaced by {@link #getCDNHost(boolean)}
309             */
310            public static String getCDNHost() {
311                    return getPortal().getCDNHost();
312            }
313    
314            public static String getCDNHost(boolean secure) {
315                    return getPortal().getCDNHost(secure);
316            }
317    
318            public static String getCDNHost(HttpServletRequest request)
319                    throws PortalException, SystemException {
320    
321                    return getPortal().getCDNHost(request);
322            }
323    
324            public static String getCDNHostHttp(long companyId) {
325                    return getPortal().getCDNHostHttp(companyId);
326            }
327    
328            public static String getCDNHostHttps(long companyId) {
329                    return getPortal().getCDNHostHttps(companyId);
330            }
331    
332            public static String getClassName(long classNameId) {
333                    return getPortal().getClassName(classNameId);
334            }
335    
336            public static long getClassNameId(Class<?> clazz) {
337                    return getPortal().getClassNameId(clazz);
338            }
339    
340            public static long getClassNameId(String value) {
341                    return getPortal().getClassNameId(value);
342            }
343    
344            public static String getClassNamePortletId(String className) {
345                    return getPortal().getClassNamePortletId(className);
346            }
347    
348            public static Company getCompany(HttpServletRequest request)
349                    throws PortalException, SystemException {
350    
351                    return getPortal().getCompany(request);
352            }
353    
354            public static Company getCompany(PortletRequest portletRequest)
355                    throws PortalException, SystemException {
356    
357                    return getPortal().getCompany(portletRequest);
358            }
359    
360            public static long getCompanyId(HttpServletRequest request) {
361                    return getPortal().getCompanyId(request);
362            }
363    
364            public static long getCompanyId(PortletRequest portletRequest) {
365                    return getPortal().getCompanyId(portletRequest);
366            }
367    
368            public static long[] getCompanyIds() {
369                    return getPortal().getCompanyIds();
370            }
371    
372            public static String getComputerAddress() {
373                    return getPortal().getComputerAddress();
374            }
375    
376            public static String getComputerName() {
377                    return getPortal().getComputerName();
378            }
379    
380            public static Map<String, List<Portlet>> getControlPanelCategoriesMap(
381                            HttpServletRequest request)
382                    throws SystemException {
383    
384                    return getPortal().getControlPanelCategoriesMap(request);
385            }
386    
387            public static String getControlPanelCategory(
388                            String portletId, ThemeDisplay themeDisplay)
389                    throws SystemException {
390    
391                    return getPortal().getControlPanelCategory(portletId, themeDisplay);
392            }
393    
394            public static String getControlPanelFullURL(
395                            long scopeGroupId, String ppid, Map<String, String[]> params)
396                    throws PortalException, SystemException {
397    
398                    return getPortal().getControlPanelFullURL(scopeGroupId, ppid, params);
399            }
400    
401            public static long getControlPanelPlid(long companyId)
402                    throws PortalException, SystemException {
403    
404                    return getPortal().getControlPanelPlid(companyId);
405            }
406    
407            public static long getControlPanelPlid(PortletRequest portletRequest)
408                    throws PortalException, SystemException {
409    
410                    return getPortal().getControlPanelPlid(portletRequest);
411            }
412    
413            public static Set<Portlet> getControlPanelPortlets(
414                            long companyId, String category)
415                    throws SystemException {
416    
417                    return getPortal().getControlPanelPortlets(companyId, category);
418            }
419    
420            public static List<Portlet> getControlPanelPortlets(
421                            String category, ThemeDisplay themeDisplay)
422                    throws SystemException {
423    
424                    return getPortal().getControlPanelPortlets(category, themeDisplay);
425            }
426    
427            public static PortletURL getControlPanelPortletURL(
428                    HttpServletRequest request, String portletId, long referrerPlid,
429                    String lifecycle) {
430    
431                    return getPortal().getControlPanelPortletURL(
432                            request, portletId, referrerPlid, lifecycle);
433            }
434    
435            public static PortletURL getControlPanelPortletURL(
436                    PortletRequest portletRequest, String portletId, long referrerPlid,
437                    String lifecycle) {
438    
439                    return getPortal().getControlPanelPortletURL(
440                            portletRequest, portletId, referrerPlid, lifecycle);
441            }
442    
443            public static String getCreateAccountURL(
444                            HttpServletRequest request, ThemeDisplay themeDisplay)
445                    throws Exception {
446    
447                    return getPortal().getCreateAccountURL(request, themeDisplay);
448            }
449    
450            public static String getCurrentCompleteURL(HttpServletRequest request) {
451                    return getPortal().getCurrentCompleteURL(request);
452            }
453    
454            public static String getCurrentURL(HttpServletRequest request) {
455                    return getPortal().getCurrentURL(request);
456            }
457    
458            public static String getCurrentURL(PortletRequest portletRequest) {
459                    return getPortal().getCurrentURL(portletRequest);
460            }
461    
462            public static String getCustomSQLFunctionIsNotNull() {
463                    return getPortal().getCustomSQLFunctionIsNotNull();
464            }
465    
466            public static String getCustomSQLFunctionIsNull() {
467                    return getPortal().getCustomSQLFunctionIsNull();
468            }
469    
470            public static Date getDate(int month, int day, int year) {
471                    return getPortal().getDate(month, day, year);
472            }
473    
474            public static Date getDate(
475                            int month, int day, int year,
476                            Class<? extends PortalException> clazz)
477                    throws PortalException {
478    
479                    return getPortal().getDate(month, day, year, clazz);
480            }
481    
482            public static Date getDate(
483                            int month, int day, int year, int hour, int min,
484                            Class<? extends PortalException> clazz)
485                    throws PortalException {
486    
487                    return getPortal().getDate(month, day, year, hour, min, clazz);
488            }
489    
490            public static Date getDate(
491                            int month, int day, int year, int hour, int min, TimeZone timeZone,
492                            Class<? extends PortalException> clazz)
493                    throws PortalException {
494    
495                    return getPortal().getDate(
496                            month, day, year, hour, min, timeZone, clazz);
497            }
498    
499            public static Date getDate(
500                            int month, int day, int year, TimeZone timeZone,
501                            Class<? extends PortalException> clazz)
502                    throws PortalException {
503    
504                    return getPortal().getDate(month, day, year, timeZone, clazz);
505            }
506    
507            /**
508             * @deprecated As of 6.1.0, replaced by {@link DBFactoryUtil#getDB()}
509             */
510            public static DB getDB() {
511                    return DBFactoryUtil.getDB();
512            }
513    
514            public static long getDefaultCompanyId() {
515                    return getPortal().getDefaultCompanyId();
516            }
517    
518            public static long getDigestAuthUserId(HttpServletRequest request)
519                    throws PortalException, SystemException {
520    
521                    return getPortal().getDigestAuthUserId(request);
522            }
523    
524            public static String getDisplayURL(Group group, ThemeDisplay themeDisplay)
525                    throws PortalException {
526    
527                    return getPortal().getDisplayURL(group, themeDisplay);
528            }
529    
530            public static String getDisplayURL(
531                            Group group, ThemeDisplay themeDisplay, boolean privateLayout)
532                    throws PortalException {
533    
534                    return getPortal().getDisplayURL(group, themeDisplay, privateLayout);
535            }
536    
537            public static String getEmailFromAddress(
538                            PortletPreferences preferences, long companyId, String defaultValue)
539                    throws SystemException {
540    
541                    return getPortal().getEmailFromAddress(
542                            preferences, companyId, defaultValue);
543            }
544    
545            public static String getEmailFromName(
546                            PortletPreferences preferences, long companyId, String defaultValue)
547                    throws SystemException {
548    
549                    return getPortal().getEmailFromName(
550                            preferences, companyId, defaultValue);
551            }
552    
553            public static Map<String, Serializable> getExpandoBridgeAttributes(
554                            ExpandoBridge expandoBridge, HttpServletRequest request)
555                    throws PortalException, SystemException {
556    
557                    return getPortal().getExpandoBridgeAttributes(expandoBridge, request);
558            }
559    
560            public static Map<String, Serializable> getExpandoBridgeAttributes(
561                            ExpandoBridge expandoBridge, PortletRequest portletRequest)
562                    throws PortalException, SystemException {
563    
564                    return getPortal().getExpandoBridgeAttributes(
565                            expandoBridge, portletRequest);
566            }
567    
568            public static Map<String, Serializable> getExpandoBridgeAttributes(
569                            ExpandoBridge expandoBridge,
570                            UploadPortletRequest uploadPortletRequest)
571                    throws PortalException, SystemException {
572    
573                    return getPortal().getExpandoBridgeAttributes(
574                            expandoBridge, uploadPortletRequest);
575            }
576    
577            public static Serializable getExpandoValue(
578                            HttpServletRequest request, String name, int type,
579                            String displayType)
580                    throws PortalException, SystemException {
581    
582                    return getPortal().getExpandoValue(request, name, type, displayType);
583            }
584    
585            public static Serializable getExpandoValue(
586                            PortletRequest portletRequest, String name, int type,
587                            String displayType)
588                    throws PortalException, SystemException {
589    
590                    return getPortal().getExpandoValue(
591                            portletRequest, name, type, displayType);
592            }
593    
594            public static Serializable getExpandoValue(
595                            UploadPortletRequest uploadPortletRequest, String name, int type,
596                            String displayType)
597                    throws PortalException, SystemException {
598    
599                    return getPortal().getExpandoValue(
600                            uploadPortletRequest, name, type, displayType);
601            }
602    
603            public static String getFacebookURL(
604                            Portlet portlet, String facebookCanvasPageURL,
605                            ThemeDisplay themeDisplay)
606                    throws PortalException, SystemException {
607    
608                    return getPortal().getFacebookURL(
609                            portlet, facebookCanvasPageURL, themeDisplay);
610            }
611    
612            public static Portlet getFirstMyAccountPortlet(ThemeDisplay themeDisplay)
613                    throws SystemException {
614    
615                    return getPortal().getFirstMyAccountPortlet(themeDisplay);
616            }
617    
618            public static String getFirstPageLayoutTypes(PageContext pageContext) {
619                    return getPortal().getFirstPageLayoutTypes(pageContext);
620            }
621    
622            public static Portlet getFirstSiteAdministrationPortlet(
623                            ThemeDisplay themeDisplay)
624                    throws SystemException {
625    
626                    return getPortal().getFirstSiteAdministrationPortlet(themeDisplay);
627            }
628    
629            public static String getFullName(
630                    String firstName, String middleName, String lastName) {
631    
632                    return getPortal().getFullName(firstName, middleName, lastName);
633            }
634    
635            public static String getGlobalLibDir() {
636                    return getPortal().getGlobalLibDir();
637            }
638    
639            public static String getGoogleGadgetURL(
640                            Portlet portlet, ThemeDisplay themeDisplay)
641                    throws PortalException, SystemException {
642    
643                    return getPortal().getGoogleGadgetURL(portlet, themeDisplay);
644            }
645    
646            public static String getGroupFriendlyURL(
647                            Group group, boolean privateLayoutSet, ThemeDisplay themeDisplay)
648                    throws PortalException, SystemException {
649    
650                    return getPortal().getGroupFriendlyURL(
651                            group, privateLayoutSet, themeDisplay);
652            }
653    
654            public static String getGroupFriendlyURL(
655                            Group group, boolean privateLayoutSet, ThemeDisplay themeDisplay,
656                            Locale locale)
657                    throws PortalException, SystemException {
658    
659                    return getPortal().getGroupFriendlyURL(
660                            group, privateLayoutSet, themeDisplay, locale);
661            }
662    
663            public static int[] getGroupFriendlyURLIndex(String requestURI) {
664                    return getPortal().getGroupFriendlyURLIndex(requestURI);
665            }
666    
667            public static String[] getGroupPermissions(HttpServletRequest request) {
668                    return getPortal().getGroupPermissions(request);
669            }
670    
671            public static String[] getGroupPermissions(
672                    HttpServletRequest request, String className) {
673    
674                    return getPortal().getGroupPermissions(request, className);
675            }
676    
677            public static String[] getGroupPermissions(PortletRequest portletRequest) {
678                    return getPortal().getGroupPermissions(portletRequest);
679            }
680    
681            public static String[] getGroupPermissions(
682                    PortletRequest portletRequest, String className) {
683    
684                    return getPortal().getGroupPermissions(portletRequest, className);
685            }
686    
687            public static String[] getGuestPermissions(HttpServletRequest request) {
688                    return getPortal().getGuestPermissions(request);
689            }
690    
691            public static String[] getGuestPermissions(
692                    HttpServletRequest request, String className) {
693    
694                    return getPortal().getGuestPermissions(request, className);
695            }
696    
697            public static String[] getGuestPermissions(PortletRequest portletRequest) {
698                    return getPortal().getGuestPermissions(portletRequest);
699            }
700    
701            public static String[] getGuestPermissions(
702                    PortletRequest portletRequest, String className) {
703    
704                    return getPortal().getGuestPermissions(portletRequest, className);
705            }
706    
707            public static String getHomeURL(HttpServletRequest request)
708                    throws PortalException, SystemException {
709    
710                    return getPortal().getHomeURL(request);
711            }
712    
713            public static String getHost(HttpServletRequest request) {
714                    return getPortal().getHost(request);
715            }
716    
717            public static String getHost(PortletRequest portletRequest) {
718                    return getPortal().getHost(portletRequest);
719            }
720    
721            public static HttpServletRequest getHttpServletRequest(
722                    PortletRequest portletRequest) {
723    
724                    return getPortal().getHttpServletRequest(portletRequest);
725            }
726    
727            public static HttpServletResponse getHttpServletResponse(
728                    PortletResponse portletResponse) {
729    
730                    return getPortal().getHttpServletResponse(portletResponse);
731            }
732    
733            public static String getI18nPathLanguageId(
734                    Locale locale, String defaultI18nPathLanguageId) {
735    
736                    return getPortal().getI18nPathLanguageId(
737                            locale, defaultI18nPathLanguageId);
738            }
739    
740            public static String getJournalArticleActualURL(
741                            long groupId, boolean privateLayout, String mainPath,
742                            String friendlyURL, Map<String, String[]> params,
743                            Map<String, Object> requestContext)
744                    throws PortalException, SystemException {
745    
746                    return getPortal().getJournalArticleActualURL(
747                            groupId, privateLayout, mainPath, friendlyURL, params,
748                            requestContext);
749            }
750    
751            public static Layout getJournalArticleLayout(
752                            long groupId, boolean privateLayout, String friendlyURL)
753                    throws PortalException, SystemException {
754    
755                    return getPortal().getJournalArticleLayout(
756                            groupId, privateLayout, friendlyURL);
757            }
758    
759            public static String getJsSafePortletId(String portletId) {
760                    return getPortal().getJsSafePortletId(portletId);
761            }
762    
763            public static String getLayoutActualURL(Layout layout) {
764                    return getPortal().getLayoutActualURL(layout);
765            }
766    
767            public static String getLayoutActualURL(Layout layout, String mainPath) {
768                    return getPortal().getLayoutActualURL(layout, mainPath);
769            }
770    
771            public static String getLayoutActualURL(
772                            long groupId, boolean privateLayout, String mainPath,
773                            String friendlyURL)
774                    throws PortalException, SystemException {
775    
776                    return getPortal().getLayoutActualURL(
777                            groupId, privateLayout, mainPath, friendlyURL);
778            }
779    
780            public static String getLayoutActualURL(
781                            long groupId, boolean privateLayout, String mainPath,
782                            String friendlyURL, Map<String, String[]> params,
783                            Map<String, Object> requestContext)
784                    throws PortalException, SystemException {
785    
786                    return getPortal().getLayoutActualURL(
787                            groupId, privateLayout, mainPath, friendlyURL, params,
788                            requestContext);
789            }
790    
791            public static String getLayoutEditPage(Layout layout) {
792                    return getPortal().getLayoutEditPage(layout);
793            }
794    
795            public static String getLayoutEditPage(String type) {
796                    return getPortal().getLayoutEditPage(type);
797            }
798    
799            public static String getLayoutFriendlyURL(
800                            Layout layout, ThemeDisplay themeDisplay)
801                    throws PortalException, SystemException {
802    
803                    return getPortal().getLayoutFriendlyURL(layout, themeDisplay);
804            }
805    
806            public static String getLayoutFriendlyURL(
807                            Layout layout, ThemeDisplay themeDisplay, Locale locale)
808                    throws PortalException, SystemException {
809    
810                    return getPortal().getLayoutFriendlyURL(layout, themeDisplay, locale);
811            }
812    
813            public static LayoutFriendlyURLComposite getLayoutFriendlyURLComposite(
814                            long groupId, boolean privateLayout, String friendlyURL,
815                            Map<String, String[]> params, Map<String, Object> requestContext)
816                    throws PortalException, SystemException {
817    
818                    return getPortal().getLayoutFriendlyURLComposite(
819                            groupId, privateLayout, friendlyURL, params, requestContext);
820            }
821    
822            public static String getLayoutFullURL(
823                            Layout layout, ThemeDisplay themeDisplay)
824                    throws PortalException, SystemException {
825    
826                    return getPortal().getLayoutFullURL(layout, themeDisplay);
827            }
828    
829            public static String getLayoutFullURL(
830                            Layout layout, ThemeDisplay themeDisplay, boolean doAsUser)
831                    throws PortalException, SystemException {
832    
833                    return getPortal().getLayoutFullURL(layout, themeDisplay, doAsUser);
834            }
835    
836            public static String getLayoutFullURL(long groupId, String portletId)
837                    throws PortalException, SystemException {
838    
839                    return getPortal().getLayoutFullURL(groupId, portletId);
840            }
841    
842            public static String getLayoutFullURL(
843                            long groupId, String portletId, boolean secure)
844                    throws PortalException, SystemException {
845    
846                    return getPortal().getLayoutFullURL(groupId, portletId, secure);
847            }
848    
849            public static String getLayoutFullURL(ThemeDisplay themeDisplay)
850                    throws PortalException, SystemException {
851    
852                    return getPortal().getLayoutFullURL(themeDisplay);
853            }
854    
855            public static String getLayoutSetFriendlyURL(
856                            LayoutSet layoutSet, ThemeDisplay themeDisplay)
857                    throws PortalException, SystemException {
858    
859                    return getPortal().getLayoutSetFriendlyURL(layoutSet, themeDisplay);
860            }
861    
862            public static String getLayoutTarget(Layout layout) {
863                    return getPortal().getLayoutTarget(layout);
864            }
865    
866            public static String getLayoutURL(Layout layout, ThemeDisplay themeDisplay)
867                    throws PortalException, SystemException {
868    
869                    return getPortal().getLayoutURL(layout, themeDisplay);
870            }
871    
872            public static String getLayoutURL(
873                            Layout layout, ThemeDisplay themeDisplay, boolean doAsUser)
874                    throws PortalException, SystemException {
875    
876                    return getPortal().getLayoutURL(layout, themeDisplay, doAsUser);
877            }
878    
879            public static String getLayoutURL(
880                            Layout layout, ThemeDisplay themeDisplay, Locale locale)
881                    throws PortalException, SystemException {
882    
883                    return getPortal().getLayoutURL(layout, themeDisplay, locale);
884            }
885    
886            public static String getLayoutURL(ThemeDisplay themeDisplay)
887                    throws PortalException, SystemException {
888    
889                    return getPortal().getLayoutURL(themeDisplay);
890            }
891    
892            public static String getLayoutViewPage(Layout layout) {
893                    return getPortal().getLayoutViewPage(layout);
894            }
895    
896            public static String getLayoutViewPage(String type) {
897                    return getPortal().getLayoutViewPage(type);
898            }
899    
900            public static LiferayPortletRequest getLiferayPortletRequest(
901                    PortletRequest portletRequest) {
902    
903                    return getPortal().getLiferayPortletRequest(portletRequest);
904            }
905    
906            public static LiferayPortletResponse getLiferayPortletResponse(
907                    PortletResponse portletResponse) {
908    
909                    return getPortal().getLiferayPortletResponse(portletResponse);
910            }
911    
912            public static Locale getLocale(HttpServletRequest request) {
913                    return getPortal().getLocale(request);
914            }
915    
916            public static Locale getLocale(
917                    HttpServletRequest request, HttpServletResponse response,
918                    boolean initialize) {
919    
920                    return getPortal().getLocale(request, response, initialize);
921            }
922    
923            public static Locale getLocale(PortletRequest portletRequest) {
924                    return getPortal().getLocale(portletRequest);
925            }
926    
927            public static String getLocalizedFriendlyURL(
928                            HttpServletRequest request, Layout layout, Locale locale,
929                            Locale originalLocale)
930                    throws Exception {
931    
932                    return getPortal().getLocalizedFriendlyURL(
933                            request, layout, locale, originalLocale);
934            }
935    
936            public static String getMailId(
937                    String mx, String popPortletPrefix, Object... ids) {
938    
939                    return getPortal().getMailId(mx, popPortletPrefix, ids);
940            }
941    
942            /**
943             * @deprecated As of 6.1.0, replaced by {@link
944             *             #getBaseModel(ResourcePermission)}
945             */
946            public static BaseModel<?> getModel(ResourcePermission resourcePermission)
947                    throws PortalException, SystemException {
948    
949                    return getPortal().getBaseModel(resourcePermission);
950            }
951    
952            /**
953             * @deprecated As of 6.1.0, replaced by {@link #getBaseModel(String,
954             *             String)}
955             */
956            public static BaseModel<?> getModel(String modelName, String primKey)
957                    throws PortalException, SystemException {
958    
959                    return getPortal().getBaseModel(modelName, primKey);
960            }
961    
962            public static String getNetvibesURL(
963                            Portlet portlet, ThemeDisplay themeDisplay)
964                    throws PortalException, SystemException {
965    
966                    return getPortal().getNetvibesURL(portlet, themeDisplay);
967            }
968    
969            public static String getNewPortletTitle(
970                    String portletTitle, String oldScopeName, String newScopeName) {
971    
972                    return getPortal().getNewPortletTitle(
973                            portletTitle, oldScopeName, newScopeName);
974            }
975    
976            public static HttpServletRequest getOriginalServletRequest(
977                    HttpServletRequest request) {
978    
979                    return getPortal().getOriginalServletRequest(request);
980            }
981    
982            /**
983             * @deprecated As of 6.2.0 renamed to {@link #getSiteGroupId(long)}
984             */
985            public static long getParentGroupId(long scopeGroupId)
986                    throws PortalException, SystemException {
987    
988                    return getPortal().getParentGroupId(scopeGroupId);
989            }
990    
991            public static String getPathContext() {
992                    return getPortal().getPathContext();
993            }
994    
995            public static String getPathContext(HttpServletRequest request) {
996                    return getPortal().getPathContext(request);
997            }
998    
999            public static String getPathContext(PortletRequest portletRequest) {
1000                    return getPortal().getPathContext(portletRequest);
1001            }
1002    
1003            public static String getPathContext(String contextPath) {
1004                    return getPortal().getPathContext(contextPath);
1005            }
1006    
1007            public static String getPathFriendlyURLPrivateGroup() {
1008                    return getPortal().getPathFriendlyURLPrivateGroup();
1009            }
1010    
1011            public static String getPathFriendlyURLPrivateUser() {
1012                    return getPortal().getPathFriendlyURLPrivateUser();
1013            }
1014    
1015            public static String getPathFriendlyURLPublic() {
1016                    return getPortal().getPathFriendlyURLPublic();
1017            }
1018    
1019            public static String getPathImage() {
1020                    return getPortal().getPathImage();
1021            }
1022    
1023            public static String getPathMain() {
1024                    return getPortal().getPathMain();
1025            }
1026    
1027            public static String getPathModule() {
1028                    return getPortal().getPathModule();
1029            }
1030    
1031            public static String getPathProxy() {
1032                    return getPortal().getPathProxy();
1033            }
1034    
1035            public static long getPlidFromFriendlyURL(
1036                    long companyId, String friendlyURL) {
1037    
1038                    return getPortal().getPlidFromFriendlyURL(companyId, friendlyURL);
1039            }
1040    
1041            public static long getPlidFromPortletId(
1042                            long groupId, boolean privateLayout, String portletId)
1043                    throws PortalException, SystemException {
1044    
1045                    return getPortal().getPlidFromPortletId(
1046                            groupId, privateLayout, portletId);
1047            }
1048    
1049            public static long getPlidFromPortletId(long groupId, String portletId)
1050                    throws PortalException, SystemException {
1051    
1052                    return getPortal().getPlidFromPortletId(groupId, portletId);
1053            }
1054    
1055            public static Portal getPortal() {
1056                    PortalRuntimePermission.checkGetBeanProperty(PortalUtil.class);
1057    
1058                    return _portal;
1059            }
1060    
1061            public static String getPortalLibDir() {
1062                    return getPortal().getPortalLibDir();
1063            }
1064    
1065            /**
1066             * @deprecated As of 6.1.0, replaced by {@link #getPortalPort(boolean)}
1067             */
1068            public static int getPortalPort() {
1069                    return getPortal().getPortalPort();
1070            }
1071    
1072            public static int getPortalPort(boolean secure) {
1073                    return getPortal().getPortalPort(secure);
1074            }
1075    
1076            public static Properties getPortalProperties() {
1077                    return getPortal().getPortalProperties();
1078            }
1079    
1080            public static String getPortalURL(HttpServletRequest request) {
1081                    return getPortal().getPortalURL(request);
1082            }
1083    
1084            public static String getPortalURL(
1085                    HttpServletRequest request, boolean secure) {
1086    
1087                    return getPortal().getPortalURL(request, secure);
1088            }
1089    
1090            public static String getPortalURL(Layout layout, ThemeDisplay themeDisplay)
1091                    throws PortalException, SystemException {
1092    
1093                    return getPortal().getPortalURL(layout, themeDisplay);
1094            }
1095    
1096            public static String getPortalURL(PortletRequest portletRequest) {
1097                    return getPortal().getPortalURL(portletRequest);
1098            }
1099    
1100            public static String getPortalURL(
1101                    PortletRequest portletRequest, boolean secure) {
1102    
1103                    return getPortal().getPortalURL(portletRequest, secure);
1104            }
1105    
1106            public static String getPortalURL(
1107                    String serverName, int serverPort, boolean secure) {
1108    
1109                    return getPortal().getPortalURL(serverName, serverPort, secure);
1110            }
1111    
1112            public static String getPortalURL(ThemeDisplay themeDisplay)
1113                    throws PortalException, SystemException {
1114    
1115                    return getPortal().getPortalURL(themeDisplay);
1116            }
1117    
1118            public static String getPortalWebDir() {
1119                    return getPortal().getPortalWebDir();
1120            }
1121    
1122            /**
1123             * @deprecated As of 6.2.0 replaced by {@link
1124             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletInvocationWhitelist}
1125             */
1126            public static Set<String> getPortletAddDefaultResourceCheckWhitelist() {
1127                    return getPortal().getPortletAddDefaultResourceCheckWhitelist();
1128            }
1129    
1130            /**
1131             * @deprecated As of 6.2.0 replaced by {@link
1132             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletInvocationWhitelistActions}
1133             */
1134            public static Set<String>
1135                    getPortletAddDefaultResourceCheckWhitelistActions() {
1136    
1137                    return getPortal().getPortletAddDefaultResourceCheckWhitelistActions();
1138            }
1139    
1140            /**
1141             * @deprecated As of 6.1.0, replaced by {@link
1142             *             #getPortletBreadcrumbs(HttpServletRequest)}
1143             */
1144            public static List<BreadcrumbEntry> getPortletBreadcrumbList(
1145                    HttpServletRequest request) {
1146    
1147                    return getPortal().getPortletBreadcrumbList(request);
1148            }
1149    
1150            public static List<BreadcrumbEntry> getPortletBreadcrumbs(
1151                    HttpServletRequest request) {
1152    
1153                    return getPortal().getPortletBreadcrumbs(request);
1154            }
1155    
1156            public static PortletConfig getPortletConfig(
1157                            long companyId, String portletId, ServletContext servletContext)
1158                    throws PortletException, SystemException {
1159    
1160                    Portlet portlet = PortletLocalServiceUtil.getPortletById(
1161                            companyId, portletId);
1162    
1163                    InvokerPortlet invokerPortlet = PortletInstanceFactoryUtil.create(
1164                            portlet, servletContext);
1165    
1166                    return invokerPortlet.getPortletConfig();
1167            }
1168    
1169            public static String getPortletDescription(
1170                    Portlet portlet, ServletContext servletContext, Locale locale) {
1171    
1172                    return getPortal().getPortletDescription(
1173                            portlet, servletContext, locale);
1174            }
1175    
1176            public static String getPortletDescription(Portlet portlet, User user) {
1177                    return getPortal().getPortletDescription(portlet, user);
1178            }
1179    
1180            public static String getPortletDescription(
1181                    String portletId, Locale locale) {
1182    
1183                    return getPortal().getPortletDescription(portletId, locale);
1184            }
1185    
1186            public static String getPortletDescription(
1187                    String portletId, String languageId) {
1188    
1189                    return getPortal().getPortletDescription(portletId, languageId);
1190            }
1191    
1192            public static String getPortletDescription(String portletId, User user) {
1193                    return getPortal().getPortletDescription(portletId, user);
1194            }
1195    
1196            public static String getPortletId(HttpServletRequest request) {
1197                    return getPortal().getPortletId(request);
1198            }
1199    
1200            public static String getPortletId(PortletRequest portletRequest) {
1201                    return getPortal().getPortletId(portletRequest);
1202            }
1203    
1204            public static String getPortletLongTitle(Portlet portlet, Locale locale) {
1205                    return getPortal().getPortletLongTitle(portlet, locale);
1206            }
1207    
1208            public static String getPortletLongTitle(
1209                    Portlet portlet, ServletContext servletContext, Locale locale) {
1210    
1211                    return getPortal().getPortletLongTitle(portlet, servletContext, locale);
1212            }
1213    
1214            public static String getPortletLongTitle(
1215                    Portlet portlet, String languageId) {
1216    
1217                    return getPortal().getPortletLongTitle(portlet, languageId);
1218            }
1219    
1220            public static String getPortletLongTitle(Portlet portlet, User user) {
1221                    return getPortal().getPortletLongTitle(portlet, user);
1222            }
1223    
1224            public static String getPortletLongTitle(String portletId, Locale locale) {
1225                    return getPortal().getPortletLongTitle(portletId, locale);
1226            }
1227    
1228            public static String getPortletLongTitle(
1229                    String portletId, String languageId) {
1230    
1231                    return getPortal().getPortletLongTitle(portletId, languageId);
1232            }
1233    
1234            public static String getPortletLongTitle(String portletId, User user) {
1235                    return getPortal().getPortletLongTitle(portletId, user);
1236            }
1237    
1238            public static String getPortletNamespace(String portletId) {
1239                    return getPortal().getPortletNamespace(portletId);
1240            }
1241    
1242            public static String getPortletTitle(Portlet portlet, Locale locale) {
1243                    return getPortal().getPortletTitle(portlet, locale);
1244            }
1245    
1246            public static String getPortletTitle(
1247                    Portlet portlet, ServletContext servletContext, Locale locale) {
1248    
1249                    return getPortal().getPortletTitle(portlet, servletContext, locale);
1250            }
1251    
1252            public static String getPortletTitle(Portlet portlet, String languageId) {
1253                    return getPortal().getPortletTitle(portlet, languageId);
1254            }
1255    
1256            public static String getPortletTitle(Portlet portlet, User user) {
1257                    return getPortal().getPortletTitle(portlet, user);
1258            }
1259    
1260            public static String getPortletTitle(RenderRequest renderRequest) {
1261                    return getPortal().getPortletTitle(renderRequest);
1262            }
1263    
1264            public static String getPortletTitle(RenderResponse renderResponse) {
1265                    return getPortal().getPortletTitle(renderResponse);
1266            }
1267    
1268            public static String getPortletTitle(String portletId, Locale locale) {
1269                    return getPortal().getPortletTitle(portletId, locale);
1270            }
1271    
1272            public static String getPortletTitle(String portletId, String languageId) {
1273                    return getPortal().getPortletTitle(portletId, languageId);
1274            }
1275    
1276            public static String getPortletTitle(String portletId, User user) {
1277                    return getPortal().getPortletTitle(portletId, user);
1278            }
1279    
1280            public static String getPortletXmlFileName() throws SystemException {
1281                    return getPortal().getPortletXmlFileName();
1282            }
1283    
1284            public static PortletPreferences getPreferences(
1285                    HttpServletRequest request) {
1286    
1287                    return getPortal().getPreferences(request);
1288            }
1289    
1290            public static PreferencesValidator getPreferencesValidator(
1291                    Portlet portlet) {
1292    
1293                    return getPortal().getPreferencesValidator(portlet);
1294            }
1295    
1296            public static String getRelativeHomeURL(HttpServletRequest request)
1297                    throws PortalException, SystemException {
1298    
1299                    return getPortal().getRelativeHomeURL(request);
1300            }
1301    
1302            public static long getScopeGroupId(HttpServletRequest request)
1303                    throws PortalException, SystemException {
1304    
1305                    return getPortal().getScopeGroupId(request);
1306            }
1307    
1308            public static long getScopeGroupId(
1309                            HttpServletRequest request, String portletId)
1310                    throws PortalException, SystemException {
1311    
1312                    return getPortal().getScopeGroupId(request, portletId);
1313            }
1314    
1315            public static long getScopeGroupId(
1316                            HttpServletRequest request, String portletId,
1317                            boolean checkStagingGroup)
1318                    throws PortalException, SystemException {
1319    
1320                    return getPortal().getScopeGroupId(
1321                            request, portletId, checkStagingGroup);
1322            }
1323    
1324            public static long getScopeGroupId(Layout layout) {
1325                    return getPortal().getScopeGroupId(layout);
1326            }
1327    
1328            public static long getScopeGroupId(Layout layout, String portletId) {
1329                    return getPortal().getScopeGroupId(layout, portletId);
1330            }
1331    
1332            public static long getScopeGroupId(long plid) {
1333                    return getPortal().getScopeGroupId(plid);
1334            }
1335    
1336            public static long getScopeGroupId(PortletRequest portletRequest)
1337                    throws PortalException, SystemException {
1338    
1339                    return getPortal().getScopeGroupId(portletRequest);
1340            }
1341    
1342            public static User getSelectedUser(HttpServletRequest request)
1343                    throws PortalException, SystemException {
1344    
1345                    return getPortal().getSelectedUser(request);
1346            }
1347    
1348            public static User getSelectedUser(
1349                            HttpServletRequest request, boolean checkPermission)
1350                    throws PortalException, SystemException {
1351    
1352                    return getPortal().getSelectedUser(request, checkPermission);
1353            }
1354    
1355            public static User getSelectedUser(PortletRequest portletRequest)
1356                    throws PortalException, SystemException {
1357    
1358                    return getPortal().getSelectedUser(portletRequest);
1359            }
1360    
1361            public static User getSelectedUser(
1362                            PortletRequest portletRequest, boolean checkPermission)
1363                    throws PortalException, SystemException {
1364    
1365                    return getPortal().getSelectedUser(portletRequest, checkPermission);
1366            }
1367    
1368            public static String getServletContextName() {
1369                    return getPortal().getServletContextName();
1370            }
1371    
1372            public static long[] getSharedContentSiteGroupIds(
1373                            long companyId, long groupId, long userId)
1374                    throws PortalException, SystemException {
1375    
1376                    return getPortal().getSharedContentSiteGroupIds(
1377                            companyId, groupId, userId);
1378            }
1379    
1380            public static Map<String, List<Portlet>> getSiteAdministrationCategoriesMap(
1381                            HttpServletRequest request)
1382                    throws SystemException {
1383    
1384                    return getPortal().getSiteAdministrationCategoriesMap(request);
1385            }
1386    
1387            public static PortletURL getSiteAdministrationURL(
1388                            HttpServletRequest request, ThemeDisplay themeDisplay)
1389                    throws SystemException {
1390    
1391                    return getPortal().getSiteAdministrationURL(request, themeDisplay);
1392            }
1393    
1394            public static PortletURL getSiteAdministrationURL(
1395                    HttpServletRequest request, ThemeDisplay themeDisplay,
1396                    String portletName) {
1397    
1398                    return getPortal().getSiteAdministrationURL(
1399                            request, themeDisplay, portletName);
1400            }
1401    
1402            public static PortletURL getSiteAdministrationURL(
1403                            PortletResponse portletResponse, ThemeDisplay themeDisplay)
1404                    throws SystemException {
1405    
1406                    return getPortal().getSiteAdministrationURL(
1407                            portletResponse, themeDisplay);
1408            }
1409    
1410            public static PortletURL getSiteAdministrationURL(
1411                    PortletResponse portletResponse, ThemeDisplay themeDisplay,
1412                    String portletName) {
1413    
1414                    return getPortal().getSiteAdministrationURL(
1415                            portletResponse, themeDisplay, portletName);
1416            }
1417    
1418            public static long[] getSiteAndCompanyGroupIds(long groupId)
1419                    throws PortalException, SystemException {
1420    
1421                    return getPortal().getSiteAndCompanyGroupIds(groupId);
1422            }
1423    
1424            public static long[] getSiteAndCompanyGroupIds(ThemeDisplay themeDisplay)
1425                    throws PortalException, SystemException {
1426    
1427                    return getPortal().getSiteAndCompanyGroupIds(themeDisplay);
1428            }
1429    
1430            public static Locale getSiteDefaultLocale(long groupId)
1431                    throws PortalException, SystemException {
1432    
1433                    return getPortal().getSiteDefaultLocale(groupId);
1434            }
1435    
1436            public static long getSiteGroupId(long scopeGroupId)
1437                    throws PortalException, SystemException {
1438    
1439                    return getPortal().getSiteGroupId(scopeGroupId);
1440            }
1441    
1442            public static String getSiteLoginURL(ThemeDisplay themeDisplay)
1443                    throws PortalException, SystemException {
1444    
1445                    return getPortal().getSiteLoginURL(themeDisplay);
1446            }
1447    
1448            public static String getStaticResourceURL(
1449                    HttpServletRequest request, String uri) {
1450    
1451                    return getPortal().getStaticResourceURL(request, uri);
1452            }
1453    
1454            public static String getStaticResourceURL(
1455                    HttpServletRequest request, String uri, long timestamp) {
1456    
1457                    return getPortal().getStaticResourceURL(request, uri, timestamp);
1458            }
1459    
1460            public static String getStaticResourceURL(
1461                    HttpServletRequest request, String uri, String queryString) {
1462    
1463                    return getPortal().getStaticResourceURL(request, uri, queryString);
1464            }
1465    
1466            public static String getStaticResourceURL(
1467                    HttpServletRequest request, String uri, String queryString,
1468                    long timestamp) {
1469    
1470                    return getPortal().getStaticResourceURL(
1471                            request, uri, queryString, timestamp);
1472            }
1473    
1474            public static String getStrutsAction(HttpServletRequest request) {
1475                    return getPortal().getStrutsAction(request);
1476            }
1477    
1478            public static String[] getSystemGroups() {
1479                    return getPortal().getSystemGroups();
1480            }
1481    
1482            public static String[] getSystemOrganizationRoles() {
1483                    return getPortal().getSystemOrganizationRoles();
1484            }
1485    
1486            public static String[] getSystemRoles() {
1487                    return getPortal().getSystemRoles();
1488            }
1489    
1490            public static String[] getSystemSiteRoles() {
1491                    return getPortal().getSystemSiteRoles();
1492            }
1493    
1494            public static String getUniqueElementId(
1495                    HttpServletRequest request, String namespace, String id) {
1496    
1497                    return getPortal().getUniqueElementId(request, namespace, id);
1498            }
1499    
1500            public static String getUniqueElementId(
1501                    PortletRequest request, String namespace, String id) {
1502    
1503                    return getPortal().getUniqueElementId(request, namespace, id);
1504            }
1505    
1506            public static UploadPortletRequest getUploadPortletRequest(
1507                    PortletRequest portletRequest) {
1508    
1509                    return getPortal().getUploadPortletRequest(portletRequest);
1510            }
1511    
1512            public static UploadServletRequest getUploadServletRequest(
1513                    HttpServletRequest request) {
1514    
1515                    return getPortal().getUploadServletRequest(request);
1516            }
1517    
1518            public static Date getUptime() {
1519                    return getPortal().getUptime();
1520            }
1521    
1522            public static String getURLWithSessionId(String url, String sessionId) {
1523                    return getPortal().getURLWithSessionId(url, sessionId);
1524            }
1525    
1526            public static User getUser(HttpServletRequest request)
1527                    throws PortalException, SystemException {
1528    
1529                    return getPortal().getUser(request);
1530            }
1531    
1532            public static User getUser(PortletRequest portletRequest)
1533                    throws PortalException, SystemException {
1534    
1535                    return getPortal().getUser(portletRequest);
1536            }
1537    
1538            public static String getUserEmailAddress(long userId)
1539                    throws SystemException {
1540    
1541                    return getPortal().getUserEmailAddress(userId);
1542            }
1543    
1544            public static long getUserId(HttpServletRequest request) {
1545                    return getPortal().getUserId(request);
1546            }
1547    
1548            public static long getUserId(PortletRequest portletRequest) {
1549                    return getPortal().getUserId(portletRequest);
1550            }
1551    
1552            public static String getUserName(BaseModel<?> baseModel) {
1553                    return getPortal().getUserName(baseModel);
1554            }
1555    
1556            public static String getUserName(long userId, String defaultUserName) {
1557                    return getPortal().getUserName(userId, defaultUserName);
1558            }
1559    
1560            public static String getUserName(
1561                    long userId, String defaultUserName, HttpServletRequest request) {
1562    
1563                    return getPortal().getUserName(userId, defaultUserName, request);
1564            }
1565    
1566            public static String getUserName(
1567                    long userId, String defaultUserName, String userAttribute) {
1568    
1569                    return getPortal().getUserName(userId, defaultUserName, userAttribute);
1570            }
1571    
1572            public static String getUserName(
1573                    long userId, String defaultUserName, String userAttribute,
1574                    HttpServletRequest request) {
1575    
1576                    return getPortal().getUserName(
1577                            userId, defaultUserName, userAttribute, request);
1578            }
1579    
1580            public static String getUserPassword(HttpServletRequest request) {
1581                    return getPortal().getUserPassword(request);
1582            }
1583    
1584            public static String getUserPassword(HttpSession session) {
1585                    return getPortal().getUserPassword(session);
1586            }
1587    
1588            public static String getUserPassword(PortletRequest portletRequest) {
1589                    return getPortal().getUserPassword(portletRequest);
1590            }
1591    
1592            public static String getUserValue(
1593                            long userId, String param, String defaultValue)
1594                    throws SystemException {
1595    
1596                    return getPortal().getUserValue(userId, param, defaultValue);
1597            }
1598    
1599            public static String getValidPortalDomain(long companyId, String domain) {
1600                    return getPortal().getValidPortalDomain(companyId, domain);
1601            }
1602    
1603            public static long getValidUserId(long companyId, long userId)
1604                    throws PortalException, SystemException {
1605    
1606                    return getPortal().getValidUserId(companyId, userId);
1607            }
1608    
1609            public static String getVirtualLayoutActualURL(
1610                            long groupId, boolean privateLayout, String mainPath,
1611                            String friendlyURL, Map<String, String[]> params,
1612                            Map<String, Object> requestContext)
1613                    throws PortalException, SystemException {
1614    
1615                    return getPortal().getVirtualLayoutActualURL(
1616                            groupId, privateLayout, mainPath, friendlyURL, params,
1617                            requestContext);
1618            }
1619    
1620            public static LayoutFriendlyURLComposite
1621                    getVirtualLayoutFriendlyURLComposite(
1622                            boolean privateLayout, String friendlyURL,
1623                            Map<String, String[]> params, Map<String, Object> requestContext)
1624                    throws PortalException, SystemException {
1625    
1626                    return getPortal().getVirtualLayoutFriendlyURLComposite(
1627                            privateLayout, friendlyURL, params, requestContext);
1628            }
1629    
1630            public static String getWidgetURL(
1631                            Portlet portlet, ThemeDisplay themeDisplay)
1632                    throws PortalException, SystemException {
1633    
1634                    return getPortal().getWidgetURL(portlet, themeDisplay);
1635            }
1636    
1637            public static void initCustomSQL() {
1638                    getPortal().initCustomSQL();
1639            }
1640    
1641            public static User initUser(HttpServletRequest request) throws Exception {
1642                    return getPortal().initUser(request);
1643            }
1644    
1645            public static void invokeTaglibDiscussion(
1646                            PortletConfig portletConfig, ActionRequest actionRequest,
1647                            ActionResponse actionResponse)
1648                    throws Exception {
1649    
1650                    getPortal().invokeTaglibDiscussion(
1651                            portletConfig, actionRequest, actionResponse);
1652            }
1653    
1654            /**
1655             * @deprecated As of 6.2.0 with no direct replacement
1656             */
1657            public static boolean isAllowAddPortletDefaultResource(
1658                            HttpServletRequest request, Portlet portlet)
1659                    throws PortalException, SystemException {
1660    
1661                    return getPortal().isAllowAddPortletDefaultResource(request, portlet);
1662            }
1663    
1664            public static boolean isCDNDynamicResourcesEnabled(
1665                            HttpServletRequest request)
1666                    throws PortalException, SystemException {
1667    
1668                    return getPortal().isCDNDynamicResourcesEnabled(request);
1669            }
1670    
1671            public static boolean isCDNDynamicResourcesEnabled(long companyId) {
1672                    return getPortal().isCDNDynamicResourcesEnabled(companyId);
1673            }
1674    
1675            /**
1676             * @deprecated As of 6.1.0, renamed to {@link #isGroupAdmin(User, long)}
1677             */
1678            public static boolean isCommunityAdmin(User user, long groupId)
1679                    throws Exception {
1680    
1681                    return getPortal().isCommunityAdmin(user, groupId);
1682            }
1683    
1684            /**
1685             * @deprecated As of 6.1.0, renamed to {@link #isGroupOwner(User, long)}
1686             */
1687            public static boolean isCommunityOwner(User user, long groupId)
1688                    throws Exception {
1689    
1690                    return getPortal().isCommunityOwner(user, groupId);
1691            }
1692    
1693            public static boolean isCompanyAdmin(User user) throws Exception {
1694                    return getPortal().isCompanyAdmin(user);
1695            }
1696    
1697            public static boolean isCompanyControlPanelPortlet(
1698                            String portletId, String category, ThemeDisplay themeDisplay)
1699                    throws PortalException, SystemException {
1700    
1701                    return getPortal().isCompanyControlPanelPortlet(
1702                            portletId, category, themeDisplay);
1703            }
1704    
1705            public static boolean isCompanyControlPanelPortlet(
1706                            String portletId, ThemeDisplay themeDisplay)
1707                    throws PortalException, SystemException {
1708    
1709                    return getPortal().isCompanyControlPanelPortlet(
1710                            portletId, themeDisplay);
1711            }
1712    
1713            public static boolean isCompanyControlPanelVisible(
1714                            ThemeDisplay themeDisplay)
1715                    throws PortalException, SystemException {
1716    
1717                    return getPortal().isCompanyControlPanelVisible(themeDisplay);
1718            }
1719    
1720            public static boolean isControlPanelPortlet(
1721                            String portletId, String category, ThemeDisplay themeDisplay)
1722                    throws SystemException {
1723    
1724                    return getPortal().isControlPanelPortlet(
1725                            portletId, category, themeDisplay);
1726            }
1727    
1728            public static boolean isControlPanelPortlet(
1729                            String portletId, ThemeDisplay themeDisplay)
1730                    throws SystemException {
1731    
1732                    return getPortal().isControlPanelPortlet(portletId, themeDisplay);
1733            }
1734    
1735            public static boolean isGroupAdmin(User user, long groupId)
1736                    throws Exception {
1737    
1738                    return getPortal().isGroupAdmin(user, groupId);
1739            }
1740    
1741            public static boolean isGroupFriendlyURL(
1742                    String fullURL, String groupFriendlyURL, String layoutFriendlyURL) {
1743    
1744                    return getPortal().isGroupFriendlyURL(
1745                            fullURL, groupFriendlyURL, layoutFriendlyURL);
1746            }
1747    
1748            public static boolean isGroupOwner(User user, long groupId)
1749                    throws Exception {
1750    
1751                    return getPortal().isGroupOwner(user, groupId);
1752            }
1753    
1754            public static boolean isLayoutDescendant(Layout layout, long layoutId)
1755                    throws PortalException, SystemException {
1756    
1757                    return getPortal().isLayoutDescendant(layout, layoutId);
1758            }
1759    
1760            public static boolean isLayoutFirstPageable(Layout layout) {
1761                    return getPortal().isLayoutFirstPageable(layout);
1762            }
1763    
1764            public static boolean isLayoutFirstPageable(String type) {
1765                    return getPortal().isLayoutFirstPageable(type);
1766            }
1767    
1768            public static boolean isLayoutFriendliable(Layout layout) {
1769                    return getPortal().isLayoutFriendliable(layout);
1770            }
1771    
1772            public static boolean isLayoutFriendliable(String type) {
1773                    return getPortal().isLayoutFriendliable(type);
1774            }
1775    
1776            public static boolean isLayoutParentable(Layout layout) {
1777                    return getPortal().isLayoutParentable(layout);
1778            }
1779    
1780            public static boolean isLayoutParentable(String type) {
1781                    return getPortal().isLayoutParentable(type);
1782            }
1783    
1784            public static boolean isLayoutSitemapable(Layout layout) {
1785                    return getPortal().isLayoutSitemapable(layout);
1786            }
1787    
1788            public static boolean isLoginRedirectRequired(HttpServletRequest request)
1789                    throws SystemException {
1790    
1791                    return getPortal().isLoginRedirectRequired(request);
1792            }
1793    
1794            public static boolean isMethodGet(PortletRequest portletRequest) {
1795                    return getPortal().isMethodGet(portletRequest);
1796            }
1797    
1798            public static boolean isMethodPost(PortletRequest portletRequest) {
1799                    return getPortal().isMethodPost(portletRequest);
1800            }
1801    
1802            public static boolean isMultipartRequest(HttpServletRequest request) {
1803                    return getPortal().isMultipartRequest(request);
1804            }
1805    
1806            public static boolean isOmniadmin(long userId) {
1807                    return getPortal().isOmniadmin(userId);
1808            }
1809    
1810            public static boolean isReservedParameter(String name) {
1811                    return getPortal().isReservedParameter(name);
1812            }
1813    
1814            public static boolean isRSSFeedsEnabled() {
1815                    return getPortal().isRSSFeedsEnabled();
1816            }
1817    
1818            public static boolean isSecure(HttpServletRequest request) {
1819                    return getPortal().isSecure(request);
1820            }
1821    
1822            public static boolean isSystemGroup(String groupName) {
1823                    return getPortal().isSystemGroup(groupName);
1824            }
1825    
1826            public static boolean isSystemRole(String roleName) {
1827                    return getPortal().isSystemRole(roleName);
1828            }
1829    
1830            public static boolean isUpdateAvailable() throws SystemException {
1831                    return getPortal().isUpdateAvailable();
1832            }
1833    
1834            public static boolean isValidResourceId(String resourceId) {
1835                    return getPortal().isValidResourceId(resourceId);
1836            }
1837    
1838            public static void resetCDNHosts() {
1839                    getPortal().resetCDNHosts();
1840            }
1841    
1842            /**
1843             * @deprecated As of 6.2.0 replaced by {@link
1844             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#resetPortletInvocationWhitelist}
1845             */
1846            public static Set<String> resetPortletAddDefaultResourceCheckWhitelist() {
1847                    return getPortal().resetPortletAddDefaultResourceCheckWhitelist();
1848            }
1849    
1850            /**
1851             * @deprecated As of 6.2.0 replaced by {@link
1852             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#resetPortletInvocationWhitelistActions}
1853             */
1854            public static Set<String>
1855                    resetPortletAddDefaultResourceCheckWhitelistActions() {
1856    
1857                    return getPortal().
1858                            resetPortletAddDefaultResourceCheckWhitelistActions();
1859            }
1860    
1861            public static String resetPortletParameters(String url, String portletId) {
1862                    return getPortal().resetPortletParameters(url, portletId);
1863            }
1864    
1865            /**
1866             * @deprecated As of 6.1.0, replaced by {@link DB#runSQL(String)}
1867             */
1868            public static void runSQL(String sql) throws IOException, SQLException {
1869                    DBFactoryUtil.getDB().runSQL(sql);
1870            }
1871    
1872            public static void sendError(
1873                            Exception e, ActionRequest actionRequest,
1874                            ActionResponse actionResponse)
1875                    throws IOException {
1876    
1877                    getPortal().sendError(e, actionRequest, actionResponse);
1878            }
1879    
1880            public static void sendError(
1881                            Exception e, HttpServletRequest request,
1882                            HttpServletResponse response)
1883                    throws IOException, ServletException {
1884    
1885                    getPortal().sendError(e, request, response);
1886            }
1887    
1888            public static void sendError(
1889                            int status, Exception e, ActionRequest actionRequest,
1890                            ActionResponse actionResponse)
1891                    throws IOException {
1892    
1893                    getPortal().sendError(status, e, actionRequest, actionResponse);
1894            }
1895    
1896            public static void sendError(
1897                            int status, Exception e, HttpServletRequest request,
1898                            HttpServletResponse response)
1899                    throws IOException, ServletException {
1900    
1901                    getPortal().sendError(status, e, request, response);
1902            }
1903    
1904            public static void sendRSSFeedsDisabledError(
1905                            HttpServletRequest request, HttpServletResponse response)
1906                    throws IOException, ServletException {
1907    
1908                    getPortal().sendRSSFeedsDisabledError(request, response);
1909            }
1910    
1911            public static void sendRSSFeedsDisabledError(
1912                            PortletRequest portletRequest, PortletResponse portletResponse)
1913                    throws IOException, ServletException {
1914    
1915                    getPortal().sendRSSFeedsDisabledError(portletRequest, portletResponse);
1916            }
1917    
1918            /**
1919             * Sets the description for a page. This overrides the existing page
1920             * description.
1921             */
1922            public static void setPageDescription(
1923                    String description, HttpServletRequest request) {
1924    
1925                    getPortal().setPageDescription(description, request);
1926            }
1927    
1928            /**
1929             * Sets the keywords for a page. This overrides the existing page keywords.
1930             */
1931            public static void setPageKeywords(
1932                    String keywords, HttpServletRequest request) {
1933    
1934                    getPortal().setPageKeywords(keywords, request);
1935            }
1936    
1937            /**
1938             * Sets the subtitle for a page. This overrides the existing page subtitle.
1939             */
1940            public static void setPageSubtitle(
1941                    String subtitle, HttpServletRequest request) {
1942    
1943                    getPortal().setPageSubtitle(subtitle, request);
1944            }
1945    
1946            /**
1947             * Sets the whole title for a page. This overrides the existing page whole
1948             * title.
1949             */
1950            public static void setPageTitle(String title, HttpServletRequest request) {
1951                    getPortal().setPageTitle(title, request);
1952            }
1953    
1954            /**
1955             * Sets the port obtained on the first request to the portal.
1956             */
1957            public static void setPortalPort(HttpServletRequest request) {
1958                    getPortal().setPortalPort(request);
1959            }
1960    
1961            public static void storePreferences(PortletPreferences portletPreferences)
1962                    throws IOException, ValidatorException {
1963    
1964                    getPortal().storePreferences(portletPreferences);
1965            }
1966    
1967            public static String[] stripURLAnchor(String url, String separator) {
1968                    return getPortal().stripURLAnchor(url, separator);
1969            }
1970    
1971            public static String transformCustomSQL(String sql) {
1972                    return getPortal().transformCustomSQL(sql);
1973            }
1974    
1975            public static String transformSQL(String sql) {
1976                    return getPortal().transformSQL(sql);
1977            }
1978    
1979            public static PortletMode updatePortletMode(
1980                    String portletId, User user, Layout layout, PortletMode portletMode,
1981                    HttpServletRequest request) {
1982    
1983                    return getPortal().updatePortletMode(
1984                            portletId, user, layout, portletMode, request);
1985            }
1986    
1987            public static String updateRedirect(
1988                    String redirect, String oldPath, String newPath) {
1989    
1990                    return getPortal().updateRedirect(redirect, oldPath, newPath);
1991            }
1992    
1993            public static WindowState updateWindowState(
1994                    String portletId, User user, Layout layout, WindowState windowState,
1995                    HttpServletRequest request) {
1996    
1997                    return getPortal().updateWindowState(
1998                            portletId, user, layout, windowState, request);
1999            }
2000    
2001            public void removePortalPortEventListener(
2002                    PortalPortEventListener portalPortEventListener) {
2003    
2004                    getPortal().removePortalPortEventListener(portalPortEventListener);
2005            }
2006    
2007            public void setPortal(Portal portal) {
2008                    PortalRuntimePermission.checkSetBeanProperty(getClass());
2009    
2010                    _portal = portal;
2011            }
2012    
2013            private static Portal _portal;
2014    
2015    }