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.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
020    import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
021    import com.liferay.portal.kernel.servlet.taglib.ui.BreadcrumbEntry;
022    import com.liferay.portal.kernel.upload.UploadPortletRequest;
023    import com.liferay.portal.kernel.upload.UploadServletRequest;
024    import com.liferay.portal.model.BaseModel;
025    import com.liferay.portal.model.Company;
026    import com.liferay.portal.model.Group;
027    import com.liferay.portal.model.Layout;
028    import com.liferay.portal.model.LayoutFriendlyURLComposite;
029    import com.liferay.portal.model.LayoutQueryStringComposite;
030    import com.liferay.portal.model.LayoutSet;
031    import com.liferay.portal.model.Portlet;
032    import com.liferay.portal.model.ResourcePermission;
033    import com.liferay.portal.model.User;
034    import com.liferay.portal.theme.ThemeDisplay;
035    import com.liferay.portlet.expando.model.ExpandoBridge;
036    
037    import java.io.IOException;
038    import java.io.Serializable;
039    
040    import java.util.Date;
041    import java.util.List;
042    import java.util.Locale;
043    import java.util.Map;
044    import java.util.Properties;
045    import java.util.Set;
046    import java.util.TimeZone;
047    
048    import javax.portlet.ActionRequest;
049    import javax.portlet.ActionResponse;
050    import javax.portlet.PortletConfig;
051    import javax.portlet.PortletException;
052    import javax.portlet.PortletMode;
053    import javax.portlet.PortletPreferences;
054    import javax.portlet.PortletRequest;
055    import javax.portlet.PortletResponse;
056    import javax.portlet.PortletURL;
057    import javax.portlet.PreferencesValidator;
058    import javax.portlet.RenderRequest;
059    import javax.portlet.RenderResponse;
060    import javax.portlet.ValidatorException;
061    import javax.portlet.WindowState;
062    
063    import javax.servlet.ServletContext;
064    import javax.servlet.ServletException;
065    import javax.servlet.http.HttpServletRequest;
066    import javax.servlet.http.HttpServletResponse;
067    import javax.servlet.http.HttpSession;
068    import javax.servlet.jsp.PageContext;
069    
070    /**
071     * @author Brian Wing Shun Chan
072     * @author Eduardo Lundgren
073     */
074    public interface Portal {
075    
076            public static final String FRIENDLY_URL_SEPARATOR = "/-/";
077    
078            public static final String JSESSIONID = ";jsessionid=";
079    
080            public static final String PATH_IMAGE = "/image";
081    
082            public static final String PATH_MAIN = "/c";
083    
084            public static final String PATH_MODULE = "/o";
085    
086            public static final String PATH_PORTAL_LAYOUT = "/portal/layout";
087    
088            public static final String PORTAL_REALM = "PortalRealm";
089    
090            public static final String PORTLET_XML_FILE_NAME_CUSTOM =
091                    "portlet-custom.xml";
092    
093            public static final String PORTLET_XML_FILE_NAME_STANDARD = "portlet.xml";
094    
095            public static final String TEMP_OBFUSCATION_VALUE =
096                    "TEMP_OBFUSCATION_VALUE";
097    
098            /**
099             * Appends the description to the current meta description of the page.
100             *
101             * @param description the description to append to the current meta
102             *        description
103             * @param request the servlet request for the page
104             */
105            public void addPageDescription(
106                    String description, HttpServletRequest request);
107    
108            /**
109             * Appends the keywords to the current meta keywords of the page.
110             *
111             * @param keywords the keywords to add to the current meta keywords
112             *        (comma-separated)
113             * @param request the servlet request for the page
114             */
115            public void addPageKeywords(String keywords, HttpServletRequest request);
116    
117            /**
118             * Appends the subtitle to the current subtitle of the page.
119             *
120             * @param subtitle the subtitle to append to the current subtitle
121             * @param request the servlet request for the page
122             */
123            public void addPageSubtitle(String subtitle, HttpServletRequest request);
124    
125            /**
126             * Appends the title to the current title of the page.
127             *
128             * @param title the title to append to the current title
129             * @param request the servlet request for the page
130             */
131            public void addPageTitle(String title, HttpServletRequest request);
132    
133            /**
134             * Adds the portal port event listener to the portal. The listener will be
135             * notified whenever the portal port is set.
136             *
137             * @param portalPortEventListener the portal port event listener to add
138             */
139            public void addPortalPortEventListener(
140                    PortalPortEventListener portalPortEventListener);
141    
142            /**
143             * Adds an entry to the portlet breadcrumbs for the page.
144             *
145             * @param request the servlet request for the page
146             * @param title the title of the new breakcrumb entry
147             * @param url the URL of the new breadcrumb entry
148             */
149            public void addPortletBreadcrumbEntry(
150                    HttpServletRequest request, String title, String url);
151    
152            /**
153             * Adds an entry to the portlet breadcrumbs for the page.
154             *
155             * @param request the servlet request for the page
156             * @param title the title of the new breakcrumb entry
157             * @param url the URL of the new breadcrumb entry
158             * @param data the HTML5 data parameters of the new breadcrumb entry
159             */
160            public void addPortletBreadcrumbEntry(
161                    HttpServletRequest request, String title, String url,
162                    Map<String, Object> data);
163    
164            /**
165             * Adds the default resource permissions for the portlet to the page.
166             *
167             * @param  request the servlet request for the page
168             * @param  portlet the portlet
169             * @throws PortalException if adding the default resource permissions failed
170             * @throws SystemException if a system exception occurred
171             */
172            public void addPortletDefaultResource(
173                            HttpServletRequest request, Portlet portlet)
174                    throws PortalException, SystemException;
175    
176            public void addPortletDefaultResource(
177                            long companyId, Layout layout, Portlet portlet)
178                    throws PortalException, SystemException;
179    
180            /**
181             * Adds the preserved parameters doAsGroupId and refererPlid to the URL,
182             * optionally adding doAsUserId and doAsUserLanguageId as well.
183             *
184             * <p>
185             * Preserved parameters are parameters that should be sent with every
186             * request as the user navigates the portal.
187             * </p>
188             *
189             * @param  themeDisplay the current theme display
190             * @param  layout the current layout
191             * @param  url the URL
192             * @param  doAsUser whether to include doAsUserId and doAsLanguageId in the
193             *         URL if they are available. If <code>false</code>, doAsUserId and
194             *         doAsUserLanguageId will never be added.
195             * @return the URL with the preserved parameters added
196             */
197            public String addPreservedParameters(
198                    ThemeDisplay themeDisplay, Layout layout, String url, boolean doAsUser);
199    
200            /**
201             * Adds the preserved parameters doAsUserId, doAsUserLanguageId,
202             * doAsGroupId, refererPlid, and controlPanelCategory to the URL.
203             *
204             * @param  themeDisplay the current theme display
205             * @param  url the URL
206             * @return the URL with the preserved parameters added
207             */
208            public String addPreservedParameters(ThemeDisplay themeDisplay, String url);
209    
210            public void addUserLocaleOptionsMessage(HttpServletRequest request);
211    
212            /**
213             * Clears the render parameters in the request if the portlet is in the
214             * action phase.
215             *
216             * @param renderRequest the render request
217             */
218            public void clearRequestParameters(RenderRequest renderRequest);
219    
220            /**
221             * Copies the request parameters to the render parameters, unless a
222             * parameter with that name already exists in the render parameters.
223             *
224             * @param actionRequest the request from which to get the request parameters
225             * @param actionResponse the response to receive the render parameters
226             */
227            public void copyRequestParameters(
228                    ActionRequest actionRequest, ActionResponse actionResponse);
229    
230            /**
231             * Escapes the URL for use in a redirect and checks that security settings
232             * allow the URL is allowed for redirects.
233             *
234             * @param  url the URL to escape
235             * @return the escaped URL, or <code>null</code> if the URL is not an
236             *         allowed for redirects
237             */
238            public String escapeRedirect(String url);
239    
240            /**
241             * Generates a random key to identify the request based on the input string.
242             *
243             * @param  request the servlet request for the page
244             * @param  input the input string
245             * @return the generated key
246             */
247            public String generateRandomKey(HttpServletRequest request, String input);
248    
249            public String getAbsoluteURL(HttpServletRequest request, String url);
250    
251            public LayoutQueryStringComposite getActualLayoutQueryStringComposite(
252                            long groupId, boolean privateLayout, String friendlyURL,
253                            Map<String, String[]> params, Map<String, Object> requestContext)
254                    throws PortalException, SystemException;
255    
256            public String getActualURL(
257                            long groupId, boolean privateLayout, String mainPath,
258                            String friendlyURL, Map<String, String[]> params,
259                            Map<String, Object> requestContext)
260                    throws PortalException, SystemException;
261    
262            /**
263             * Returns an array with the alternate locales, considering if the page is
264             * showing just a content and the translations of this content.
265             *
266             * @param      request the servlet request for the page
267             * @return     the array of alternate locales
268             * @throws     PortalException if a portal exception occurred
269             * @throws     SystemException if a system exception occurred
270             * @deprecated As of 6.2.0, replaced by {@link
271             *             com.liferay.portal.kernel.language.LanguageUtil#getAvailableLocales}
272             */
273            public Locale[] getAlternateLocales(HttpServletRequest request)
274                    throws PortalException, SystemException;
275    
276            /**
277             * Returns the alternate URL of the page, to distinguish it from its
278             * canonical URL.
279             *
280             * @param  canonicalURL the canonical URL previously obtained
281             * @param  themeDisplay the theme display
282             * @param  locale the locale of the translated page
283             * @param  layout the layout
284             * @return the alternate URL
285             * @throws PortalException if a portal exception occurred
286             * @throws SystemException if a system exception occurred
287             */
288            public String getAlternateURL(
289                            String canonicalURL, ThemeDisplay themeDisplay, Locale locale,
290                            Layout layout)
291                    throws PortalException, SystemException;
292    
293            /**
294             * Returns the set of struts actions that should not be checked for an
295             * authentication token.
296             *
297             * @return     the set of struts actions that should not be checked for an
298             *             authentication token
299             * @deprecated As of 6.2.0, replaced by {@link
300             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletCSRFWhitelistActions}
301             */
302            public Set<String> getAuthTokenIgnoreActions();
303    
304            /**
305             * Returns the set of IDs of portlets that should not be checked for an
306             * authentication token.
307             *
308             * @return     the set of IDs of portlets that should not be checked for an
309             *             authentication token
310             * @deprecated As of 6.2.0, replaced by {@link
311             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletCSRFWhitelist}
312             */
313            public Set<String> getAuthTokenIgnorePortlets();
314    
315            /**
316             * Returns the base model instance for the resource permission.
317             *
318             * @param  resourcePermission the resource permission
319             * @return the base model instance, or <code>null</code> if the resource
320             *         permission does not have a base model instance (such as if its a
321             *         portlet)
322             * @throws PortalException if a base model instance for the resource
323             *         permission could not be found
324             * @throws SystemException if a system exception occurred
325             */
326            public BaseModel<?> getBaseModel(ResourcePermission resourcePermission)
327                    throws PortalException, SystemException;
328    
329            /**
330             * Returns the base model instance for the model name and primary key.
331             *
332             * @param  modelName the fully qualified class name of the model
333             * @param  primKey the primary key of the model instance to get
334             * @return the base model instance, or <code>null</code> if the model does
335             *         not have a base model instance (such as if its a portlet)
336             * @throws PortalException if a base model instance with the primary key
337             *         could not be found
338             * @throws SystemException if a system exception occurred
339             */
340            public BaseModel<?> getBaseModel(String modelName, String primKey)
341                    throws PortalException, SystemException;
342    
343            /**
344             * Returns the user's ID from the HTTP authentication headers after
345             * validating their credentials.
346             *
347             * @param  request the servlet request from which to retrieve the HTTP
348             *         authentication headers
349             * @return the user's ID if HTTP authentication headers are present and
350             *         their credentials are valid; 0 otherwise
351             * @throws PortalException if an authentication exception occurred
352             * @throws SystemException if a system exception occurred
353             */
354            public long getBasicAuthUserId(HttpServletRequest request)
355                    throws PortalException, SystemException;
356    
357            /**
358             * Returns the user's ID from the HTTP authentication headers after
359             * validation their credentials.
360             *
361             * @param  request the servlet request to retrieve the HTTP authentication
362             *         headers from
363             * @param  companyId unused
364             * @return the user's ID if HTTP authentication headers are present and
365             *         their credentials are valid; 0 otherwise
366             * @throws PortalException if an authentication exception occurred
367             * @throws SystemException if a system exception occurred
368             */
369            public long getBasicAuthUserId(HttpServletRequest request, long companyId)
370                    throws PortalException, SystemException;
371    
372            /**
373             * Returns the canonical URL of the page, to distinguish it among its
374             * translations.
375             *
376             * @param  completeURL the complete URL of the page
377             * @param  themeDisplay the current theme display
378             * @param  layout the layout. If it is <code>null</code>, then it is
379             *         generated for the current layout
380             * @return the canonical URL
381             * @throws PortalException if a friendly URL or the group could not be
382             *         retrieved
383             * @throws SystemException if a system exception occurred
384             */
385            public String getCanonicalURL(
386                            String completeURL, ThemeDisplay themeDisplay, Layout layout)
387                    throws PortalException, SystemException;
388    
389            /**
390             * Returns the canonical URL of the page, to distinguish it among its
391             * translations.
392             *
393             * @param  completeURL the complete URL of the page
394             * @param  themeDisplay the current theme display
395             * @param  layout the layout. If it is <code>null</code>, then it is
396             *         generated for the current layout
397             * @param  forceLayoutFriendlyURL adds the page friendly URL to the
398             *         canonical URL even if it is not needed
399             * @return the canonical URL
400             * @throws PortalException if a friendly URL or the group could not be
401             *         retrieved
402             * @throws SystemException if a system exception occurred
403             */
404            public String getCanonicalURL(
405                            String completeURL, ThemeDisplay themeDisplay, Layout layout,
406                            boolean forceLayoutFriendlyURL)
407                    throws PortalException, SystemException;
408    
409            /**
410             * @deprecated As of 6.2.0, replaced by the more general {@link
411             *             #getCDNHost(boolean)}
412             */
413            public String getCDNHost();
414    
415            /**
416             * Returns the secure (HTTPS) or insecure (HTTP) content distribution
417             * network (CDN) host address for this portal.
418             *
419             * @param  secure whether to get the secure or insecure CDN host address
420             * @return the CDN host address
421             */
422            public String getCDNHost(boolean secure);
423    
424            public String getCDNHost(HttpServletRequest request)
425                    throws PortalException, SystemException;
426    
427            /**
428             * Returns the insecure (HTTP) content distribution network (CDN) host
429             * address
430             *
431             * @param  companyId the company ID of a site
432             * @return the CDN host address
433             */
434            public String getCDNHostHttp(long companyId);
435    
436            /**
437             * Returns the secure (HTTPS) content distribution network (CDN) host
438             * address
439             *
440             * @param  companyId the company ID of a site
441             * @return the CDN host address
442             */
443            public String getCDNHostHttps(long companyId);
444    
445            /**
446             * Returns the fully qualified name of the class from its ID.
447             *
448             * @param  classNameId the ID of the class
449             * @return the fully qualified name of the class
450             */
451            public String getClassName(long classNameId);
452    
453            /**
454             * Returns the ID of the class from its class object.
455             *
456             * @param  clazz the class object
457             * @return the ID of the class
458             */
459            public long getClassNameId(Class<?> clazz);
460    
461            /**
462             * Returns the ID of the class from its fully qualified name.
463             *
464             * @param  value the fully qualified name of the class
465             * @return the ID of the class
466             */
467            public long getClassNameId(String value);
468    
469            /**
470             * Returns the ID of certain portlets from the fully qualified name of one
471             * of their classes. The portlets this method supports are: blogs,
472             * bookmarks, calendar, document library, image gallery, journal, message
473             * boards, and wiki.
474             *
475             * @param  className the fully qualified name of a class in a portlet
476             * @return the ID of the portlet the class is a part of, or an empty string
477             *         if the class is not supported
478             */
479            public String getClassNamePortletId(String className);
480    
481            public Company getCompany(HttpServletRequest request)
482                    throws PortalException, SystemException;
483    
484            public Company getCompany(PortletRequest portletRequest)
485                    throws PortalException, SystemException;
486    
487            public long getCompanyId(HttpServletRequest requestuest);
488    
489            public long getCompanyId(PortletRequest portletRequest);
490    
491            public long[] getCompanyIds();
492    
493            public String getComputerAddress();
494    
495            public String getComputerName();
496    
497            public Map<String, List<Portlet>> getControlPanelCategoriesMap(
498                            HttpServletRequest request)
499                    throws SystemException;
500    
501            public String getControlPanelCategory(
502                            String portletId, ThemeDisplay themeDisplay)
503                    throws SystemException;
504    
505            public String getControlPanelFullURL(
506                            long scopeGroupId, String ppid, Map<String, String[]> params)
507                    throws PortalException, SystemException;
508    
509            public long getControlPanelPlid(long companyId)
510                    throws PortalException, SystemException;
511    
512            public long getControlPanelPlid(PortletRequest portletRequest)
513                    throws PortalException, SystemException;
514    
515            public Set<Portlet> getControlPanelPortlets(long companyId, String category)
516                    throws SystemException;
517    
518            public List<Portlet> getControlPanelPortlets(
519                            String category, ThemeDisplay themeDisplay)
520                    throws SystemException;
521    
522            public PortletURL getControlPanelPortletURL(
523                    HttpServletRequest request, String portletId, long referrerPlid,
524                    String lifecycle);
525    
526            public PortletURL getControlPanelPortletURL(
527                    PortletRequest portletRequest, String portletId, long referrerPlid,
528                    String lifecycle);
529    
530            public String getCreateAccountURL(
531                            HttpServletRequest request, ThemeDisplay themeDisplay)
532                    throws Exception;
533    
534            public String getCurrentCompleteURL(HttpServletRequest request);
535    
536            public String getCurrentURL(HttpServletRequest request);
537    
538            public String getCurrentURL(PortletRequest portletRequest);
539    
540            public String getCustomSQLFunctionIsNotNull();
541    
542            public String getCustomSQLFunctionIsNull();
543    
544            /**
545             * Returns the date object for the specified month, day, and year.
546             *
547             * @param  month the month (0-based, meaning 0 for January)
548             * @param  day the day of the month
549             * @param  year the year
550             * @return the date object
551             */
552            public Date getDate(int month, int day, int year);
553    
554            /**
555             * Returns the date object for the specified month, day, and year,
556             * optionally throwing an exception if the date is invalid.
557             *
558             * @param  month the month (0-based, meaning 0 for January)
559             * @param  day the day of the month
560             * @param  year the year
561             * @param  clazz the exception class to throw if the date is invalid. If
562             *         <code>null</code>, no exception will be thrown for an invalid
563             *         date.
564             * @return the date object, or <code>null</code> if the date is invalid and
565             *         no exception to throw was provided
566             * @throws PortalException if the date was invalid and <code>pe</code> was
567             *         not <code>null</code>
568             */
569            public Date getDate(
570                            int month, int day, int year,
571                            Class<? extends PortalException> clazz)
572                    throws PortalException;
573    
574            /**
575             * Returns the date object for the specified month, day, year, hour, and
576             * minute, optionally throwing an exception if the date is invalid.
577             *
578             * @param  month the month (0-based, meaning 0 for January)
579             * @param  day the day of the month
580             * @param  year the year
581             * @param  hour the hour (0-24)
582             * @param  min the minute of the hour
583             * @param  clazz the exception class to throw if the date is invalid. If
584             *         <code>null</code>, no exception will be thrown for an invalid
585             *         date.
586             * @return the date object, or <code>null</code> if the date is invalid and
587             *         no exception to throw was provided
588             * @throws PortalException if the date was invalid and <code>pe</code> was
589             *         not <code>null</code>
590             */
591            public Date getDate(
592                            int month, int day, int year, int hour, int min,
593                            Class<? extends PortalException> clazz)
594                    throws PortalException;
595    
596            /**
597             * Returns the date object for the specified month, day, year, hour, minute,
598             * and time zone, optionally throwing an exception if the date is invalid.
599             *
600             * @param  month the month (0-based, meaning 0 for January)
601             * @param  day the day of the month
602             * @param  year the year
603             * @param  hour the hour (0-24)
604             * @param  min the minute of the hour
605             * @param  timeZone the time zone of the date
606             * @param  clazz the exception class to throw if the date is invalid. If
607             *         <code>null</code>, no exception will be thrown for an invalid
608             *         date.
609             * @return the date object, or <code>null</code> if the date is invalid and
610             *         no exception to throw was provided
611             * @throws PortalException if the date was invalid and <code>pe</code> was
612             *         not <code>null</code>
613             */
614            public Date getDate(
615                            int month, int day, int year, int hour, int min, TimeZone timeZone,
616                            Class<? extends PortalException> clazz)
617                    throws PortalException;
618    
619            /**
620             * Returns the date object for the specified month, day, year, and time
621             * zone, optionally throwing an exception if the date is invalid.
622             *
623             * @param  month the month (0-based, meaning 0 for January)
624             * @param  day the day of the month
625             * @param  year the year
626             * @param  timeZone the time zone of the date
627             * @param  clazz the exception class to throw if the date is invalid. If
628             *         <code>null</code>, no exception will be thrown for an invalid
629             *         date.
630             * @return the date object, or <code>null</code> if the date is invalid and
631             *         no exception to throw was provided
632             * @throws PortalException if the date was invalid and <code>pe</code> was
633             *         not <code>null</code>
634             */
635            public Date getDate(
636                            int month, int day, int year, TimeZone timeZone,
637                            Class<? extends PortalException> clazz)
638                    throws PortalException;
639    
640            public long getDefaultCompanyId();
641    
642            public long getDigestAuthUserId(HttpServletRequest request)
643                    throws PortalException, SystemException;
644    
645            public String getDisplayURL(Group group, ThemeDisplay themeDisplay)
646                    throws PortalException;
647    
648            public String getDisplayURL(
649                            Group group, ThemeDisplay themeDisplay, boolean privateLayout)
650                    throws PortalException;
651    
652            public String getEmailFromAddress(
653                            PortletPreferences preferences, long companyId, String defaultValue)
654                    throws SystemException;
655    
656            public String getEmailFromName(
657                            PortletPreferences preferences, long companyId, String defaultValue)
658                    throws SystemException;
659    
660            public Map<String, Serializable> getExpandoBridgeAttributes(
661                            ExpandoBridge expandoBridge, HttpServletRequest request)
662                    throws PortalException, SystemException;
663    
664            public Map<String, Serializable> getExpandoBridgeAttributes(
665                            ExpandoBridge expandoBridge, PortletRequest portletRequest)
666                    throws PortalException, SystemException;
667    
668            public Map<String, Serializable> getExpandoBridgeAttributes(
669                            ExpandoBridge expandoBridge,
670                            UploadPortletRequest uploadPortletRequest)
671                    throws PortalException, SystemException;
672    
673            public Serializable getExpandoValue(
674                            HttpServletRequest request, String name, int type,
675                            String displayType)
676                    throws PortalException, SystemException;
677    
678            public Serializable getExpandoValue(
679                            PortletRequest portletRequest, String name, int type,
680                            String displayType)
681                    throws PortalException, SystemException;
682    
683            public Serializable getExpandoValue(
684                            UploadPortletRequest uploadPortletRequest, String name, int type,
685                            String displayType)
686                    throws PortalException, SystemException;
687    
688            public String getFacebookURL(
689                            Portlet portlet, String facebookCanvasPageURL,
690                            ThemeDisplay themeDisplay)
691                    throws PortalException, SystemException;
692    
693            public Portlet getFirstMyAccountPortlet(ThemeDisplay themeDisplay)
694                    throws SystemException;
695    
696            public String getFirstPageLayoutTypes(PageContext pageContext);
697    
698            public Portlet getFirstSiteAdministrationPortlet(ThemeDisplay themeDisplay)
699                    throws SystemException;
700    
701            public String getFullName(
702                    String firstName, String middleName, String lastName);
703    
704            public String getGlobalLibDir();
705    
706            public String getGoogleGadgetURL(Portlet portlet, ThemeDisplay themeDisplay)
707                    throws PortalException, SystemException;
708    
709            public String getGroupFriendlyURL(
710                            Group group, boolean privateLayoutSet, ThemeDisplay themeDisplay)
711                    throws PortalException, SystemException;
712    
713            public String getGroupFriendlyURL(
714                            Group group, boolean privateLayoutSet, ThemeDisplay themeDisplay,
715                            Locale locale)
716                    throws PortalException, SystemException;
717    
718            public int[] getGroupFriendlyURLIndex(String requestURI);
719    
720            public String[] getGroupPermissions(HttpServletRequest request);
721    
722            public String[] getGroupPermissions(
723                    HttpServletRequest request, String className);
724    
725            public String[] getGroupPermissions(PortletRequest portletRequest);
726    
727            public String[] getGroupPermissions(
728                    PortletRequest portletRequest, String className);
729    
730            public String[] getGuestPermissions(HttpServletRequest request);
731    
732            public String[] getGuestPermissions(
733                    HttpServletRequest request, String className);
734    
735            public String[] getGuestPermissions(PortletRequest portletRequest);
736    
737            public String[] getGuestPermissions(
738                    PortletRequest portletRequest, String className);
739    
740            public String getHomeURL(HttpServletRequest request)
741                    throws PortalException, SystemException;
742    
743            public String getHost(HttpServletRequest request);
744    
745            public String getHost(PortletRequest portletRequest);
746    
747            public HttpServletRequest getHttpServletRequest(
748                    PortletRequest portletRequest);
749    
750            public HttpServletResponse getHttpServletResponse(
751                    PortletResponse portletResponse);
752    
753            public String getI18nPathLanguageId(
754                    Locale locale, String defaultI18nPathLanguageId);
755    
756            public String getJournalArticleActualURL(
757                            long groupId, boolean privateLayout, String mainPath,
758                            String friendlyURL, Map<String, String[]> params,
759                            Map<String, Object> requestContext)
760                    throws PortalException, SystemException;
761    
762            public Layout getJournalArticleLayout(
763                            long groupId, boolean privateLayout, String friendlyURL)
764                    throws PortalException, SystemException;
765    
766            public String getJsSafePortletId(String portletId);
767    
768            public String getLayoutActualURL(Layout layout);
769    
770            public String getLayoutActualURL(Layout layout, String mainPath);
771    
772            public String getLayoutActualURL(
773                            long groupId, boolean privateLayout, String mainPath,
774                            String friendlyURL)
775                    throws PortalException, SystemException;
776    
777            public String getLayoutActualURL(
778                            long groupId, boolean privateLayout, String mainPath,
779                            String friendlyURL, Map<String, String[]> params,
780                            Map<String, Object> requestContext)
781                    throws PortalException, SystemException;
782    
783            public String getLayoutEditPage(Layout layout);
784    
785            public String getLayoutEditPage(String type);
786    
787            public String getLayoutFriendlyURL(Layout layout, ThemeDisplay themeDisplay)
788                    throws PortalException, SystemException;
789    
790            public String getLayoutFriendlyURL(
791                            Layout layout, ThemeDisplay themeDisplay, Locale locale)
792                    throws PortalException, SystemException;
793    
794            public LayoutFriendlyURLComposite getLayoutFriendlyURLComposite(
795                            long groupId, boolean privateLayout, String friendlyURL,
796                            Map<String, String[]> params, Map<String, Object> requestContext)
797                    throws PortalException, SystemException;
798    
799            public String getLayoutFullURL(Layout layout, ThemeDisplay themeDisplay)
800                    throws PortalException, SystemException;
801    
802            public String getLayoutFullURL(
803                            Layout layout, ThemeDisplay themeDisplay, boolean doAsUser)
804                    throws PortalException, SystemException;
805    
806            public String getLayoutFullURL(long groupId, String portletId)
807                    throws PortalException, SystemException;
808    
809            public String getLayoutFullURL(
810                            long groupId, String portletId, boolean secure)
811                    throws PortalException, SystemException;
812    
813            public String getLayoutFullURL(ThemeDisplay themeDisplay)
814                    throws PortalException, SystemException;
815    
816            public String getLayoutSetFriendlyURL(
817                            LayoutSet layoutSet, ThemeDisplay themeDisplay)
818                    throws PortalException, SystemException;
819    
820            public String getLayoutTarget(Layout layout);
821    
822            public String getLayoutURL(Layout layout, ThemeDisplay themeDisplay)
823                    throws PortalException, SystemException;
824    
825            public String getLayoutURL(
826                            Layout layout, ThemeDisplay themeDisplay, boolean doAsUser)
827                    throws PortalException, SystemException;
828    
829            public String getLayoutURL(
830                            Layout layout, ThemeDisplay themeDisplay, Locale locale)
831                    throws PortalException, SystemException;
832    
833            public String getLayoutURL(ThemeDisplay themeDisplay)
834                    throws PortalException, SystemException;
835    
836            public String getLayoutViewPage(Layout layout);
837    
838            public String getLayoutViewPage(String type);
839    
840            public LiferayPortletRequest getLiferayPortletRequest(
841                    PortletRequest portletRequest);
842    
843            public LiferayPortletResponse getLiferayPortletResponse(
844                    PortletResponse portletResponse);
845    
846            public Locale getLocale(HttpServletRequest request);
847    
848            public Locale getLocale(
849                    HttpServletRequest request, HttpServletResponse response,
850                    boolean initialize);
851    
852            public Locale getLocale(PortletRequest portletRequest);
853    
854            public String getLocalizedFriendlyURL(
855                            HttpServletRequest request, Layout layout, Locale locale,
856                            Locale originalLocale)
857                    throws Exception;
858    
859            public String getMailId(String mx, String popPortletPrefix, Object... ids);
860    
861            public String getNetvibesURL(Portlet portlet, ThemeDisplay themeDisplay)
862                    throws PortalException, SystemException;
863    
864            public String getNewPortletTitle(
865                    String portletTitle, String oldScopeName, String newScopeName);
866    
867            public HttpServletRequest getOriginalServletRequest(
868                    HttpServletRequest request);
869    
870            /**
871             * @deprecated As of 6.2.0 renamed to {@link #getSiteGroupId(long)}
872             */
873            public long getParentGroupId(long scopeGroupId)
874                    throws PortalException, SystemException;
875    
876            public String getPathContext();
877    
878            public String getPathContext(HttpServletRequest request);
879    
880            public String getPathContext(PortletRequest portletRequest);
881    
882            public String getPathContext(String contextPath);
883    
884            public String getPathFriendlyURLPrivateGroup();
885    
886            public String getPathFriendlyURLPrivateUser();
887    
888            public String getPathFriendlyURLPublic();
889    
890            public String getPathImage();
891    
892            public String getPathMain();
893    
894            public String getPathModule();
895    
896            public String getPathProxy();
897    
898            public long getPlidFromFriendlyURL(long companyId, String friendlyURL);
899    
900            public long getPlidFromPortletId(
901                            long groupId, boolean privateLayout, String portletId)
902                    throws PortalException, SystemException;
903    
904            public long getPlidFromPortletId(long groupId, String portletId)
905                    throws PortalException, SystemException;
906    
907            public String getPortalLibDir();
908    
909            /**
910             * @deprecated As of 6.2.0, replaced by the more general {@link
911             *             #getPortalPort(boolean)}
912             */
913            public int getPortalPort();
914    
915            public int getPortalPort(boolean secure);
916    
917            public Properties getPortalProperties();
918    
919            public String getPortalURL(HttpServletRequest request);
920    
921            public String getPortalURL(HttpServletRequest request, boolean secure);
922    
923            public String getPortalURL(Layout layout, ThemeDisplay themeDisplay)
924                    throws PortalException, SystemException;
925    
926            public String getPortalURL(PortletRequest portletRequest);
927    
928            public String getPortalURL(PortletRequest portletRequest, boolean secure);
929    
930            public String getPortalURL(
931                    String serverName, int serverPort, boolean secure);
932    
933            public String getPortalURL(ThemeDisplay themeDisplay)
934                    throws PortalException, SystemException;
935    
936            public String getPortalWebDir();
937    
938            /**
939             * @deprecated As of 6.2.0, replaced by {@link
940             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletInvocationWhitelist}
941             */
942            public Set<String> getPortletAddDefaultResourceCheckWhitelist();
943    
944            /**
945             * @deprecated As of 6.2.0, replaced by {@link
946             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#getPortletInvocationWhitelistActions}
947             */
948            public Set<String> getPortletAddDefaultResourceCheckWhitelistActions();
949    
950            /**
951             * @deprecated As of 6.2.0, replaced by {@link
952             *             #getPortletBreadcrumbs(HttpServletRequest)}
953             */
954            public List<BreadcrumbEntry> getPortletBreadcrumbList(
955                    HttpServletRequest request);
956    
957            public List<BreadcrumbEntry> getPortletBreadcrumbs(
958                    HttpServletRequest request);
959    
960            public PortletConfig getPortletConfig(
961                            long companyId, String portletId, ServletContext servletContext)
962                    throws PortletException, SystemException;
963    
964            public String getPortletDescription(
965                    Portlet portlet, ServletContext servletContext, Locale locale);
966    
967            public String getPortletDescription(Portlet portlet, User user);
968    
969            public String getPortletDescription(String portletId, Locale locale);
970    
971            public String getPortletDescription(String portletId, String languageId);
972    
973            public String getPortletDescription(String portletId, User user);
974    
975            public String getPortletId(HttpServletRequest request);
976    
977            public String getPortletId(PortletRequest portletRequest);
978    
979            public String getPortletLongTitle(Portlet portlet, Locale locale);
980    
981            public String getPortletLongTitle(
982                    Portlet portlet, ServletContext servletContext, Locale locale);
983    
984            public String getPortletLongTitle(Portlet portlet, String languageId);
985    
986            public String getPortletLongTitle(Portlet portlet, User user);
987    
988            public String getPortletLongTitle(String portletId, Locale locale);
989    
990            public String getPortletLongTitle(String portletId, String languageId);
991    
992            public String getPortletLongTitle(String portletId, User user);
993    
994            public String getPortletNamespace(String portletId);
995    
996            public String getPortletTitle(Portlet portlet, Locale locale);
997    
998            public String getPortletTitle(
999                    Portlet portlet, ServletContext servletContext, Locale locale);
1000    
1001            public String getPortletTitle(Portlet portlet, String languageId);
1002    
1003            public String getPortletTitle(Portlet portlet, User user);
1004    
1005            public String getPortletTitle(RenderRequest renderRequest);
1006    
1007            public String getPortletTitle(RenderResponse renderResponse);
1008    
1009            public String getPortletTitle(String portletId, Locale locale);
1010    
1011            public String getPortletTitle(String portletId, String languageId);
1012    
1013            public String getPortletTitle(String portletId, User user);
1014    
1015            public String getPortletXmlFileName() throws SystemException;
1016    
1017            public PortletPreferences getPreferences(HttpServletRequest request);
1018    
1019            public PreferencesValidator getPreferencesValidator(Portlet portlet);
1020    
1021            public String getRelativeHomeURL(HttpServletRequest request)
1022                    throws PortalException, SystemException;
1023    
1024            public long getScopeGroupId(HttpServletRequest request)
1025                    throws PortalException, SystemException;
1026    
1027            public long getScopeGroupId(HttpServletRequest request, String portletId)
1028                    throws PortalException, SystemException;
1029    
1030            public long getScopeGroupId(
1031                            HttpServletRequest request, String portletId,
1032                            boolean checkStagingGroup)
1033                    throws PortalException, SystemException;
1034    
1035            public long getScopeGroupId(Layout layout);
1036    
1037            public long getScopeGroupId(Layout layout, String portletId);
1038    
1039            public long getScopeGroupId(long plid);
1040    
1041            public long getScopeGroupId(PortletRequest portletRequest)
1042                    throws PortalException, SystemException;
1043    
1044            public User getSelectedUser(HttpServletRequest request)
1045                    throws PortalException, SystemException;
1046    
1047            public User getSelectedUser(
1048                            HttpServletRequest request, boolean checkPermission)
1049                    throws PortalException, SystemException;
1050    
1051            public User getSelectedUser(PortletRequest portletRequest)
1052                    throws PortalException, SystemException;
1053    
1054            public User getSelectedUser(
1055                            PortletRequest portletRequest, boolean checkPermission)
1056                    throws PortalException, SystemException;
1057    
1058            public String getServletContextName();
1059    
1060            public long[] getSharedContentSiteGroupIds(
1061                            long companyId, long groupId, long userId)
1062                    throws PortalException, SystemException;
1063    
1064            public Map<String, List<Portlet>> getSiteAdministrationCategoriesMap(
1065                            HttpServletRequest request)
1066                    throws SystemException;
1067    
1068            public PortletURL getSiteAdministrationURL(
1069                            HttpServletRequest request, ThemeDisplay themeDisplay)
1070                    throws SystemException;
1071    
1072            public PortletURL getSiteAdministrationURL(
1073                    HttpServletRequest request, ThemeDisplay themeDisplay,
1074                    String portletName);
1075    
1076            public PortletURL getSiteAdministrationURL(
1077                            PortletResponse portletResponse, ThemeDisplay themeDisplay)
1078                    throws SystemException;
1079    
1080            public PortletURL getSiteAdministrationURL(
1081                    PortletResponse portletResponse, ThemeDisplay themeDisplay,
1082                    String portletName);
1083    
1084            public long[] getSiteAndCompanyGroupIds(long groupId)
1085                    throws PortalException, SystemException;
1086    
1087            public long[] getSiteAndCompanyGroupIds(ThemeDisplay themeDisplay)
1088                    throws PortalException, SystemException;
1089    
1090            public Locale getSiteDefaultLocale(long groupId)
1091                    throws PortalException, SystemException;
1092    
1093            public long getSiteGroupId(long groupId)
1094                    throws PortalException, SystemException;
1095    
1096            /**
1097             * Returns the URL of the login page for the current site if one is
1098             * available.
1099             *
1100             * @param  themeDisplay the theme display for the current page
1101             * @return the URL of the login page for the current site, or
1102             *         <code>null</code> if one is not available
1103             * @throws PortalException if a portal exception occurred
1104             * @throws SystemException if a system exception occurred
1105             */
1106            public String getSiteLoginURL(ThemeDisplay themeDisplay)
1107                    throws PortalException, SystemException;
1108    
1109            public String getStaticResourceURL(HttpServletRequest request, String uri);
1110    
1111            public String getStaticResourceURL(
1112                    HttpServletRequest request, String uri, long timestamp);
1113    
1114            public String getStaticResourceURL(
1115                    HttpServletRequest request, String uri, String queryString);
1116    
1117            public String getStaticResourceURL(
1118                    HttpServletRequest request, String uri, String queryString,
1119                    long timestamp);
1120    
1121            public String getStrutsAction(HttpServletRequest request);
1122    
1123            public String[] getSystemGroups();
1124    
1125            public String[] getSystemOrganizationRoles();
1126    
1127            public String[] getSystemRoles();
1128    
1129            public String[] getSystemSiteRoles();
1130    
1131            public String getUniqueElementId(
1132                    HttpServletRequest request, String namespace, String id);
1133    
1134            public String getUniqueElementId(
1135                    PortletRequest request, String namespace, String id);
1136    
1137            public UploadPortletRequest getUploadPortletRequest(
1138                    PortletRequest portletRequest);
1139    
1140            public UploadServletRequest getUploadServletRequest(
1141                    HttpServletRequest request);
1142    
1143            public Date getUptime();
1144    
1145            public String getURLWithSessionId(String url, String sessionId);
1146    
1147            public User getUser(HttpServletRequest request)
1148                    throws PortalException, SystemException;
1149    
1150            public User getUser(PortletRequest portletRequest)
1151                    throws PortalException, SystemException;
1152    
1153            public String getUserEmailAddress(long userId) throws SystemException;
1154    
1155            public long getUserId(HttpServletRequest request);
1156    
1157            public long getUserId(PortletRequest portletRequest);
1158    
1159            public String getUserName(BaseModel<?> baseModel);
1160    
1161            public String getUserName(long userId, String defaultUserName);
1162    
1163            public String getUserName(
1164                    long userId, String defaultUserName, HttpServletRequest request);
1165    
1166            public String getUserName(
1167                    long userId, String defaultUserName, String userAttribute);
1168    
1169            public String getUserName(
1170                    long userId, String defaultUserName, String userAttribute,
1171                    HttpServletRequest request);
1172    
1173            public String getUserPassword(HttpServletRequest request);
1174    
1175            public String getUserPassword(HttpSession session);
1176    
1177            public String getUserPassword(PortletRequest portletRequest);
1178    
1179            public String getUserValue(long userId, String param, String defaultValue)
1180                    throws SystemException;
1181    
1182            public String getValidPortalDomain(long companyId, String domain);
1183    
1184            public long getValidUserId(long companyId, long userId)
1185                    throws PortalException, SystemException;
1186    
1187            public String getVirtualLayoutActualURL(
1188                            long groupId, boolean privateLayout, String mainPath,
1189                            String friendlyURL, Map<String, String[]> params,
1190                            Map<String, Object> requestContext)
1191                    throws PortalException, SystemException;
1192    
1193            public LayoutFriendlyURLComposite getVirtualLayoutFriendlyURLComposite(
1194                            boolean privateLayout, String friendlyURL,
1195                            Map<String, String[]> params, Map<String, Object> requestContext)
1196                    throws PortalException, SystemException;
1197    
1198            public String getWidgetURL(Portlet portlet, ThemeDisplay themeDisplay)
1199                    throws PortalException, SystemException;
1200    
1201            public void initCustomSQL();
1202    
1203            public User initUser(HttpServletRequest request) throws Exception;
1204    
1205            public void invokeTaglibDiscussion(
1206                            PortletConfig portletConfig, ActionRequest actionRequest,
1207                            ActionResponse actionResponse)
1208                    throws Exception;
1209    
1210            /**
1211             * @deprecated As of 6.2.0 with no direct replacement
1212             */
1213            public boolean isAllowAddPortletDefaultResource(
1214                            HttpServletRequest request, Portlet portlet)
1215                    throws PortalException, SystemException;
1216    
1217            public boolean isCDNDynamicResourcesEnabled(HttpServletRequest request)
1218                    throws PortalException, SystemException;
1219    
1220            public boolean isCDNDynamicResourcesEnabled(long companyId);
1221    
1222            /**
1223             * @deprecated As of 6.1.0, renamed to {@link #isGroupAdmin(User, long)}
1224             */
1225            public boolean isCommunityAdmin(User user, long groupId) throws Exception;
1226    
1227            /**
1228             * @deprecated As of 6.1.0, renamed to {@link #isGroupOwner(User, long)}
1229             */
1230            public boolean isCommunityOwner(User user, long groupId) throws Exception;
1231    
1232            public boolean isCompanyAdmin(User user) throws Exception;
1233    
1234            public boolean isCompanyControlPanelPortlet(
1235                            String portletId, String category, ThemeDisplay themeDisplay)
1236                    throws PortalException, SystemException;
1237    
1238            public boolean isCompanyControlPanelPortlet(
1239                            String portletId, ThemeDisplay themeDisplay)
1240                    throws PortalException, SystemException;
1241    
1242            public boolean isCompanyControlPanelVisible(ThemeDisplay themeDisplay)
1243                    throws PortalException, SystemException;
1244    
1245            public boolean isControlPanelPortlet(
1246                            String portletId, String category, ThemeDisplay themeDisplay)
1247                    throws SystemException;
1248    
1249            public boolean isControlPanelPortlet(
1250                            String portletId, ThemeDisplay themeDisplay)
1251                    throws SystemException;
1252    
1253            public boolean isGroupAdmin(User user, long groupId) throws Exception;
1254    
1255            public boolean isGroupFriendlyURL(
1256                    String fullURL, String groupFriendlyURL, String layoutFriendlyURL);
1257    
1258            public boolean isGroupOwner(User user, long groupId) throws Exception;
1259    
1260            public boolean isLayoutDescendant(Layout layout, long layoutId)
1261                    throws PortalException, SystemException;
1262    
1263            public boolean isLayoutFirstPageable(Layout layout);
1264    
1265            public boolean isLayoutFirstPageable(String type);
1266    
1267            public boolean isLayoutFriendliable(Layout layout);
1268    
1269            public boolean isLayoutFriendliable(String type);
1270    
1271            public boolean isLayoutParentable(Layout layout);
1272    
1273            public boolean isLayoutParentable(String type);
1274    
1275            public boolean isLayoutSitemapable(Layout layout);
1276    
1277            public boolean isLoginRedirectRequired(HttpServletRequest request)
1278                    throws SystemException;
1279    
1280            public boolean isMethodGet(PortletRequest portletRequest);
1281    
1282            public boolean isMethodPost(PortletRequest portletRequest);
1283    
1284            public boolean isMultipartRequest(HttpServletRequest request);
1285    
1286            public boolean isOmniadmin(long userId);
1287    
1288            public boolean isReservedParameter(String name);
1289    
1290            public boolean isRSSFeedsEnabled();
1291    
1292            public boolean isSecure(HttpServletRequest request);
1293    
1294            public boolean isSystemGroup(String groupName);
1295    
1296            public boolean isSystemRole(String roleName);
1297    
1298            public boolean isUpdateAvailable() throws SystemException;
1299    
1300            public boolean isValidResourceId(String resourceId);
1301    
1302            public void removePortalPortEventListener(
1303                    PortalPortEventListener portalPortEventListener);
1304    
1305            public void resetCDNHosts();
1306    
1307            /**
1308             * @deprecated As of 6.2.0, replaced by {@link
1309             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#resetPortletInvocationWhitelist}
1310             */
1311            public Set<String> resetPortletAddDefaultResourceCheckWhitelist();
1312    
1313            /**
1314             * @deprecated As of 6.2.0, replaced by {@link
1315             *             com.liferay.portal.security.auth.AuthTokenWhitelistUtil#resetPortletInvocationWhitelistActions}
1316             */
1317            public Set<String> resetPortletAddDefaultResourceCheckWhitelistActions();
1318    
1319            public String resetPortletParameters(String url, String portletId);
1320    
1321            public void sendError(
1322                            Exception e, ActionRequest actionRequest,
1323                            ActionResponse actionResponse)
1324                    throws IOException;
1325    
1326            public void sendError(
1327                            Exception e, HttpServletRequest request,
1328                            HttpServletResponse response)
1329                    throws IOException, ServletException;
1330    
1331            public void sendError(
1332                            int status, Exception e, ActionRequest actionRequest,
1333                            ActionResponse actionResponse)
1334                    throws IOException;
1335    
1336            public void sendError(
1337                            int status, Exception e, HttpServletRequest request,
1338                            HttpServletResponse response)
1339                    throws IOException, ServletException;
1340    
1341            public void sendRSSFeedsDisabledError(
1342                            HttpServletRequest request, HttpServletResponse response)
1343                    throws IOException, ServletException;
1344    
1345            public void sendRSSFeedsDisabledError(
1346                            PortletRequest portletRequest, PortletResponse portletResponse)
1347                    throws IOException, ServletException;
1348    
1349            /**
1350             * Sets the description for the page, overriding the existing page
1351             * description.
1352             */
1353            public void setPageDescription(
1354                    String description, HttpServletRequest request);
1355    
1356            /**
1357             * Sets the keywords for the page, overriding the existing page keywords.
1358             */
1359            public void setPageKeywords(String keywords, HttpServletRequest request);
1360    
1361            /**
1362             * Sets the subtitle for the page, overriding the existing page subtitle.
1363             */
1364            public void setPageSubtitle(String subtitle, HttpServletRequest request);
1365    
1366            /**
1367             * Sets the whole title for the page, overriding the existing page whole
1368             * title.
1369             */
1370            public void setPageTitle(String title, HttpServletRequest request);
1371    
1372            /**
1373             * Sets the port obtained on the first request to the portal.
1374             */
1375            public void setPortalPort(HttpServletRequest request);
1376    
1377            public void storePreferences(PortletPreferences portletPreferences)
1378                    throws IOException, ValidatorException;
1379    
1380            public String[] stripURLAnchor(String url, String separator);
1381    
1382            public String transformCustomSQL(String sql);
1383    
1384            public String transformSQL(String sql);
1385    
1386            public PortletMode updatePortletMode(
1387                    String portletId, User user, Layout layout, PortletMode portletMode,
1388                    HttpServletRequest request);
1389    
1390            public String updateRedirect(
1391                    String redirect, String oldPath, String newPath);
1392    
1393            public WindowState updateWindowState(
1394                    String portletId, User user, Layout layout, WindowState windowState,
1395                    HttpServletRequest request);
1396    
1397    }