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