001    /**
002     * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.theme;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.language.LanguageUtil;
020    import com.liferay.portal.kernel.log.Log;
021    import com.liferay.portal.kernel.log.LogFactoryUtil;
022    import com.liferay.portal.kernel.util.Http;
023    import com.liferay.portal.kernel.util.StringPool;
024    import com.liferay.portal.kernel.util.Validator;
025    import com.liferay.portal.model.Account;
026    import com.liferay.portal.model.ColorScheme;
027    import com.liferay.portal.model.Company;
028    import com.liferay.portal.model.Contact;
029    import com.liferay.portal.model.Group;
030    import com.liferay.portal.model.Layout;
031    import com.liferay.portal.model.LayoutTypePortlet;
032    import com.liferay.portal.model.Theme;
033    import com.liferay.portal.model.User;
034    import com.liferay.portal.security.permission.PermissionChecker;
035    import com.liferay.portal.service.GroupLocalServiceUtil;
036    
037    import java.io.Serializable;
038    
039    import java.util.List;
040    import java.util.Locale;
041    import java.util.TimeZone;
042    
043    import javax.portlet.PortletURL;
044    
045    /**
046     * @author Brian Wing Shun Chan
047     */
048    public class ThemeDisplay implements Serializable {
049    
050            public ThemeDisplay() {
051                    if (_log.isDebugEnabled()) {
052                            _log.debug("Creating new instance " + hashCode());
053                    }
054    
055                    _portletDisplay.setThemeDisplay(this);
056            }
057    
058            public Company getCompany() {
059                    return _company;
060            }
061    
062            public void setCompany(Company company)
063                    throws PortalException, SystemException {
064    
065                    _company = company;
066                    _companyGroupId = company.getGroup().getGroupId();
067    
068                    setAccount(company.getAccount());
069            }
070    
071            public long getCompanyId() {
072                    return _company.getCompanyId();
073            }
074    
075            public long getCompanyGroupId() {
076                    return _companyGroupId;
077            }
078    
079            public String getCompanyLogo() {
080                    return _companyLogo;
081            }
082    
083            public void setCompanyLogo(String companyLogo) {
084                    _companyLogo = companyLogo;
085            }
086    
087            public int getCompanyLogoHeight() {
088                    return _companyLogoHeight;
089            }
090    
091            public void setCompanyLogoHeight(int companyLogoHeight) {
092                    _companyLogoHeight = companyLogoHeight;
093            }
094    
095            public int getCompanyLogoWidth() {
096                    return _companyLogoWidth;
097            }
098    
099            public void setCompanyLogoWidth(int companyLogoWidth) {
100                    _companyLogoWidth = companyLogoWidth;
101            }
102    
103            public String getRealCompanyLogo() {
104                    return _realCompanyLogo;
105            }
106    
107            public void setRealCompanyLogo(String realCompanyLogo) {
108                    _realCompanyLogo = realCompanyLogo;
109            }
110    
111            public int getRealCompanyLogoHeight() {
112                    return _realCompanyLogoHeight;
113            }
114    
115            public void setRealCompanyLogoHeight(int realCompanyLogoHeight) {
116                    _realCompanyLogoHeight = realCompanyLogoHeight;
117            }
118    
119            public int getRealCompanyLogoWidth() {
120                    return _realCompanyLogoWidth;
121            }
122    
123            public void setRealCompanyLogoWidth(int realCompanyLogoWidth) {
124                    _realCompanyLogoWidth = realCompanyLogoWidth;
125            }
126    
127            public Account getAccount() {
128                    return _account;
129            }
130    
131            public void setAccount(Account account) {
132                    _account = account;
133            }
134    
135            public User getDefaultUser() throws PortalException, SystemException {
136                    if (_defaultUser == null) {
137                            _defaultUser = _company.getDefaultUser();
138                    }
139    
140                    return _defaultUser;
141            }
142    
143            public long getDefaultUserId() throws PortalException, SystemException {
144                    return getDefaultUser().getUserId();
145            }
146    
147            public User getUser() {
148                    return _user;
149            }
150    
151            public void setUser(User user) throws PortalException, SystemException {
152                    _user = user;
153    
154                    setContact(user.getContact());
155            }
156    
157            public long getUserId() {
158                    return _user.getUserId();
159            }
160    
161            public User getRealUser() {
162                    return _realUser;
163            }
164    
165            public void setRealUser(User realUser) {
166                    _realUser = realUser;
167            }
168    
169            public long getRealUserId() {
170                    return _realUser.getUserId();
171            }
172    
173            public String getDoAsUserId() {
174                    return _doAsUserId;
175            }
176    
177            public void setDoAsUserId(String doAsUserId) {
178                    _doAsUserId = doAsUserId;
179            }
180    
181            public String getDoAsUserLanguageId() {
182                    return _doAsUserLanguageId;
183            }
184    
185            public void setDoAsUserLanguageId(String doAsUserLanguageId) {
186                    _doAsUserLanguageId = doAsUserLanguageId;
187            }
188    
189            public long getDoAsGroupId() {
190                    return _doAsGroupId;
191            }
192    
193            public void setDoAsGroupId(long doAsGroupId) {
194                    _doAsGroupId = doAsGroupId;
195            }
196    
197            public long getRefererPlid() {
198                    return _refererPlid;
199            }
200    
201            public void setRefererPlid(long refererPlid) {
202                    _refererPlid = refererPlid;
203            }
204    
205            public boolean isImpersonated() {
206                    if (getUserId() == getRealUserId()) {
207                            return false;
208                    }
209                    else {
210                            return true;
211                    }
212            }
213    
214            public Contact getContact() {
215                    return _contact;
216            }
217    
218            public void setContact(Contact contact) {
219                    _contact = contact;
220            }
221    
222            public String getLayoutSetLogo() {
223                    return _layoutSetLogo;
224            }
225    
226            public void setLayoutSetLogo(String layoutSetLogo) {
227                    _layoutSetLogo = layoutSetLogo;
228            }
229    
230            public Layout getLayout() {
231                    return _layout;
232            }
233    
234            public void setLayout(Layout layout) {
235                    _layout = layout;
236            }
237    
238            public List<Layout> getLayouts() {
239                    return _layouts;
240            }
241    
242            public void setLayouts(List<Layout> layouts) {
243                    _layouts = layouts;
244            }
245    
246            public long getPlid() {
247                    return _plid;
248            }
249    
250            public void setPlid(long plid) {
251                    _plid = plid;
252            }
253    
254            public LayoutTypePortlet getLayoutTypePortlet() {
255                    return _layoutTypePortlet;
256            }
257    
258            public void setLayoutTypePortlet(LayoutTypePortlet layoutTypePortlet) {
259                    _layoutTypePortlet = layoutTypePortlet;
260            }
261    
262            public Group getScopeGroup() {
263                    return _scopeGroup;
264            }
265    
266            /**
267             * @deprecated Use <code>getScopeGroupId</code>.
268             */
269            public long getPortletGroupId() {
270                    return getScopeGroupId();
271            }
272    
273            public long getScopeGroupId() {
274                    return _scopeGroupId;
275            }
276    
277            public void setScopeGroupId(long scopeGroupId) {
278                    _scopeGroupId = scopeGroupId;
279    
280                    if (_scopeGroupId > 0) {
281                            try {
282                                    _scopeGroup = GroupLocalServiceUtil.getGroup(_scopeGroupId);
283                            }
284                            catch (Exception e) {
285                                    _log.error(e, e);
286                            }
287                    }
288            }
289    
290            public String getScopeGroupName() throws PortalException, SystemException {
291                    if (_scopeGroup == null) {
292                            return StringPool.BLANK;
293                    }
294                    else {
295                            return _scopeGroup.getDescriptiveName();
296                    }
297            }
298    
299            public long getParentGroupId() {
300                    return _parentGroupId;
301            }
302    
303            public void setParentGroupId(long parentGroupId) {
304                    _parentGroupId = parentGroupId;
305    
306                    if (_parentGroupId > 0) {
307                            try {
308                                    _parentGroup = GroupLocalServiceUtil.getGroup(_parentGroupId);
309                            }
310                            catch (Exception e) {
311                                    _log.error(e, e);
312                            }
313                    }
314            }
315    
316            public String getParentGroupName() throws PortalException, SystemException {
317                    if (_parentGroup == null) {
318                            return StringPool.BLANK;
319                    }
320                    else {
321                            return _parentGroup.getDescriptiveName();
322                    }
323            }
324    
325            public boolean isSignedIn() {
326                    return _signedIn;
327            }
328    
329            public void setSignedIn(boolean signedIn) {
330                    _signedIn = signedIn;
331            }
332    
333            public PermissionChecker getPermissionChecker() {
334                    return _permissionChecker;
335            }
336    
337            public void setPermissionChecker(PermissionChecker permissionChecker) {
338                    _permissionChecker = permissionChecker;
339            }
340    
341            public Locale getLocale() {
342                    return _locale;
343            }
344    
345            public void setLocale(Locale locale) {
346                    _locale = locale;
347            }
348    
349            public String getLanguageId() {
350                    return _languageId;
351            }
352    
353            public void setLanguageId(String languageId) {
354                    _languageId = languageId;
355            }
356    
357            public boolean isI18n() {
358                    return _i18n;
359            }
360    
361            public String getI18nLanguageId() {
362                    return _i18nLanguageId;
363            }
364    
365            public void setI18nLanguageId(String i18nLanguageId) {
366                    _i18nLanguageId = i18nLanguageId;
367    
368                    if (Validator.isNotNull(i18nLanguageId)) {
369                            _i18n = true;
370                    }
371                    else {
372                            _i18n = false;
373                    }
374            }
375    
376            public String getI18nPath() {
377                    return _i18nPath;
378            }
379    
380            public void setI18nPath(String i18nPath) {
381                    _i18nPath = i18nPath;
382    
383                    if (Validator.isNotNull(i18nPath)) {
384                            _i18n = true;
385                    }
386                    else {
387                            _i18n = false;
388                    }
389            }
390    
391            public String translate(String key) {
392                    return LanguageUtil.get(getLocale(), key);
393            }
394    
395            public String translate(String pattern, Object argument) {
396                    return LanguageUtil.format(getLocale(), pattern, argument);
397            }
398    
399            public String translate(String pattern, Object[] arguments) {
400                    return LanguageUtil.format(getLocale(), pattern, arguments);
401            }
402    
403            public TimeZone getTimeZone() {
404                    return _timeZone;
405            }
406    
407            public void setTimeZone(TimeZone timeZone) {
408                    _timeZone = timeZone;
409            }
410    
411            public Theme getTheme() {
412                    return _theme;
413            }
414    
415            public String getThemeId() {
416                    return _theme.getThemeId();
417            }
418    
419            public ColorScheme getColorScheme() {
420                    return _colorScheme;
421            }
422    
423            public String getColorSchemeId() {
424                    return _colorScheme.getColorSchemeId();
425            }
426    
427            public boolean isWapTheme() {
428                    return _theme.isWapTheme();
429            }
430    
431            public void setLookAndFeel(Theme theme, ColorScheme colorScheme) {
432                    setLookAndFeel(getPathContext(), theme, colorScheme);
433            }
434    
435            public void setLookAndFeel(
436                    String contextPath, Theme theme, ColorScheme colorScheme) {
437    
438                    _theme = theme;
439                    _colorScheme = colorScheme;
440    
441                    if ((theme != null) && (colorScheme != null)) {
442                            String themeContextPath = contextPath;
443    
444                            if (theme.isWARFile()) {
445                                    themeContextPath = theme.getContextPath();
446                            }
447    
448                            String host = getCDNHost();
449    
450                            if (Validator.isNull(host) && isFacebook()) {
451                                    host = getPortalURL();
452                            }
453    
454                            setPathColorSchemeImages(
455                                    host + themeContextPath +
456                                            colorScheme.getColorSchemeImagesPath());
457    
458                            setPathThemeCss(host + themeContextPath + theme.getCssPath());
459                            setPathThemeImages(host + themeContextPath + theme.getImagesPath());
460                            setPathThemeJavaScript(
461                                    host + themeContextPath + theme.getJavaScriptPath());
462                            setPathThemeRoot(themeContextPath + theme.getRootPath());
463                            setPathThemeTemplates(
464                                    host + themeContextPath + theme.getTemplatesPath());
465                    }
466            }
467    
468            public boolean isThemeCssFastLoad() {
469                    return _themeCssFastLoad;
470            }
471    
472            public void setThemeCssFastLoad(boolean themeCssFastLoad) {
473                    _themeCssFastLoad = themeCssFastLoad;
474            }
475    
476            public boolean isThemeImagesFastLoad() {
477                    return _themeImagesFastLoad;
478            }
479    
480            public void setThemeImagesFastLoad(boolean themeImagesFastLoad) {
481                    _themeImagesFastLoad = themeImagesFastLoad;
482            }
483    
484            public boolean isThemeJsBarebone() {
485                    return _themeJsBarebone;
486            }
487    
488            public void setThemeJsBarebone(boolean themeJsBarebone) {
489                    _themeJsBarebone = themeJsBarebone;
490            }
491    
492            public boolean isThemeJsFastLoad() {
493                    return _themeJsFastLoad;
494            }
495    
496            public void setThemeJsFastLoad(boolean themeJsFastLoad) {
497                    _themeJsFastLoad = themeJsFastLoad;
498            }
499    
500            public boolean isFreeformLayout() {
501                    return _freeformLayout;
502            }
503    
504            public void setFreeformLayout(boolean freeformLayout) {
505                    _freeformLayout = freeformLayout;
506            }
507    
508            public String getServerName() {
509                    return _serverName;
510            }
511    
512            public void setServerName(String serverName) {
513                    _serverName = serverName;
514            }
515    
516            public int getServerPort() {
517                    return _serverPort;
518            }
519    
520            public void setServerPort(int serverPort) {
521                    _serverPort = serverPort;
522            }
523    
524            public boolean isSecure() {
525                    return _secure;
526            }
527    
528            public void setSecure(boolean secure) {
529                    _secure = secure;
530            }
531    
532            public String getLifecycle() {
533                    return _lifecycle;
534            }
535    
536            public void setLifecycle(String lifecycle) {
537                    _lifecycle = lifecycle;
538            }
539    
540            public boolean isLifecycleAction() {
541                    return _lifecycleAction;
542            }
543    
544            public void setLifecycleAction(boolean lifecycleAction) {
545                    _lifecycleAction = lifecycleAction;
546            }
547    
548            public boolean isLifecycleRender() {
549                    return _lifecycleRender;
550            }
551    
552            public void setLifecycleRender(boolean lifecycleRender) {
553                    _lifecycleRender = lifecycleRender;
554            }
555    
556            public boolean isLifecycleResource() {
557                    return _lifecycleResource;
558            }
559    
560            public void setLifecycleResource(boolean lifecycleResource) {
561                    _lifecycleResource = lifecycleResource;
562            }
563    
564            public boolean isStateExclusive() {
565                    return _stateExclusive;
566            }
567    
568            public void setStateExclusive(boolean stateExclusive) {
569                    _stateExclusive = stateExclusive;
570            }
571    
572            public boolean isStateMaximized() {
573                    return _stateMaximized;
574            }
575    
576            public void setStateMaximized(boolean stateMaximized) {
577                    _stateMaximized = stateMaximized;
578            }
579    
580            public boolean isStatePopUp() {
581                    return _statePopUp;
582            }
583    
584            public void setStatePopUp(boolean statePopUp) {
585                    _statePopUp = statePopUp;
586            }
587    
588            public boolean isIsolated() {
589                    return _isolated;
590            }
591    
592            public void setIsolated(boolean isolated) {
593                    _isolated = isolated;
594            }
595    
596            public boolean isFacebook() {
597                    return _facebook;
598            }
599    
600            public String getFacebookCanvasPageURL() {
601                    return _facebookCanvasPageURL;
602            }
603    
604            public void setFacebookCanvasPageURL(String facebookCanvasPageURL) {
605                    _facebookCanvasPageURL = facebookCanvasPageURL;
606    
607                    if (Validator.isNotNull(facebookCanvasPageURL)) {
608                            _facebook = true;
609                    }
610            }
611    
612            public boolean isWidget() {
613                    return _widget;
614            }
615    
616            public void setWidget(boolean widget) {
617                    _widget = widget;
618            }
619    
620            public String getCDNHost() {
621                    return _cdnHost;
622            }
623    
624            public void setCDNHost(String cdnHost) {
625                    _cdnHost = cdnHost;
626            }
627    
628            public String getPortalURL() {
629                    return _portalURL;
630            }
631    
632            public void setPortalURL(String portalURL) {
633                    _portalURL = portalURL;
634            }
635    
636            public String getPathApplet() {
637                    return _pathApplet;
638            }
639    
640            public void setPathApplet(String pathApplet) {
641                    _pathApplet = pathApplet;
642            }
643    
644            public String getPathCms() {
645                    return _pathCms;
646            }
647    
648            public void setPathCms(String pathCms) {
649                    _pathCms = pathCms;
650            }
651    
652            public String getPathColorSchemeImages() {
653                    return _pathColorSchemeImages;
654            }
655    
656            public void setPathColorSchemeImages(String pathColorSchemeImages) {
657                    _pathColorSchemeImages = pathColorSchemeImages;
658            }
659    
660            public String getPathContext() {
661                    return _pathContext;
662            }
663    
664            public void setPathContext(String pathContext) {
665                    _pathContext = pathContext;
666            }
667    
668            public String getPathFlash() {
669                    return _pathFlash;
670            }
671    
672            public void setPathFlash(String pathFlash) {
673                    _pathFlash = pathFlash;
674            }
675    
676            public String getPathFriendlyURLPrivateGroup() {
677                    return _pathFriendlyURLPrivateGroup;
678            }
679    
680            public void setPathFriendlyURLPrivateGroup(
681                    String pathFriendlyURLPrivateGroup) {
682    
683                    _pathFriendlyURLPrivateGroup = pathFriendlyURLPrivateGroup;
684            }
685    
686            public String getPathFriendlyURLPrivateUser() {
687                    return _pathFriendlyURLPrivateUser;
688            }
689    
690            public void setPathFriendlyURLPrivateUser(
691                    String pathFriendlyURLPrivateUser) {
692    
693                    _pathFriendlyURLPrivateUser = pathFriendlyURLPrivateUser;
694            }
695    
696            public String getPathFriendlyURLPublic() {
697                    return _pathFriendlyURLPublic;
698            }
699    
700            public void setPathFriendlyURLPublic(String pathFriendlyURLPublic) {
701                    _pathFriendlyURLPublic = pathFriendlyURLPublic;
702            }
703    
704            public String getPathImage() {
705                    return _pathImage;
706            }
707    
708            public void setPathImage(String pathImage) {
709                    if (isFacebook() &&
710                            !pathImage.startsWith(Http.HTTP_WITH_SLASH) &&
711                            !pathImage.startsWith(Http.HTTPS_WITH_SLASH)) {
712    
713                            pathImage = getPortalURL() + pathImage;
714                    }
715    
716                    _pathImage = pathImage;
717            }
718    
719            public String getPathJavaScript() {
720                    return _pathJavaScript;
721            }
722    
723            public void setPathJavaScript(String pathJavaScript) {
724                    _pathJavaScript = pathJavaScript;
725            }
726    
727            public String getPathMain() {
728                    return _pathMain;
729            }
730    
731            public void setPathMain(String pathMain) {
732                    _pathMain = pathMain;
733            }
734    
735            public String getPathSound() {
736                    return _pathSound;
737            }
738    
739            public void setPathSound(String pathSound) {
740                    _pathSound = pathSound;
741            }
742    
743            public String getPathThemeCss() {
744                    return _pathThemeCss;
745            }
746    
747            public void setPathThemeCss(String pathThemeCss) {
748                    _pathThemeCss = pathThemeCss;
749            }
750    
751            /**
752             * @deprecated Use <code>getPathThemeImages</code>.
753             */
754            public String getPathThemeImage() {
755                    return getPathThemeImages();
756            }
757    
758            public String getPathThemeImages() {
759                    return _pathThemeImages;
760            }
761    
762            public void setPathThemeImages(String pathThemeImages) {
763                    _pathThemeImages = pathThemeImages;
764            }
765    
766            public String getPathThemeJavaScript() {
767                    return _pathThemeJavaScript;
768            }
769    
770            public void setPathThemeJavaScript(String pathThemeJavaScript) {
771                    _pathThemeJavaScript = pathThemeJavaScript;
772            }
773    
774            public String getPathThemeRoot() {
775                    return _pathThemeRoot;
776            }
777    
778            public void setPathThemeRoot(String pathThemeRoot) {
779                    _pathThemeRoot = pathThemeRoot;
780            }
781    
782            public String getPathThemeTemplates() {
783                    return _pathThemeTemplates;
784            }
785    
786            public void setPathThemeTemplates(String pathThemeTemplates) {
787                    _pathThemeTemplates = pathThemeTemplates;
788            }
789    
790            public boolean isShowAddContentIcon() {
791                    return _showAddContentIcon;
792            }
793    
794            public void setShowAddContentIcon(boolean showAddContentIcon) {
795                    _showAddContentIcon = showAddContentIcon;
796            }
797    
798            public boolean isShowAddContentIconPermission() {
799                    return _showAddContentIconPermission;
800            }
801    
802            public void setShowAddContentIconPermission(
803                    boolean showAddContentIconPermission) {
804    
805                    _showAddContentIconPermission = showAddContentIconPermission;
806            }
807    
808            public boolean isShowControlPanelIcon() {
809                    return _showControlPanelIcon;
810            }
811    
812            public void setShowControlPanelIcon(boolean showControlPanelIcon) {
813                    _showControlPanelIcon = showControlPanelIcon;
814            }
815    
816            public boolean isShowHomeIcon() {
817                    return _showHomeIcon;
818            }
819    
820            public void setShowHomeIcon(boolean showHomeIcon) {
821                    _showHomeIcon = showHomeIcon;
822            }
823    
824            public boolean isShowLayoutTemplatesIcon() {
825                    return _showLayoutTemplatesIcon;
826            }
827    
828            public void setShowLayoutTemplatesIcon(boolean showLayoutTemplatesIcon) {
829                    _showLayoutTemplatesIcon = showLayoutTemplatesIcon;
830            }
831    
832            public boolean isShowMyAccountIcon() {
833                    return _showMyAccountIcon;
834            }
835    
836            public void setShowMyAccountIcon(boolean showMyAccountIcon) {
837                    _showMyAccountIcon = showMyAccountIcon;
838            }
839    
840            public boolean isShowPageSettingsIcon() {
841                    return _showPageSettingsIcon;
842            }
843    
844            public void setShowPageSettingsIcon(boolean showPageSettingsIcon) {
845                    _showPageSettingsIcon = showPageSettingsIcon;
846            }
847    
848            public boolean isShowPortalIcon() {
849                    return _showPortalIcon;
850            }
851    
852            public void setShowPortalIcon(boolean showPortalIcon) {
853                    _showPortalIcon = showPortalIcon;
854            }
855    
856            public boolean isShowSignInIcon() {
857                    return _showSignInIcon;
858            }
859    
860            public void setShowSignInIcon(boolean showSignInIcon) {
861                    _showSignInIcon = showSignInIcon;
862            }
863    
864            public boolean isShowSignOutIcon() {
865                    return _showSignOutIcon;
866            }
867    
868            public void setShowSignOutIcon(boolean showSignOutIcon) {
869                    _showSignOutIcon = showSignOutIcon;
870            }
871    
872            public boolean isShowStagingIcon() {
873                    return _showStagingIcon;
874            }
875    
876            public void setShowStagingIcon(boolean showStagingIcon) {
877                    _showStagingIcon = showStagingIcon;
878            }
879    
880            public String getURLAddContent() {
881                    return _urlAddContent;
882            }
883    
884            public void setURLAddContent(String urlAddContent) {
885                    _urlAddContent = urlAddContent;
886            }
887    
888            public String getURLControlPanel() {
889                    return _urlControlPanel;
890            }
891    
892            public void setURLControlPanel(String urlControlPanel) {
893                    _urlControlPanel = urlControlPanel;
894            }
895    
896            public PortletURL getURLCreateAccount() {
897                    return _urlCreateAccount;
898            }
899    
900            public void setURLCreateAccount(PortletURL urlCreateAccount) {
901                    _urlCreateAccount = urlCreateAccount;
902            }
903    
904            public String getURLCurrent() {
905                    return _urlCurrent;
906            }
907    
908            public void setURLCurrent(String urlCurrent) {
909                    _urlCurrent = urlCurrent;
910            }
911    
912            public String getURLHome() {
913                    return _urlHome;
914            }
915    
916            public void setURLHome(String urlHome) {
917                    _urlHome = urlHome;
918            }
919    
920            public String getURLLayoutTemplates() {
921                    return _urlLayoutTemplates;
922            }
923    
924            public void setURLLayoutTemplates(String urlLayoutTemplates) {
925                    _urlLayoutTemplates = urlLayoutTemplates;
926            }
927    
928            public PortletURL getURLMyAccount() {
929                    return _urlMyAccount;
930            }
931    
932            public void setURLMyAccount(PortletURL urlMyAccount) {
933                    _urlMyAccount = urlMyAccount;
934            }
935    
936            public PortletURL getURLPageSettings() {
937                    return _urlPageSettings;
938            }
939    
940            public void setURLPageSettings(PortletURL urlPageSettings) {
941                    _urlPageSettings = urlPageSettings;
942            }
943    
944            public String getURLPortal() {
945                    return _urlPortal;
946            }
947    
948            public void setURLPortal(String urlPortal) {
949                    _urlPortal = urlPortal;
950            }
951    
952            public PortletURL getURLPublishToLive() {
953                    return _urlPublishToLive;
954            }
955    
956            public void setURLPublishToLive(PortletURL urlPublishToLive) {
957                    _urlPublishToLive = urlPublishToLive;
958            }
959    
960            public String getURLSignIn() {
961                    return _urlSignIn;
962            }
963    
964            public void setURLSignIn(String urlSignIn) {
965                    _urlSignIn = urlSignIn;
966            }
967    
968            public String getURLSignOut() {
969                    return _urlSignOut;
970            }
971    
972            public void setURLSignOut(String urlSignOut) {
973                    _urlSignOut = urlSignOut;
974            }
975    
976            public PortletURL getURLUpdateManager() {
977                    return _urlUpdateManager;
978            }
979    
980            public void setURLUpdateManager(PortletURL urlUpdateManager) {
981                    _urlUpdateManager = urlUpdateManager;
982            }
983    
984            public String getTilesTitle() {
985                    return _tilesTitle;
986            }
987    
988            public void setTilesTitle(String tilesTitle) {
989                    _tilesTitle = tilesTitle;
990            }
991    
992            public String getTilesContent() {
993                    return _tilesContent;
994            }
995    
996            public void setTilesContent(String tilesContent) {
997                    _tilesContent = tilesContent;
998            }
999    
1000            public boolean isTilesSelectable() {
1001                    return _tilesSelectable;
1002            }
1003    
1004            public void setTilesSelectable(boolean tilesSelectable) {
1005                    _tilesSelectable = tilesSelectable;
1006            }
1007    
1008            public boolean isIncludePortletCssJs() {
1009                    return _includePortletCssJs;
1010            }
1011    
1012            public void setIncludePortletCssJs(boolean includePortletCssJs) {
1013                    _includePortletCssJs = includePortletCssJs;
1014            }
1015    
1016            public boolean isIncludeServiceJs() {
1017                    return _includeServiceJs;
1018            }
1019    
1020            public void setIncludeServiceJs(boolean includeServiceJs) {
1021                    _includeServiceJs = includeServiceJs;
1022            }
1023    
1024            public boolean isIncludedJs(String js) {
1025                    String path = getPathJavaScript();
1026    
1027                    if (isIncludePortletCssJs() &&
1028                            js.startsWith(path + "/liferay/portlet_css.js")) {
1029    
1030                            return true;
1031                    }
1032                    else if (isIncludeServiceJs() &&
1033                                     js.startsWith(path + "/liferay/service.js")) {
1034    
1035                            return true;
1036                    }
1037                    else {
1038                            return false;
1039                    }
1040            }
1041    
1042            public PortletDisplay getPortletDisplay() {
1043                    return _portletDisplay;
1044            }
1045    
1046            /*public void setPortletDisplay(PortletDisplay portletDisplay) {
1047                    _portletDisplay = portletDisplay;
1048            }*/
1049    
1050            public void recycle() {
1051                    if (_log.isDebugEnabled()) {
1052                            _log.debug("Recycling instance " + hashCode());
1053                    }
1054    
1055                    _company = null;
1056                    _companyGroupId = 0;
1057                    _companyLogo = StringPool.BLANK;
1058                    _companyLogoHeight = 0;
1059                    _companyLogoWidth = 0;
1060                    _realCompanyLogo = StringPool.BLANK;
1061                    _realCompanyLogoHeight = 0;
1062                    _realCompanyLogoWidth = 0;
1063                    _account = null;
1064                    _defaultUser = null;
1065                    _user = null;
1066                    _realUser = null;
1067                    _doAsUserId = StringPool.BLANK;
1068                    _doAsUserLanguageId = StringPool.BLANK;
1069                    _doAsGroupId = 0;
1070                    _refererPlid = 0;
1071                    _layoutSetLogo = StringPool.BLANK;
1072                    _layout = null;
1073                    _layouts = null;
1074                    _plid = 0;
1075                    _layoutTypePortlet = null;
1076                    _scopeGroup = null;
1077                    _scopeGroupId = 0;
1078                    _signedIn = false;
1079                    _permissionChecker = null;
1080                    _locale = null;
1081                    _languageId = null;
1082                    _i18n = false;
1083                    _i18nLanguageId = null;
1084                    _i18nPath = null;
1085                    _timeZone = null;
1086                    _theme = null;
1087                    _colorScheme = null;
1088                    _themeCssFastLoad = false;
1089                    _themeImagesFastLoad = false;
1090                    _themeJsBarebone = false;
1091                    _themeJsFastLoad = false;
1092                    _freeformLayout = false;
1093                    _serverName = StringPool.BLANK;
1094                    _serverPort = 0;
1095                    _secure = false;
1096                    _lifecycle = StringPool.BLANK;
1097                    _lifecycleAction = false;
1098                    _lifecycleRender = false;
1099                    _lifecycleResource = false;
1100                    _stateExclusive = false;
1101                    _stateMaximized = false;
1102                    _statePopUp = false;
1103                    _isolated = false;
1104                    _facebook = false;
1105                    _facebookCanvasPageURL = StringPool.BLANK;
1106                    _widget = false;
1107                    _cdnHost = StringPool.BLANK;
1108                    _portalURL = StringPool.BLANK;
1109                    _pathApplet = StringPool.BLANK;
1110                    _pathCms = StringPool.BLANK;
1111                    _pathColorSchemeImages = StringPool.BLANK;
1112                    _pathContext = StringPool.BLANK;
1113                    _pathFlash = StringPool.BLANK;
1114                    _pathFriendlyURLPrivateGroup = StringPool.BLANK;
1115                    _pathFriendlyURLPrivateUser = StringPool.BLANK;
1116                    _pathFriendlyURLPublic = StringPool.BLANK;
1117                    _pathImage = StringPool.BLANK;
1118                    _pathJavaScript = StringPool.BLANK;
1119                    _pathMain = StringPool.BLANK;
1120                    _pathSound = StringPool.BLANK;
1121                    _pathThemeCss = StringPool.BLANK;
1122                    _pathThemeImages = StringPool.BLANK;
1123                    _pathThemeJavaScript = StringPool.BLANK;
1124                    _pathThemeRoot = StringPool.BLANK;
1125                    _pathThemeTemplates = StringPool.BLANK;
1126                    _showAddContentIcon = false;
1127                    _showAddContentIconPermission = false;
1128                    _showControlPanelIcon = false;
1129                    _showHomeIcon = false;
1130                    _showLayoutTemplatesIcon = false;
1131                    _showMyAccountIcon = false;
1132                    _showPageSettingsIcon = false;
1133                    _showPortalIcon = false;
1134                    _showSignInIcon = false;
1135                    _showSignOutIcon = false;
1136                    _showStagingIcon = false;
1137                    _urlAddContent = StringPool.BLANK;
1138                    _urlControlPanel = StringPool.BLANK;
1139                    _urlCreateAccount = null;
1140                    _urlCurrent = StringPool.BLANK;
1141                    _urlHome = StringPool.BLANK;
1142                    _urlLayoutTemplates = StringPool.BLANK;
1143                    _urlMyAccount = null;
1144                    _urlPageSettings = null;
1145                    _urlPortal = StringPool.BLANK;
1146                    _urlPublishToLive = null;
1147                    _urlSignIn = StringPool.BLANK;
1148                    _urlSignOut = StringPool.BLANK;
1149                    _urlUpdateManager = null;
1150                    _tilesTitle = StringPool.BLANK;
1151                    _tilesContent = StringPool.BLANK;
1152                    _tilesSelectable = false;
1153                    _includePortletCssJs = false;
1154                    _includeServiceJs = false;
1155                    _portletDisplay.recycle();
1156            }
1157    
1158            private static Log _log = LogFactoryUtil.getLog(ThemeDisplay.class);
1159    
1160            private Company _company;
1161            private long _companyGroupId;
1162            private String _companyLogo = StringPool.BLANK;
1163            private int _companyLogoHeight;
1164            private int _companyLogoWidth;
1165            private String _realCompanyLogo = StringPool.BLANK;
1166            private int _realCompanyLogoHeight;
1167            private int _realCompanyLogoWidth;
1168            private Account _account;
1169            private User _defaultUser;
1170            private User _user;
1171            private User _realUser;
1172            private String _doAsUserId = StringPool.BLANK;
1173            private String _doAsUserLanguageId = StringPool.BLANK;
1174            private long _doAsGroupId = 0;
1175            private long _refererPlid;
1176            private Contact _contact;
1177            private String _layoutSetLogo = StringPool.BLANK;
1178            private Layout _layout;
1179            private List<Layout> _layouts;
1180            private long _plid;
1181            private LayoutTypePortlet _layoutTypePortlet;
1182            private Group _scopeGroup;
1183            private long _scopeGroupId;
1184            private Group _parentGroup;
1185            private long _parentGroupId;
1186            private boolean _signedIn;
1187            private transient PermissionChecker _permissionChecker;
1188            private Locale _locale;
1189            private String _languageId;
1190            private boolean _i18n;
1191            private String _i18nLanguageId;
1192            private String _i18nPath;
1193            private TimeZone _timeZone;
1194            private Theme _theme;
1195            private ColorScheme _colorScheme;
1196            private boolean _themeCssFastLoad;
1197            private boolean _themeImagesFastLoad;
1198            private boolean _themeJsBarebone;
1199            private boolean _themeJsFastLoad;
1200            private boolean _freeformLayout;
1201            private String _serverName;
1202            private int _serverPort;
1203            private boolean _secure;
1204            private String _lifecycle;
1205            private boolean _lifecycleAction;
1206            private boolean _lifecycleRender;
1207            private boolean _lifecycleResource;
1208            private boolean _stateExclusive;
1209            private boolean _stateMaximized;
1210            private boolean _statePopUp;
1211            private boolean _isolated;
1212            private boolean _facebook;
1213            private String _facebookCanvasPageURL;
1214            private boolean _widget;
1215            private String _cdnHost = StringPool.BLANK;
1216            private String _portalURL = StringPool.BLANK;
1217            private String _pathApplet = StringPool.BLANK;
1218            private String _pathCms = StringPool.BLANK;
1219            private String _pathColorSchemeImages = StringPool.BLANK;
1220            private String _pathContext = StringPool.BLANK;
1221            private String _pathFlash = StringPool.BLANK;
1222            private String _pathFriendlyURLPrivateGroup = StringPool.BLANK;
1223            private String _pathFriendlyURLPrivateUser = StringPool.BLANK;
1224            private String _pathFriendlyURLPublic = StringPool.BLANK;
1225            private String _pathImage = StringPool.BLANK;
1226            private String _pathJavaScript = StringPool.BLANK;
1227            private String _pathMain = StringPool.BLANK;
1228            private String _pathSound = StringPool.BLANK;
1229            private String _pathThemeCss = StringPool.BLANK;
1230            private String _pathThemeImages = StringPool.BLANK;
1231            private String _pathThemeJavaScript = StringPool.BLANK;
1232            private String _pathThemeRoot = StringPool.BLANK;
1233            private String _pathThemeTemplates = StringPool.BLANK;
1234            private boolean _showAddContentIcon;
1235            private boolean _showAddContentIconPermission;
1236            private boolean _showControlPanelIcon;
1237            private boolean _showHomeIcon;
1238            private boolean _showLayoutTemplatesIcon;
1239            private boolean _showMyAccountIcon;
1240            private boolean _showPageSettingsIcon;
1241            private boolean _showPortalIcon;
1242            private boolean _showSignInIcon;
1243            private boolean _showSignOutIcon;
1244            private boolean _showStagingIcon;
1245            private String _urlAddContent = StringPool.BLANK;
1246            private String _urlControlPanel = StringPool.BLANK;
1247            private transient PortletURL _urlCreateAccount = null;
1248            private String _urlCurrent = StringPool.BLANK;
1249            private String _urlHome = StringPool.BLANK;
1250            private String _urlLayoutTemplates = StringPool.BLANK;
1251            private transient PortletURL _urlMyAccount = null;
1252            private transient PortletURL _urlPageSettings = null;
1253            private String _urlPortal = StringPool.BLANK;
1254            private transient PortletURL _urlPublishToLive = null;
1255            private String _urlSignIn = StringPool.BLANK;
1256            private String _urlSignOut = StringPool.BLANK;
1257            private transient PortletURL _urlUpdateManager = null;
1258            private String _tilesTitle = StringPool.BLANK;
1259            private String _tilesContent = StringPool.BLANK;
1260            private boolean _tilesSelectable;
1261            private boolean _includePortletCssJs;
1262            private boolean _includeServiceJs;
1263            private PortletDisplay _portletDisplay = new PortletDisplay();
1264    
1265    }