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