1
22
23 package com.liferay.portal.model.impl;
24
25 import com.liferay.portal.kernel.job.Scheduler;
26 import com.liferay.portal.kernel.log.Log;
27 import com.liferay.portal.kernel.log.LogFactoryUtil;
28 import com.liferay.portal.kernel.plugin.PluginPackage;
29 import com.liferay.portal.kernel.poller.PollerProcessor;
30 import com.liferay.portal.kernel.pop.MessageListener;
31 import com.liferay.portal.kernel.portlet.ConfigurationAction;
32 import com.liferay.portal.kernel.portlet.FriendlyURLMapper;
33 import com.liferay.portal.kernel.portlet.PortletBag;
34 import com.liferay.portal.kernel.portlet.PortletBagPool;
35 import com.liferay.portal.kernel.portlet.PortletLayoutListener;
36 import com.liferay.portal.kernel.search.Indexer;
37 import com.liferay.portal.kernel.search.OpenSearch;
38 import com.liferay.portal.kernel.servlet.URLEncoder;
39 import com.liferay.portal.kernel.util.ContentTypes;
40 import com.liferay.portal.kernel.util.InstancePool;
41 import com.liferay.portal.kernel.util.StringPool;
42 import com.liferay.portal.kernel.util.StringUtil;
43 import com.liferay.portal.kernel.util.Validator;
44 import com.liferay.portal.lar.PortletDataHandler;
45 import com.liferay.portal.model.Plugin;
46 import com.liferay.portal.model.PluginSetting;
47 import com.liferay.portal.model.Portlet;
48 import com.liferay.portal.model.PortletApp;
49 import com.liferay.portal.model.PortletConstants;
50 import com.liferay.portal.model.PortletFilter;
51 import com.liferay.portal.model.PortletInfo;
52 import com.liferay.portal.model.PublicRenderParameter;
53 import com.liferay.portal.model.RoleConstants;
54 import com.liferay.portal.model.User;
55 import com.liferay.portal.service.RoleLocalServiceUtil;
56 import com.liferay.portal.service.UserLocalServiceUtil;
57 import com.liferay.portal.util.PortalUtil;
58 import com.liferay.portal.util.PropsValues;
59 import com.liferay.portal.util.QNameUtil;
60 import com.liferay.portlet.PortletBagImpl;
61 import com.liferay.portlet.social.model.SocialActivityInterpreter;
62 import com.liferay.portlet.social.model.SocialRequestInterpreter;
63
64 import java.util.ArrayList;
65 import java.util.Arrays;
66 import java.util.HashMap;
67 import java.util.HashSet;
68 import java.util.Hashtable;
69 import java.util.Iterator;
70 import java.util.LinkedHashMap;
71 import java.util.List;
72 import java.util.Map;
73 import java.util.Set;
74 import java.util.TreeSet;
75
76 import javax.portlet.PortletMode;
77
78 import javax.xml.namespace.QName;
79
80
86 public class PortletImpl extends PortletModelImpl implements Portlet {
87
88
91 public PortletImpl() {
92 }
93
94
97 public PortletImpl(long companyId, String portletId) {
98 setCompanyId(companyId);
99 setPortletId(portletId);
100 setStrutsPath(portletId);
101 setActive(true);
102 _headerPortalCss = new ArrayList<String>();
103 _headerPortletCss = new ArrayList<String>();
104 _headerPortalJavaScript = new ArrayList<String>();
105 _headerPortletJavaScript = new ArrayList<String>();
106 _footerPortalCss = new ArrayList<String>();
107 _footerPortletCss = new ArrayList<String>();
108 _footerPortalJavaScript = new ArrayList<String>();
109 _footerPortletJavaScript = new ArrayList<String>();
110 _unlinkedRoles = new HashSet<String>();
111 _roleMappers = new LinkedHashMap<String, String>();
112 _initParams = new HashMap<String, String>();
113 _portletModes = new HashMap<String, Set<String>>();
114 _supportedLocales = new HashSet<String>();
115 _portletFilters = new LinkedHashMap<String, PortletFilter>();
116 _processingEvents = new HashSet<QName>();
117 _publishingEvents = new HashSet<QName>();
118 _publicRenderParameters = new HashSet<PublicRenderParameter>();
119 }
120
121
124 public PortletImpl(
125 String portletId, PluginPackage pluginPackage,
126 PluginSetting pluginSetting, long companyId, long timestamp,
127 String icon, String virtualPath, String strutsPath, String portletName,
128 String displayName, String portletClass,
129 String configurationActionClass, String indexerClass,
130 String openSearchClass, String schedulerClass, String portletURLClass,
131 String friendlyURLMapperClass, String urlEncoderClass,
132 String portletDataHandlerClass, String portletLayoutListenerClass,
133 String pollerProcessorClass, String popMessageListenerClass,
134 String socialActivityInterpreterClass,
135 String socialRequestInterpreterClass, String defaultPreferences,
136 String prefsValidator, boolean prefsCompanyWide,
137 boolean prefsUniquePerLayout, boolean prefsOwnedByGroup,
138 boolean useDefaultTemplate, boolean showPortletAccessDenied,
139 boolean showPortletInactive, boolean actionURLRedirect,
140 boolean restoreCurrentView, boolean maximizeEdit, boolean maximizeHelp,
141 boolean popUpPrint, boolean layoutCacheable, boolean instanceable,
142 String userPrincipalStrategy, boolean privateRequestAttributes,
143 boolean privateSessionAttributes, int renderWeight, boolean ajaxable,
144 List<String> headerPortalCss, List<String> headerPortletCss,
145 List<String> headerPortalJavaScript,
146 List<String> headerPortletJavaScript, List<String> footerPortalCss,
147 List<String> footerPortletCss, List<String> footerPortalJavaScript,
148 List<String> footerPortletJavaScript,
149 String cssClassWrapper, String facebookIntegration,
150 boolean addDefaultResource, String roles, Set<String> unlinkedRoles,
151 Map<String, String> roleMappers, boolean system, boolean active,
152 boolean include, Map<String, String> initParams, Integer expCache,
153 Map<String, Set<String>> portletModes, Set<String> supportedLocales,
154 String resourceBundle, PortletInfo portletInfo,
155 Map<String, PortletFilter> portletFilters, Set<QName> processingEvents,
156 Set<QName> publishingEvents,
157 Set<PublicRenderParameter> publicRenderParameters,
158 PortletApp portletApp) {
159
160 setPortletId(portletId);
161 _pluginPackage = pluginPackage;
162 _defaultPluginSetting = pluginSetting;
163 setCompanyId(companyId);
164 _timestamp = timestamp;
165 _icon = icon;
166 _virtualPath = virtualPath;
167 _strutsPath = strutsPath;
168 _portletName = portletName;
169 _displayName = displayName;
170 _portletClass = portletClass;
171 _configurationActionClass = configurationActionClass;
172 _indexerClass = indexerClass;
173 _openSearchClass = openSearchClass;
174 _schedulerClass = schedulerClass;
175 _portletURLClass = portletURLClass;
176 _friendlyURLMapperClass = friendlyURLMapperClass;
177 _urlEncoderClass = urlEncoderClass;
178 _portletDataHandlerClass = portletDataHandlerClass;
179 _portletLayoutListenerClass = portletLayoutListenerClass;
180 _pollerProcessorClass = pollerProcessorClass;
181 _popMessageListenerClass = popMessageListenerClass;
182 _socialActivityInterpreterClass = socialActivityInterpreterClass;
183 _socialRequestInterpreterClass = socialRequestInterpreterClass;
184 _defaultPreferences = defaultPreferences;
185 _prefsValidator = prefsValidator;
186 _prefsCompanyWide = prefsCompanyWide;
187 _prefsUniquePerLayout = prefsUniquePerLayout;
188 _prefsOwnedByGroup = prefsOwnedByGroup;
189 _useDefaultTemplate = useDefaultTemplate;
190 _showPortletAccessDenied = showPortletAccessDenied;
191 _showPortletInactive = showPortletInactive;
192 _actionURLRedirect = actionURLRedirect;
193 _restoreCurrentView = restoreCurrentView;
194 _maximizeEdit = maximizeEdit;
195 _maximizeHelp = maximizeHelp;
196 _popUpPrint = popUpPrint;
197 _layoutCacheable = layoutCacheable;
198 _instanceable = instanceable;
199 _userPrincipalStrategy = userPrincipalStrategy;
200 _privateRequestAttributes = privateRequestAttributes;
201 _privateSessionAttributes = privateSessionAttributes;
202 _renderWeight = renderWeight;
203 _ajaxable = ajaxable;
204 _headerPortalCss = headerPortalCss;
205 _headerPortletCss = headerPortletCss;
206 _headerPortalJavaScript = headerPortalJavaScript;
207 _headerPortletJavaScript = headerPortletJavaScript;
208 _footerPortalCss = footerPortalCss;
209 _footerPortletCss = footerPortletCss;
210 _footerPortalJavaScript = footerPortalJavaScript;
211 _footerPortletJavaScript = footerPortletJavaScript;
212 _cssClassWrapper = cssClassWrapper;
213 _facebookIntegration = facebookIntegration;
214 _addDefaultResource = addDefaultResource;
215 setRoles(roles);
216 _unlinkedRoles = unlinkedRoles;
217 _roleMappers = roleMappers;
218 _system = system;
219 setActive(active);
220 _include = include;
221 _initParams = initParams;
222 _expCache = expCache;
223 _portletModes = portletModes;
224 _supportedLocales = supportedLocales;
225 _resourceBundle = resourceBundle;
226 _portletInfo = portletInfo;
227 _portletFilters = portletFilters;
228 setProcessingEvents(processingEvents);
229 setPublishingEvents(publishingEvents);
230 setPublicRenderParameters(publicRenderParameters);
231 _portletApp = portletApp;
232
233 if (_instanceable) {
234 _clonedInstances = new Hashtable<String, Portlet>();
235 }
236 }
237
238
243 public String getRootPortletId() {
244 return PortletConstants.getRootPortletId(getPortletId());
245 }
246
247
252 public String getInstanceId() {
253 return PortletConstants.getInstanceId(getPortletId());
254 }
255
256
261 public String getPluginId() {
262 return getRootPortletId();
263 }
264
265
270 public String getPluginType() {
271 return Plugin.TYPE_PORTLET;
272 }
273
274
279 public PluginPackage getPluginPackage() {
280 return _pluginPackage;
281 }
282
283
288 public void setPluginPackage(PluginPackage pluginPackage) {
289 _pluginPackage = pluginPackage;
290 }
291
292
297 public PluginSetting getDefaultPluginSetting() {
298 return _defaultPluginSetting;
299 }
300
301
306 public void setDefaultPluginSetting(PluginSetting pluginSetting) {
307 _defaultPluginSetting = pluginSetting;
308 }
309
310
315 public long getTimestamp() {
316 return _timestamp;
317 }
318
319
324 public void setTimestamp(long timestamp) {
325 _timestamp = timestamp;
326 }
327
328
333 public String getIcon() {
334 return _icon;
335 }
336
337
342 public void setIcon(String icon) {
343 _icon = icon;
344 }
345
346
351 public String getVirtualPath() {
352 return _virtualPath;
353 }
354
355
360 public void setVirtualPath(String virtualPath) {
361 if (_portletApp.isWARFile() && Validator.isNull(virtualPath)) {
362 virtualPath = PropsValues.PORTLET_VIRTUAL_PATH;
363 }
364
365 _virtualPath = virtualPath;
366 }
367
368
373 public String getStrutsPath() {
374 return _strutsPath;
375 }
376
377
382 public void setStrutsPath(String strutsPath) {
383 _strutsPath = strutsPath;
384 }
385
386
391 public String getPortletName() {
392 return _portletName;
393 }
394
395
400 public void setPortletName(String portletName) {
401 _portletName = portletName;
402 }
403
404
409 public String getDisplayName() {
410 return _displayName;
411 }
412
413
418 public void setDisplayName(String displayName) {
419 _displayName = displayName;
420 }
421
422
427 public String getPortletClass() {
428 return _portletClass;
429 }
430
431
436 public void setPortletClass(String portletClass) {
437 _portletClass = portletClass;
438 }
439
440
445 public String getConfigurationActionClass() {
446 return _configurationActionClass;
447 }
448
449
455 public void setConfigurationActionClass(String configurationActionClass) {
456 _configurationActionClass = configurationActionClass;
457 }
458
459
464 public ConfigurationAction getConfigurationActionInstance() {
465 if (Validator.isNotNull(getConfigurationActionClass())) {
466 if (_portletApp.isWARFile()) {
467 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
468
469 return portletBag.getConfigurationActionInstance();
470 }
471 else {
472 return (ConfigurationAction)InstancePool.get(
473 getConfigurationActionClass());
474 }
475 }
476
477 return null;
478 }
479
480
485 public String getIndexerClass() {
486 return _indexerClass;
487 }
488
489
494 public void setIndexerClass(String indexerClass) {
495 _indexerClass = indexerClass;
496 }
497
498
503 public Indexer getIndexerInstance() {
504 if (Validator.isNotNull(getIndexerClass())) {
505 if (_portletApp.isWARFile()) {
506 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
507
508 return portletBag.getIndexerInstance();
509 }
510 else {
511 return (Indexer)InstancePool.get(getIndexerClass());
512 }
513 }
514
515 return null;
516 }
517
518
523 public String getOpenSearchClass() {
524 return _openSearchClass;
525 }
526
527
533 public void setOpenSearchClass(String openSearchClass) {
534 _openSearchClass = openSearchClass;
535 }
536
537
542 public OpenSearch getOpenSearchInstance() {
543 if (Validator.isNull(getOpenSearchClass())) {
544 return null;
545 }
546
547 if (_portletApp.isWARFile()) {
548 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
549
550 return portletBag.getOpenSearchInstance();
551 }
552
553 return (OpenSearch)InstancePool.get(getOpenSearchClass());
554 }
555
556
561 public String getSchedulerClass() {
562 return _schedulerClass;
563 }
564
565
571 public void setSchedulerClass(String schedulerClass) {
572 _schedulerClass = schedulerClass;
573 }
574
575
580 public Scheduler getSchedulerInstance() {
581 if (Validator.isNotNull(getSchedulerClass())) {
582 if (_portletApp.isWARFile()) {
583 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
584
585 return portletBag.getSchedulerInstance();
586 }
587 else {
588 return (Scheduler)InstancePool.get(getSchedulerClass());
589 }
590 }
591
592 return null;
593 }
594
595
600 public String getPortletURLClass() {
601 return _portletURLClass;
602 }
603
604
610 public void setPortletURLClass(String portletURLClass) {
611 _portletURLClass = portletURLClass;
612 }
613
614
619 public String getFriendlyURLMapperClass() {
620 return _friendlyURLMapperClass;
621 }
622
623
629 public void setFriendlyURLMapperClass(String friendlyURLMapperClass) {
630 _friendlyURLMapperClass = friendlyURLMapperClass;
631 }
632
633
638 public FriendlyURLMapper getFriendlyURLMapperInstance() {
639 if (Validator.isNotNull(getFriendlyURLMapperClass())) {
640 if (_portletApp.isWARFile()) {
641 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
642
643 return portletBag.getFriendlyURLMapperInstance();
644 }
645 else {
646 return (FriendlyURLMapper)InstancePool.get(
647 getFriendlyURLMapperClass());
648 }
649 }
650
651 return null;
652 }
653
654
659 public String getURLEncoderClass() {
660 return _urlEncoderClass;
661 }
662
663
669 public void setURLEncoderClass(String urlEncoderClass) {
670 _urlEncoderClass = urlEncoderClass;
671 }
672
673
678 public URLEncoder getURLEncoderInstance() {
679 if (Validator.isNotNull(getURLEncoderClass())) {
680 if (_portletApp.isWARFile()) {
681 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
682
683 return portletBag.getURLEncoderInstance();
684 }
685 else {
686 return (URLEncoder)InstancePool.get(getURLEncoderClass());
687 }
688 }
689
690 return null;
691 }
692
693
698 public String getPortletDataHandlerClass() {
699 return _portletDataHandlerClass;
700 }
701
702
708 public void setPortletDataHandlerClass(String portletDataHandlerClass) {
709 _portletDataHandlerClass = portletDataHandlerClass;
710 }
711
712
717 public PortletDataHandler getPortletDataHandlerInstance() {
718 if (Validator.isNotNull(getPortletDataHandlerClass())) {
719 if (_portletApp.isWARFile()) {
720 PortletBagImpl portletBagImpl =
721 (PortletBagImpl)PortletBagPool.get(getRootPortletId());
722
723 return portletBagImpl.getPortletDataHandlerInstance();
724 }
725 else {
726 return (PortletDataHandler)InstancePool.get(
727 getPortletDataHandlerClass());
728 }
729 }
730
731 return null;
732 }
733
734
739 public PortletLayoutListener getPortletLayoutListener() {
740 if (Validator.isNull(getPortletLayoutListenerClass())) {
741 return null;
742 }
743
744 return (PortletLayoutListener)InstancePool.get(
745 getPortletLayoutListenerClass());
746 }
747
748
753 public String getPortletLayoutListenerClass() {
754 return _portletLayoutListenerClass;
755 }
756
757
763 public void setPortletLayoutListenerClass(
764 String portletLayoutListenerClass) {
765
766 _portletLayoutListenerClass = portletLayoutListenerClass;
767 }
768
769
774 public PortletLayoutListener getPortletLayoutListenerInstance() {
775 if (Validator.isNull(getPortletLayoutListenerClass())) {
776 return null;
777 }
778
779 if (_portletApp.isWARFile()) {
780 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
781
782 return portletBag.getPortletLayoutListenerInstance();
783 }
784
785 return (PortletLayoutListener)InstancePool.get(
786 getPortletLayoutListenerClass());
787 }
788
789
794 public String getPollerProcessorClass() {
795 return _pollerProcessorClass;
796 }
797
798
804 public void setPollerProcessorClass(String pollerProcessorClass) {
805 _pollerProcessorClass = pollerProcessorClass;
806 }
807
808
813 public PollerProcessor getPollerProcessorInstance() {
814 if (Validator.isNull(getPollerProcessorClass())) {
815 return null;
816 }
817
818 if (_portletApp.isWARFile()) {
819 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
820
821 return portletBag.getPollerProcessorInstance();
822 }
823
824 return (PollerProcessor)InstancePool.get(getPollerProcessorClass());
825 }
826
827
832 public String getPopMessageListenerClass() {
833 return _popMessageListenerClass;
834 }
835
836
842 public void setPopMessageListenerClass(String popMessageListenerClass) {
843 _popMessageListenerClass = popMessageListenerClass;
844 }
845
846
851 public MessageListener getPopMessageListenerInstance() {
852 if (Validator.isNotNull(getPopMessageListenerClass())) {
853 if (_portletApp.isWARFile()) {
854 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
855
856 return portletBag.getPopMessageListenerInstance();
857 }
858 else {
859 return (MessageListener)InstancePool.get(
860 getPopMessageListenerClass());
861 }
862 }
863
864 return null;
865 }
866
867
873 public String getSocialActivityInterpreterClass() {
874 return _socialActivityInterpreterClass;
875 }
876
877
883 public void setSocialActivityInterpreterClass(
884 String socialActivityInterpreterClass) {
885
886 _socialActivityInterpreterClass = socialActivityInterpreterClass;
887 }
888
889
895 public SocialActivityInterpreter getSocialActivityInterpreterInstance() {
896 if (Validator.isNotNull(getSocialActivityInterpreterClass())) {
897 if (_portletApp.isWARFile()) {
898 PortletBagImpl portletBagImpl =
899 (PortletBagImpl)PortletBagPool.get(getRootPortletId());
900
901 return portletBagImpl.getSocialActivityInterpreterInstance();
902 }
903 else {
904 return (SocialActivityInterpreter)InstancePool.get(
905 getSocialActivityInterpreterClass());
906 }
907 }
908
909 return null;
910 }
911
912
918 public String getSocialRequestInterpreterClass() {
919 return _socialRequestInterpreterClass;
920 }
921
922
928 public void setSocialRequestInterpreterClass(
929 String socialRequestInterpreterClass) {
930
931 _socialRequestInterpreterClass = socialRequestInterpreterClass;
932 }
933
934
940 public SocialRequestInterpreter getSocialRequestInterpreterInstance() {
941 if (Validator.isNotNull(getSocialRequestInterpreterClass())) {
942 if (_portletApp.isWARFile()) {
943 PortletBagImpl portletBag =
944 (PortletBagImpl)PortletBagPool.get(getRootPortletId());
945
946 return portletBag.getSocialRequestInterpreterInstance();
947 }
948 else {
949 return (SocialRequestInterpreter)InstancePool.get(
950 getSocialRequestInterpreterClass());
951 }
952 }
953
954 return null;
955 }
956
957
962 public String getDefaultPreferences() {
963 if (Validator.isNull(_defaultPreferences)) {
964 return PortletConstants.DEFAULT_PREFERENCES;
965 }
966 else {
967 return _defaultPreferences;
968 }
969 }
970
971
976 public void setDefaultPreferences(String defaultPreferences) {
977 _defaultPreferences = defaultPreferences;
978 }
979
980
985 public String getPreferencesValidator() {
986 return _prefsValidator;
987 }
988
989
995 public void setPreferencesValidator(String prefsValidator) {
996 if (prefsValidator != null) {
997
998
1001 _prefsValidator = prefsValidator.trim();
1002 }
1003 else {
1004 _prefsValidator = null;
1005 }
1006 }
1007
1008
1013 public boolean getPreferencesCompanyWide() {
1014 return _prefsCompanyWide;
1015 }
1016
1017
1022 public boolean isPreferencesCompanyWide() {
1023 return _prefsCompanyWide;
1024 }
1025
1026
1032 public void setPreferencesCompanyWide(boolean prefsCompanyWide) {
1033 _prefsCompanyWide = prefsCompanyWide;
1034 }
1035
1036
1041 public boolean getPreferencesUniquePerLayout() {
1042 return _prefsUniquePerLayout;
1043 }
1044
1045
1050 public boolean isPreferencesUniquePerLayout() {
1051 return _prefsUniquePerLayout;
1052 }
1053
1054
1060 public void setPreferencesUniquePerLayout(boolean prefsUniquePerLayout) {
1061 _prefsUniquePerLayout = prefsUniquePerLayout;
1062 }
1063
1064
1073 public boolean getPreferencesOwnedByGroup() {
1074 return _prefsOwnedByGroup;
1075 }
1076
1077
1086 public boolean isPreferencesOwnedByGroup() {
1087 return _prefsOwnedByGroup;
1088 }
1089
1090
1099 public void setPreferencesOwnedByGroup(boolean prefsOwnedByGroup) {
1100 _prefsOwnedByGroup = prefsOwnedByGroup;
1101 }
1102
1103
1108 public boolean getUseDefaultTemplate() {
1109 return _useDefaultTemplate;
1110 }
1111
1112
1117 public boolean isUseDefaultTemplate() {
1118 return _useDefaultTemplate;
1119 }
1120
1121
1127 public void setUseDefaultTemplate(boolean useDefaultTemplate) {
1128 _useDefaultTemplate = useDefaultTemplate;
1129 }
1130
1131
1138 public boolean getShowPortletAccessDenied() {
1139 return _showPortletAccessDenied;
1140 }
1141
1142
1149 public boolean isShowPortletAccessDenied() {
1150 return _showPortletAccessDenied;
1151 }
1152
1153
1160 public void setShowPortletAccessDenied(boolean showPortletAccessDenied) {
1161 _showPortletAccessDenied = showPortletAccessDenied;
1162 }
1163
1164
1169 public boolean getShowPortletInactive() {
1170 return _showPortletInactive;
1171 }
1172
1173
1178 public boolean isShowPortletInactive() {
1179 return _showPortletInactive;
1180 }
1181
1182
1188 public void setShowPortletInactive(boolean showPortletInactive) {
1189 _showPortletInactive = showPortletInactive;
1190 }
1191
1192
1199 public boolean getActionURLRedirect() {
1200 return _actionURLRedirect;
1201 }
1202
1203
1210 public boolean isActionURLRedirect() {
1211 return _actionURLRedirect;
1212 }
1213
1214
1221 public void setActionURLRedirect(boolean actionURLRedirect) {
1222 _actionURLRedirect = actionURLRedirect;
1223 }
1224
1225
1232 public boolean getRestoreCurrentView() {
1233 return _restoreCurrentView;
1234 }
1235
1236
1243 public boolean isRestoreCurrentView() {
1244 return _restoreCurrentView;
1245 }
1246
1247
1254 public void setRestoreCurrentView(boolean restoreCurrentView) {
1255 _restoreCurrentView = restoreCurrentView;
1256 }
1257
1258
1265 public boolean getMaximizeEdit() {
1266 return _maximizeEdit;
1267 }
1268
1269
1276 public boolean isMaximizeEdit() {
1277 return _maximizeEdit;
1278 }
1279
1280
1287 public void setMaximizeEdit(boolean maximizeEdit) {
1288 _maximizeEdit = maximizeEdit;
1289 }
1290
1291
1298 public boolean getMaximizeHelp() {
1299 return _maximizeHelp;
1300 }
1301
1302
1309 public boolean isMaximizeHelp() {
1310 return _maximizeHelp;
1311 }
1312
1313
1320 public void setMaximizeHelp(boolean maximizeHelp) {
1321 _maximizeHelp = maximizeHelp;
1322 }
1323
1324
1331 public boolean getPopUpPrint() {
1332 return _popUpPrint;
1333 }
1334
1335
1342 public boolean isPopUpPrint() {
1343 return _popUpPrint;
1344 }
1345
1346
1353 public void setPopUpPrint(boolean popUpPrint) {
1354 _popUpPrint = popUpPrint;
1355 }
1356
1357
1362 public boolean getLayoutCacheable() {
1363 return _layoutCacheable;
1364 }
1365
1366
1371 public boolean isLayoutCacheable() {
1372 return _layoutCacheable;
1373 }
1374
1375
1381 public void setLayoutCacheable(boolean layoutCacheable) {
1382 _layoutCacheable = layoutCacheable;
1383 }
1384
1385
1390 public boolean getInstanceable() {
1391 return _instanceable;
1392 }
1393
1394
1399 public boolean isInstanceable() {
1400 return _instanceable;
1401 }
1402
1403
1409 public void setInstanceable(boolean instanceable) {
1410 _instanceable = instanceable;
1411 }
1412
1413
1418 public String getUserPrincipalStrategy() {
1419 return _userPrincipalStrategy;
1420 }
1421
1422
1428 public void setUserPrincipalStrategy(String userPrincipalStrategy) {
1429 if (Validator.isNotNull(userPrincipalStrategy)) {
1430 _userPrincipalStrategy = userPrincipalStrategy;
1431 }
1432 }
1433
1434
1441 public boolean getPrivateRequestAttributes() {
1442 return _privateRequestAttributes;
1443 }
1444
1445
1452 public boolean isPrivateRequestAttributes() {
1453 return _privateRequestAttributes;
1454 }
1455
1456
1464 public void setPrivateRequestAttributes(boolean privateRequestAttributes) {
1465 _privateRequestAttributes = privateRequestAttributes;
1466 }
1467
1468
1475 public boolean getPrivateSessionAttributes() {
1476 return _privateSessionAttributes;
1477 }
1478
1479
1486 public boolean isPrivateSessionAttributes() {
1487 return _privateSessionAttributes;
1488 }
1489
1490
1497 public void setPrivateSessionAttributes(boolean privateSessionAttributes) {
1498 _privateSessionAttributes = privateSessionAttributes;
1499 }
1500
1501
1506 public int getRenderWeight() {
1507 return _renderWeight;
1508 }
1509
1510
1515 public void setRenderWeight(int renderWeight) {
1516 _renderWeight = renderWeight;
1517 }
1518
1519
1524 public boolean getAjaxable() {
1525 return _ajaxable;
1526 }
1527
1528
1533 public boolean isAjaxable() {
1534 return _ajaxable;
1535 }
1536
1537
1543 public void setAjaxable(boolean ajaxable) {
1544 _ajaxable = ajaxable;
1545 }
1546
1547
1554 public List<String> getHeaderPortalCss() {
1555 return _headerPortalCss;
1556 }
1557
1558
1565 public void setHeaderPortalCss(List<String> headerPortalCss) {
1566 _headerPortalCss = headerPortalCss;
1567 }
1568
1569
1576 public List<String> getHeaderPortletCss() {
1577 return _headerPortletCss;
1578 }
1579
1580
1588 public void setHeaderPortletCss(List<String> headerPortletCss) {
1589 _headerPortletCss = headerPortletCss;
1590 }
1591
1592
1599 public List<String> getHeaderPortalJavaScript() {
1600 return _headerPortalJavaScript;
1601 }
1602
1603
1611 public void setHeaderPortalJavaScript(List<String> headerPortalJavaScript) {
1612 _headerPortalJavaScript = headerPortalJavaScript;
1613 }
1614
1615
1622 public List<String> getHeaderPortletJavaScript() {
1623 return _headerPortletJavaScript;
1624 }
1625
1626
1634 public void setHeaderPortletJavaScript(
1635 List<String> headerPortletJavaScript) {
1636
1637 _headerPortletJavaScript = headerPortletJavaScript;
1638 }
1639
1640
1647 public List<String> getFooterPortalCss() {
1648 return _footerPortalCss;
1649 }
1650
1651
1658 public void setFooterPortalCss(List<String> footerPortalCss) {
1659 _footerPortalCss = footerPortalCss;
1660 }
1661
1662
1669 public List<String> getFooterPortletCss() {
1670 return _footerPortletCss;
1671 }
1672
1673
1681 public void setFooterPortletCss(List<String> footerPortletCss) {
1682 _footerPortletCss = footerPortletCss;
1683 }
1684
1685
1692 public List<String> getFooterPortalJavaScript() {
1693 return _footerPortalJavaScript;
1694 }
1695
1696
1704 public void setFooterPortalJavaScript(List<String> footerPortalJavaScript) {
1705 _footerPortalJavaScript = footerPortalJavaScript;
1706 }
1707
1708
1715 public List<String> getFooterPortletJavaScript() {
1716 return _footerPortletJavaScript;
1717 }
1718
1719
1727 public void setFooterPortletJavaScript(
1728 List<String> footerPortletJavaScript) {
1729
1730 _footerPortletJavaScript = footerPortletJavaScript;
1731 }
1732
1733
1740 public String getCssClassWrapper() {
1741 return _cssClassWrapper;
1742 }
1743
1744
1751 public void setCssClassWrapper(String cssClassWrapper) {
1752 _cssClassWrapper = cssClassWrapper;
1753 }
1754
1755
1760 public String getFacebookIntegration() {
1761 return _facebookIntegration;
1762 }
1763
1764
1770 public void setFacebookIntegration(String facebookIntegration) {
1771 if (Validator.isNotNull(facebookIntegration)) {
1772 _facebookIntegration = facebookIntegration;
1773 }
1774 }
1775
1776
1782 public boolean getAddDefaultResource() {
1783 return _addDefaultResource;
1784 }
1785
1786
1792 public boolean isAddDefaultResource() {
1793 return _addDefaultResource;
1794 }
1795
1796
1802 public void setAddDefaultResource(boolean addDefaultResource) {
1803 _addDefaultResource = addDefaultResource;
1804 }
1805
1806
1811 public void setRoles(String roles) {
1812 _rolesArray = StringUtil.split(roles);
1813
1814 super.setRoles(roles);
1815 }
1816
1817
1822 public String[] getRolesArray() {
1823 return _rolesArray;
1824 }
1825
1826
1831 public void setRolesArray(String[] rolesArray) {
1832 _rolesArray = rolesArray;
1833
1834 super.setRoles(StringUtil.merge(rolesArray));
1835 }
1836
1837
1842 public Set<String> getUnlinkedRoles() {
1843 return _unlinkedRoles;
1844 }
1845
1846
1851 public void setUnlinkedRoles(Set<String> unlinkedRoles) {
1852 _unlinkedRoles = unlinkedRoles;
1853 }
1854
1855
1860 public Map<String, String> getRoleMappers() {
1861 return _roleMappers;
1862 }
1863
1864
1869 public void setRoleMappers(Map<String, String> roleMappers) {
1870 _roleMappers = roleMappers;
1871 }
1872
1873
1877 public void linkRoles() {
1878 List<String> linkedRoles = new ArrayList<String>();
1879
1880 Iterator<String> itr = _unlinkedRoles.iterator();
1881
1882 while (itr.hasNext()) {
1883 String unlinkedRole = itr.next();
1884
1885 String roleLink = _roleMappers.get(unlinkedRole);
1886
1887 if (Validator.isNotNull(roleLink)) {
1888 if (_log.isDebugEnabled()) {
1889 _log.debug(
1890 "Linking role for portlet [" + getPortletId() +
1891 "] with role-name [" + unlinkedRole +
1892 "] to role-link [" + roleLink + "]");
1893 }
1894
1895 linkedRoles.add(roleLink);
1896 }
1897 else {
1898 _log.error(
1899 "Unable to link role for portlet [" + getPortletId() +
1900 "] with role-name [" + unlinkedRole +
1901 "] because role-link is null");
1902 }
1903 }
1904
1905 String[] array = linkedRoles.toArray(new String[linkedRoles.size()]);
1906
1907 Arrays.sort(array);
1908
1909 setRolesArray(array);
1910 }
1911
1912
1917 public boolean hasRoleWithName(String roleName) {
1918 if ((_rolesArray == null) || (_rolesArray.length == 0)) {
1919 return false;
1920 }
1921
1922 for (int i = 0; i < _rolesArray.length; i++) {
1923 if (_rolesArray[i].equalsIgnoreCase(roleName)) {
1924 return true;
1925 }
1926 }
1927
1928 return false;
1929 }
1930
1931
1938 public boolean hasAddPortletPermission(long userId) {
1939 try {
1940 if ((_rolesArray == null) || (_rolesArray.length == 0)) {
1941 return true;
1942 }
1943 else if (RoleLocalServiceUtil.hasUserRoles(
1944 userId, getCompanyId(), _rolesArray, true)) {
1945
1946 return true;
1947 }
1948 else if (RoleLocalServiceUtil.hasUserRole(
1949 userId, getCompanyId(), RoleConstants.ADMINISTRATOR,
1950 true)) {
1951
1952 return true;
1953 }
1954 else {
1955 User user = UserLocalServiceUtil.getUserById(userId);
1956
1957 if (user.isDefaultUser() &&
1958 hasRoleWithName(RoleConstants.GUEST)) {
1959
1960 return true;
1961 }
1962 }
1963 }
1964 catch (Exception e) {
1965 _log.error(e);
1966 }
1967
1968 return false;
1969 }
1970
1971
1978 public boolean getSystem() {
1979 return _system;
1980 }
1981
1982
1989 public boolean isSystem() {
1990 return _system;
1991 }
1992
1993
2000 public void setSystem(boolean system) {
2001 _system = system;
2002 }
2003
2004
2011 public boolean getInclude() {
2012 return _include;
2013 }
2014
2015
2022 public boolean isInclude() {
2023 return _include;
2024 }
2025
2026
2033 public void setInclude(boolean include) {
2034 _include = include;
2035 }
2036
2037
2042 public Map<String, String> getInitParams() {
2043 return _initParams;
2044 }
2045
2046
2051 public void setInitParams(Map<String, String> initParams) {
2052 _initParams = initParams;
2053 }
2054
2055
2060 public Integer getExpCache() {
2061 return _expCache;
2062 }
2063
2064
2069 public void setExpCache(Integer expCache) {
2070 _expCache = expCache;
2071 }
2072
2073
2078 public Map<String, Set<String>> getPortletModes() {
2079 return _portletModes;
2080 }
2081
2082
2087 public void setPortletModes(Map<String, Set<String>> portletModes) {
2088 _portletModes = portletModes;
2089 }
2090
2091
2098 public boolean hasPortletMode(String mimeType, PortletMode portletMode) {
2099 if (mimeType == null) {
2100 mimeType = ContentTypes.TEXT_HTML;
2101 }
2102
2103 Set<String> mimeTypeModes = _portletModes.get(mimeType);
2104
2105 if (mimeTypeModes == null) {
2106 return false;
2107 }
2108
2109 if (mimeTypeModes.contains(portletMode.toString())) {
2110 return true;
2111 }
2112 else {
2113 return false;
2114 }
2115 }
2116
2117
2122 public Set<String> getAllPortletModes() {
2123 Set<String> allPortletModes = new TreeSet<String>();
2124
2125 Iterator<Map.Entry <String, Set<String>>> itr1 =
2126 _portletModes.entrySet().iterator();
2127
2128 while (itr1.hasNext()) {
2129 Map.Entry<String, Set<String>> entry = itr1.next();
2130
2131 Set<String> mimeTypeModes = entry.getValue();
2132
2133 Iterator<String> itr2 = mimeTypeModes.iterator();
2134
2135 while (itr2.hasNext()) {
2136 String portletMode = itr2.next();
2137
2138 allPortletModes.add(portletMode);
2139 }
2140 }
2141
2142 return allPortletModes;
2143 }
2144
2145
2150 public boolean hasMultipleMimeTypes() {
2151 if (_portletModes.size() > 1) {
2152 return true;
2153 }
2154 else {
2155 return false;
2156 }
2157 }
2158
2159
2164 public Set<String> getSupportedLocales() {
2165 return _supportedLocales;
2166 }
2167
2168
2173 public void setSupportedLocales(Set<String> supportedLocales) {
2174 _supportedLocales = supportedLocales;
2175 }
2176
2177
2182 public String getResourceBundle() {
2183 return _resourceBundle;
2184 }
2185
2186
2191 public void setResourceBundle(String resourceBundle) {
2192 _resourceBundle = resourceBundle;
2193 }
2194
2195
2200 public PortletInfo getPortletInfo() {
2201 return _portletInfo;
2202 }
2203
2204
2209 public void setPortletInfo(PortletInfo portletInfo) {
2210 _portletInfo = portletInfo;
2211 }
2212
2213
2218 public Map<String, PortletFilter> getPortletFilters() {
2219 return _portletFilters;
2220 }
2221
2222
2227 public void setPortletFilters(Map<String, PortletFilter> portletFilters) {
2228 _portletFilters = portletFilters;
2229 }
2230
2231
2236 public void addProcessingEvent(QName processingEvent) {
2237 _processingEvents.add(processingEvent);
2238 _processingEventsByQName.put(
2239 QNameUtil.getKey(processingEvent), processingEvent);
2240 }
2241
2242
2249 public QName getProcessingEvent(String uri, String localPart) {
2250 return _processingEventsByQName.get(
2251 QNameUtil.getKey(uri, localPart));
2252 }
2253
2254
2259 public Set<QName> getProcessingEvents() {
2260 return _processingEvents;
2261 }
2262
2263
2269 public void setProcessingEvents(Set<QName> processingEvents) {
2270 for (QName processingEvent : processingEvents) {
2271 addProcessingEvent(processingEvent);
2272 }
2273 }
2274
2275
2280 public void addPublishingEvent(QName publishingEvent) {
2281 _publishingEvents.add(publishingEvent);
2282 }
2283
2284
2289 public Set<QName> getPublishingEvents() {
2290 return _publishingEvents;
2291 }
2292
2293
2299 public void setPublishingEvents(Set<QName> publishingEvents) {
2300 for (QName publishingEvent : publishingEvents) {
2301 addPublishingEvent(publishingEvent);
2302 }
2303 }
2304
2305
2310 public void addPublicRenderParameter(
2311 PublicRenderParameter publicRenderParameter) {
2312
2313 _publicRenderParameters.add(publicRenderParameter);
2314 _publicRenderParametersByIdentifier.put(
2315 publicRenderParameter.getIdentifier(), publicRenderParameter);
2316 _publicRenderParametersByQName.put(
2317 QNameUtil.getKey(publicRenderParameter.getQName()),
2318 publicRenderParameter);
2319 }
2320
2321
2326 public PublicRenderParameter getPublicRenderParameter(String identifier) {
2327 return _publicRenderParametersByIdentifier.get(identifier);
2328 }
2329
2330
2337 public PublicRenderParameter getPublicRenderParameter(
2338 String uri, String localPart) {
2339
2340 return _publicRenderParametersByQName.get(
2341 QNameUtil.getKey(uri, localPart));
2342 }
2343
2344
2349 public Set<PublicRenderParameter> getPublicRenderParameters() {
2350 return _publicRenderParameters;
2351 }
2352
2353
2359 public void setPublicRenderParameters(
2360 Set<PublicRenderParameter> publicRenderParameters) {
2361
2362 for (PublicRenderParameter publicRenderParameter :
2363 publicRenderParameters) {
2364
2365 addPublicRenderParameter(publicRenderParameter);
2366 }
2367 }
2368
2369
2374 public String getContextPath() {
2375 String virtualPath = getVirtualPath();
2376
2377 if (Validator.isNotNull(virtualPath)) {
2378 return virtualPath;
2379 }
2380
2381 if (_portletApp.isWARFile()) {
2382 StringBuilder sb = new StringBuilder();
2383
2384 sb.append(StringPool.SLASH);
2385 sb.append(_portletApp.getServletContextName());
2386
2387 return sb.toString();
2388 }
2389 else {
2390 return PortalUtil.getPathContext();
2391 }
2392 }
2393
2394
2399 public PortletApp getPortletApp() {
2400 return _portletApp;
2401 }
2402
2403
2408 public void setPortletApp(PortletApp portletApp) {
2409 _portletApp = portletApp;
2410 }
2411
2412
2418 public Portlet getClonedInstance(String portletId) {
2419 if (_clonedInstances == null) {
2420
2421
2423 return null;
2424 }
2425
2426 Portlet clonedInstance = _clonedInstances.get(portletId);
2427
2428 if (clonedInstance == null) {
2429 clonedInstance = (Portlet)clone();
2430
2431 clonedInstance.setPortletId(portletId);
2432
2433
2440 }
2442
2443 return clonedInstance;
2444 }
2445
2446
2452 public boolean getStatic() {
2453 return _staticPortlet;
2454 }
2455
2456
2462 public boolean isStatic() {
2463 return _staticPortlet;
2464 }
2465
2466
2472 public void setStatic(boolean staticPortlet) {
2473 _staticPortlet = staticPortlet;
2474 }
2475
2476
2483 public boolean getStaticStart() {
2484 return _staticPortletStart;
2485 }
2486
2487
2494 public boolean isStaticStart() {
2495 return _staticPortletStart;
2496 }
2497
2498
2505 public void setStaticStart(boolean staticPortletStart) {
2506 _staticPortletStart = staticPortletStart;
2507 }
2508
2509
2516 public boolean getStaticEnd() {
2517 return !_staticPortletStart;
2518 }
2519
2520
2527 public boolean isStaticEnd() {
2528 return !_staticPortletStart;
2529 }
2530
2531
2536 public Object clone() {
2537 Portlet portlet = new PortletImpl(
2538 getPortletId(), getPluginPackage(), getDefaultPluginSetting(),
2539 getCompanyId(), getTimestamp(), getIcon(), getVirtualPath(),
2540 getStrutsPath(), getPortletName(), getDisplayName(),
2541 getPortletClass(), getConfigurationActionClass(), getIndexerClass(),
2542 getOpenSearchClass(), getSchedulerClass(), getPortletURLClass(),
2543 getFriendlyURLMapperClass(), getURLEncoderClass(),
2544 getPortletDataHandlerClass(), getPortletLayoutListenerClass(),
2545 getPollerProcessorClass(), getPopMessageListenerClass(),
2546 getSocialActivityInterpreterClass(),
2547 getSocialRequestInterpreterClass(), getDefaultPreferences(),
2548 getPreferencesValidator(), isPreferencesCompanyWide(),
2549 isPreferencesUniquePerLayout(), isPreferencesOwnedByGroup(),
2550 isUseDefaultTemplate(), isShowPortletAccessDenied(),
2551 isShowPortletInactive(), isActionURLRedirect(),
2552 isRestoreCurrentView(), isMaximizeEdit(), isMaximizeHelp(),
2553 isPopUpPrint(), isLayoutCacheable(), isInstanceable(),
2554 getUserPrincipalStrategy(), isPrivateRequestAttributes(),
2555 isPrivateSessionAttributes(), getRenderWeight(), isAjaxable(),
2556 getHeaderPortalCss(), getHeaderPortletCss(),
2557 getHeaderPortalJavaScript(), getHeaderPortletJavaScript(),
2558 getFooterPortalCss(), getFooterPortletCss(),
2559 getFooterPortalJavaScript(), getFooterPortletJavaScript(),
2560 getCssClassWrapper(), getFacebookIntegration(),
2561 isAddDefaultResource(), getRoles(), getUnlinkedRoles(),
2562 getRoleMappers(), isSystem(), isActive(), isInclude(),
2563 getInitParams(), getExpCache(), getPortletModes(),
2564 getSupportedLocales(), getResourceBundle(), getPortletInfo(),
2565 getPortletFilters(), getProcessingEvents(), getPublishingEvents(),
2566 getPublicRenderParameters(), getPortletApp());
2567
2568 portlet.setId(getId());
2569
2570 return portlet;
2571 }
2572
2573
2582 public int compareTo(Portlet portlet) {
2583 return getPortletId().compareTo(portlet.getPortletId());
2584 }
2585
2586
2592 public boolean equals(Object obj) {
2593 Portlet portlet = (Portlet)obj;
2594
2595 return getPortletId().equals(portlet.getPortletId());
2596 }
2597
2598
2601 private static Log _log = LogFactoryUtil.getLog(PortletImpl.class);
2602
2603
2606 private PluginPackage _pluginPackage;
2607
2608
2611 private PluginSetting _defaultPluginSetting;
2612
2613
2616 private long _timestamp;
2617
2618
2621 private String _icon;
2622
2623
2626 private String _virtualPath;
2627
2628
2631 private String _strutsPath;
2632
2633
2636 private String _portletName;
2637
2638
2641 private String _displayName;
2642
2643
2646 private String _portletClass;
2647
2648
2651 private String _configurationActionClass;
2652
2653
2656 private String _indexerClass;
2657
2658
2661 private String _openSearchClass;
2662
2663
2666 private String _schedulerClass;
2667
2668
2671 private String _portletURLClass;
2672
2673
2676 private String _friendlyURLMapperClass;
2677
2678
2681 private String _urlEncoderClass;
2682
2683
2686 private String _portletDataHandlerClass;
2687
2688
2691 private String _portletLayoutListenerClass;
2692
2693
2696 private String _pollerProcessorClass;
2697
2698
2701 private String _popMessageListenerClass;
2702
2703
2706 private String _socialActivityInterpreterClass;
2707
2708
2711 private String _socialRequestInterpreterClass;
2712
2713
2716 private String _defaultPreferences;
2717
2718
2721 private String _prefsValidator;
2722
2723
2726 private boolean _prefsCompanyWide;
2727
2728
2731 private boolean _prefsUniquePerLayout = true;
2732
2733
2737 private boolean _prefsOwnedByGroup = true;
2738
2739
2742 private boolean _useDefaultTemplate = true;
2743
2744
2747 private boolean _showPortletAccessDenied =
2748 PropsValues.LAYOUT_SHOW_PORTLET_ACCESS_DENIED;
2749
2750
2753 private boolean _showPortletInactive =
2754 PropsValues.LAYOUT_SHOW_PORTLET_INACTIVE;
2755
2756
2759 private boolean _actionURLRedirect;
2760
2761
2765 private boolean _restoreCurrentView = true;
2766
2767
2771 private boolean _maximizeEdit;
2772
2773
2777 private boolean _maximizeHelp;
2778
2779
2783 private boolean _popUpPrint = true;
2784
2785
2788 private boolean _layoutCacheable;
2789
2790
2793 private boolean _instanceable;
2794
2795
2798 private String _userPrincipalStrategy =
2799 PortletConstants.USER_PRINCIPAL_STRATEGY_USER_ID;
2800
2801
2805 private boolean _privateRequestAttributes = true;
2806
2807
2810 private boolean _privateSessionAttributes = true;
2811
2812
2815 private int _renderWeight = 1;
2816
2817
2820 private boolean _ajaxable = true;
2821
2822
2826 private List<String> _headerPortalCss;
2827
2828
2832 private List<String> _headerPortletCss;
2833
2834
2838 private List<String> _headerPortalJavaScript;
2839
2840
2844 private List<String> _headerPortletJavaScript;
2845
2846
2850 private List<String> _footerPortalCss;
2851
2852
2856 private List<String> _footerPortletCss;
2857
2858
2862 private List<String> _footerPortalJavaScript;
2863
2864
2868 private List<String> _footerPortletJavaScript;
2869
2870
2874 private String _cssClassWrapper = StringPool.BLANK;
2875
2876
2879 private String _facebookIntegration =
2880 PortletConstants.FACEBOOK_INTEGRATION_IFRAME;
2881
2882
2885 private boolean _addDefaultResource;
2886
2887
2890 private String[] _rolesArray;
2891
2892
2895 private Set<String> _unlinkedRoles;
2896
2897
2900 private Map<String, String> _roleMappers;
2901
2902
2906 private boolean _system;
2907
2908
2911 private boolean _include = true;
2912
2913
2916 private Map<String, String> _initParams;
2917
2918
2921 private Integer _expCache;
2922
2923
2926 private Map<String, Set<String>> _portletModes;
2927
2928
2931 private Set<String> _supportedLocales;
2932
2933
2936 private String _resourceBundle;
2937
2938
2941 private PortletInfo _portletInfo;
2942
2943
2946 private Map<String, PortletFilter> _portletFilters;
2947
2948
2951 private Set<QName> _processingEvents = new HashSet<QName>();
2952
2953
2956 private Map<String, QName> _processingEventsByQName =
2957 new HashMap<String, QName>();
2958
2959
2962 private Set<QName> _publishingEvents = new HashSet<QName>();
2963
2964
2967 private Set<PublicRenderParameter> _publicRenderParameters =
2968 new HashSet<PublicRenderParameter>();
2969
2970
2974 private Map<String, PublicRenderParameter>
2975 _publicRenderParametersByIdentifier =
2976 new HashMap<String, PublicRenderParameter>();
2977
2978
2982 private Map<String, PublicRenderParameter>
2983 _publicRenderParametersByQName =
2984 new HashMap<String, PublicRenderParameter>();
2985
2986
2989 private PortletApp _portletApp;
2990
2991
2994 private Map<String, Portlet> _clonedInstances;
2995
2996
2999 private boolean _staticPortlet;
3000
3001
3005 private boolean _staticPortletStart;
3006
3007}