001
014
015 package com.liferay.portal.model.impl;
016
017 import com.liferay.portal.kernel.atom.AtomCollectionAdapter;
018 import com.liferay.portal.kernel.lar.PortletDataHandler;
019 import com.liferay.portal.kernel.lar.StagedModelDataHandler;
020 import com.liferay.portal.kernel.log.Log;
021 import com.liferay.portal.kernel.log.LogFactoryUtil;
022 import com.liferay.portal.kernel.notifications.UserNotificationHandler;
023 import com.liferay.portal.kernel.plugin.PluginPackage;
024 import com.liferay.portal.kernel.poller.PollerProcessor;
025 import com.liferay.portal.kernel.pop.MessageListener;
026 import com.liferay.portal.kernel.portlet.ConfigurationAction;
027 import com.liferay.portal.kernel.portlet.FriendlyURLMapper;
028 import com.liferay.portal.kernel.portlet.FriendlyURLMapperTracker;
029 import com.liferay.portal.kernel.portlet.PortletBag;
030 import com.liferay.portal.kernel.portlet.PortletBagPool;
031 import com.liferay.portal.kernel.portlet.PortletLayoutListener;
032 import com.liferay.portal.kernel.scheduler.SchedulerEntry;
033 import com.liferay.portal.kernel.search.Indexer;
034 import com.liferay.portal.kernel.search.OpenSearch;
035 import com.liferay.portal.kernel.servlet.ServletContextUtil;
036 import com.liferay.portal.kernel.servlet.URLEncoder;
037 import com.liferay.portal.kernel.template.TemplateHandler;
038 import com.liferay.portal.kernel.trash.TrashHandler;
039 import com.liferay.portal.kernel.util.ArrayUtil;
040 import com.liferay.portal.kernel.util.ContentTypes;
041 import com.liferay.portal.kernel.util.StringPool;
042 import com.liferay.portal.kernel.util.StringUtil;
043 import com.liferay.portal.kernel.util.Validator;
044 import com.liferay.portal.kernel.webdav.WebDAVStorage;
045 import com.liferay.portal.kernel.workflow.WorkflowHandler;
046 import com.liferay.portal.kernel.xml.QName;
047 import com.liferay.portal.kernel.xmlrpc.Method;
048 import com.liferay.portal.model.Plugin;
049 import com.liferay.portal.model.PluginSetting;
050 import com.liferay.portal.model.Portlet;
051 import com.liferay.portal.model.PortletApp;
052 import com.liferay.portal.model.PortletConstants;
053 import com.liferay.portal.model.PortletFilter;
054 import com.liferay.portal.model.PortletInfo;
055 import com.liferay.portal.model.PublicRenderParameter;
056 import com.liferay.portal.model.User;
057 import com.liferay.portal.security.permission.ActionKeys;
058 import com.liferay.portal.security.permission.PermissionChecker;
059 import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
060 import com.liferay.portal.security.permission.PermissionPropagator;
061 import com.liferay.portal.security.permission.PermissionThreadLocal;
062 import com.liferay.portal.service.UserLocalServiceUtil;
063 import com.liferay.portal.service.permission.PortletPermissionUtil;
064 import com.liferay.portal.util.PortalUtil;
065 import com.liferay.portal.util.PropsValues;
066 import com.liferay.portlet.ControlPanelEntry;
067 import com.liferay.portlet.DefaultControlPanelEntryFactory;
068 import com.liferay.portlet.PortletQNameUtil;
069 import com.liferay.portlet.asset.model.AssetRendererFactory;
070 import com.liferay.portlet.expando.model.CustomAttributesDisplay;
071 import com.liferay.portlet.social.model.SocialActivityInterpreter;
072 import com.liferay.portlet.social.model.SocialRequestInterpreter;
073
074 import java.util.ArrayList;
075 import java.util.Arrays;
076 import java.util.HashMap;
077 import java.util.HashSet;
078 import java.util.LinkedHashMap;
079 import java.util.LinkedHashSet;
080 import java.util.List;
081 import java.util.Map;
082 import java.util.Set;
083 import java.util.TreeSet;
084 import java.util.concurrent.ConcurrentHashMap;
085
086 import javax.portlet.PortletMode;
087 import javax.portlet.WindowState;
088
089 import javax.servlet.ServletContext;
090
091
094 public class PortletImpl extends PortletBaseImpl {
095
096
099 public PortletImpl() {
100 this(0, null);
101 }
102
103
106 public PortletImpl(long companyId, String portletId) {
107 setCompanyId(companyId);
108 setPortletId(portletId);
109
110 setActive(true);
111 setStrutsPath(portletId);
112
113 _assetRendererFactoryClasses = new ArrayList<String>();
114 _atomCollectionAdapterClasses = new ArrayList<String>();
115 _autopropagatedParameters = new LinkedHashSet<String>();
116 _customAttributesDisplayClasses = new ArrayList<String>();
117 _footerPortalCss = new ArrayList<String>();
118 _footerPortalJavaScript = new ArrayList<String>();
119 _footerPortletCss = new ArrayList<String>();
120 _footerPortletJavaScript = new ArrayList<String>();
121 _headerPortalCss = new ArrayList<String>();
122 _headerPortalJavaScript = new ArrayList<String>();
123 _headerPortletCss = new ArrayList<String>();
124 _headerPortletJavaScript = new ArrayList<String>();
125 _indexerClasses = new ArrayList<String>();
126 _initParams = new HashMap<String, String>();
127 _portletFilters = new LinkedHashMap<String, PortletFilter>();
128 _portletModes = new HashMap<String, Set<String>>();
129 _roleMappers = new LinkedHashMap<String, String>();
130 _rootPortlet = this;
131 _schedulerEntries = new ArrayList<SchedulerEntry>();
132 _socialActivityInterpreterClasses = new ArrayList<String>();
133 _stagedModelDataHandlerClasses = new ArrayList<String>();
134 _supportedLocales = new HashSet<String>();
135 _trashHandlerClasses = new ArrayList<String>();
136 _unlinkedRoles = new HashSet<String>();
137 _userNotificationHandlerClasses = new ArrayList<String>();
138 _windowStates = new HashMap<String, Set<String>>();
139 _workflowHandlerClasses = new ArrayList<String>();
140 }
141
142
145 public PortletImpl(
146 String portletId, Portlet rootPortlet, PluginPackage pluginPackage,
147 PluginSetting pluginSetting, long companyId, String icon,
148 String virtualPath, String strutsPath, String parentStrutsPath,
149 String portletName, String displayName, String portletClass,
150 String configurationActionClass, List<String> indexerClasses,
151 String openSearchClass, List<SchedulerEntry> schedulerEntries,
152 String portletURLClass, String friendlyURLMapperClass,
153 String friendlyURLMapping, String friendlyURLRoutes,
154 String urlEncoderClass, String portletDataHandlerClass,
155 List<String> stagedModelDataHandlerClasses, String templateHandlerClass,
156 String portletLayoutListenerClass, String pollerProcessorClass,
157 String popMessageListenerClass,
158 List<String> socialActivityInterpreterClasses,
159 String socialRequestInterpreterClass,
160 boolean socialInteractionsConfiguration,
161 String userNotificationDefinitions,
162 List<String> userNotificationHandlerClasses, String webDAVStorageToken,
163 String webDAVStorageClass, String xmlRpcMethodClass,
164 String controlPanelEntryCategory, double controlPanelEntryWeight,
165 String controlPanelClass, List<String> assetRendererFactoryClasses,
166 List<String> atomCollectionAdapterClasses,
167 List<String> customAttributesDisplayClasses, String ddmDisplayClass,
168 String permissionPropagatorClass, List<String> trashHandlerClasses,
169 List<String> workflowHandlerClasses, String defaultPreferences,
170 String preferencesValidator, boolean preferencesCompanyWide,
171 boolean preferencesUniquePerLayout, boolean preferencesOwnedByGroup,
172 boolean useDefaultTemplate, boolean showPortletAccessDenied,
173 boolean showPortletInactive, boolean actionURLRedirect,
174 boolean restoreCurrentView, boolean maximizeEdit, boolean maximizeHelp,
175 boolean popUpPrint, boolean layoutCacheable, boolean instanceable,
176 boolean remoteable, boolean scopeable, boolean singlePageApplication,
177 String userPrincipalStrategy, boolean privateRequestAttributes,
178 boolean privateSessionAttributes, Set<String> autopropagatedParameters,
179 boolean requiresNamespacedParameters, int actionTimeout,
180 int renderTimeout, int renderWeight, boolean ajaxable,
181 List<String> headerPortalCss, List<String> headerPortletCss,
182 List<String> headerPortalJavaScript,
183 List<String> headerPortletJavaScript, List<String> footerPortalCss,
184 List<String> footerPortletCss, List<String> footerPortalJavaScript,
185 List<String> footerPortletJavaScript, String cssClassWrapper,
186 String facebookIntegration, boolean addDefaultResource, String roles,
187 Set<String> unlinkedRoles, Map<String, String> roleMappers,
188 boolean system, boolean active, boolean include,
189 Map<String, String> initParams, Integer expCache,
190 Map<String, Set<String>> portletModes,
191 Map<String, Set<String>> windowStates, Set<String> supportedLocales,
192 String resourceBundle, PortletInfo portletInfo,
193 Map<String, PortletFilter> portletFilters, Set<QName> processingEvents,
194 Set<QName> publishingEvents,
195 Set<PublicRenderParameter> publicRenderParameters,
196 PortletApp portletApp) {
197
198 setPortletId(portletId);
199 setCompanyId(companyId);
200 setRoles(roles);
201 setActive(active);
202 setProcessingEvents(processingEvents);
203 setPublishingEvents(publishingEvents);
204 setPublicRenderParameters(publicRenderParameters);
205
206 _rootPortlet = rootPortlet;
207 _pluginPackage = pluginPackage;
208 _defaultPluginSetting = pluginSetting;
209 _icon = icon;
210 _virtualPath = virtualPath;
211 _strutsPath = strutsPath;
212 _parentStrutsPath = parentStrutsPath;
213 _portletName = portletName;
214 _displayName = displayName;
215 _portletClass = portletClass;
216 _configurationActionClass = configurationActionClass;
217 _indexerClasses = indexerClasses;
218 _openSearchClass = openSearchClass;
219 _schedulerEntries = schedulerEntries;
220 _portletURLClass = portletURLClass;
221 _friendlyURLMapperClass = friendlyURLMapperClass;
222 _friendlyURLMapping = friendlyURLMapping;
223 _friendlyURLRoutes = friendlyURLRoutes;
224 _urlEncoderClass = urlEncoderClass;
225 _portletDataHandlerClass = portletDataHandlerClass;
226 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
227 _templateHandlerClass = templateHandlerClass;
228 _portletLayoutListenerClass = portletLayoutListenerClass;
229 _pollerProcessorClass = pollerProcessorClass;
230 _popMessageListenerClass = popMessageListenerClass;
231 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
232 _socialRequestInterpreterClass = socialRequestInterpreterClass;
233 _socialInteractionsConfiguration = socialInteractionsConfiguration;
234 _userNotificationDefinitions = userNotificationDefinitions;
235 _userNotificationHandlerClasses = userNotificationHandlerClasses;
236 _webDAVStorageToken = webDAVStorageToken;
237 _webDAVStorageClass = webDAVStorageClass;
238 _xmlRpcMethodClass = xmlRpcMethodClass;
239 _controlPanelEntryCategory = controlPanelEntryCategory;
240 _controlPanelEntryWeight = controlPanelEntryWeight;
241 _controlPanelEntryClass = controlPanelClass;
242 _assetRendererFactoryClasses = assetRendererFactoryClasses;
243 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
244 _customAttributesDisplayClasses = customAttributesDisplayClasses;
245 _ddmDisplayClass = ddmDisplayClass;
246 _permissionPropagatorClass = permissionPropagatorClass;
247 _trashHandlerClasses = trashHandlerClasses;
248 _workflowHandlerClasses = workflowHandlerClasses;
249 _defaultPreferences = defaultPreferences;
250 _preferencesValidator = preferencesValidator;
251 _preferencesCompanyWide = preferencesCompanyWide;
252 _preferencesUniquePerLayout = preferencesUniquePerLayout;
253 _preferencesOwnedByGroup = preferencesOwnedByGroup;
254 _useDefaultTemplate = useDefaultTemplate;
255 _showPortletAccessDenied = showPortletAccessDenied;
256 _showPortletInactive = showPortletInactive;
257 _actionURLRedirect = actionURLRedirect;
258 _restoreCurrentView = restoreCurrentView;
259 _maximizeEdit = maximizeEdit;
260 _maximizeHelp = maximizeHelp;
261 _popUpPrint = popUpPrint;
262 _layoutCacheable = layoutCacheable;
263 _instanceable = instanceable;
264 _remoteable = remoteable;
265 _scopeable = scopeable;
266 _singlePageApplication = singlePageApplication;
267 _userPrincipalStrategy = userPrincipalStrategy;
268 _privateRequestAttributes = privateRequestAttributes;
269 _privateSessionAttributes = privateSessionAttributes;
270 _autopropagatedParameters = autopropagatedParameters;
271 _requiresNamespacedParameters = requiresNamespacedParameters;
272 _actionTimeout = actionTimeout;
273 _renderTimeout = renderTimeout;
274 _renderWeight = renderWeight;
275 _ajaxable = ajaxable;
276 _headerPortalCss = headerPortalCss;
277 _headerPortletCss = headerPortletCss;
278 _headerPortalJavaScript = headerPortalJavaScript;
279 _headerPortletJavaScript = headerPortletJavaScript;
280 _footerPortalCss = footerPortalCss;
281 _footerPortletCss = footerPortletCss;
282 _footerPortalJavaScript = footerPortalJavaScript;
283 _footerPortletJavaScript = footerPortletJavaScript;
284 _cssClassWrapper = cssClassWrapper;
285 _facebookIntegration = facebookIntegration;
286 _addDefaultResource = addDefaultResource;
287 _unlinkedRoles = unlinkedRoles;
288 _roleMappers = roleMappers;
289 _system = system;
290 _include = include;
291 _initParams = initParams;
292 _expCache = expCache;
293 _portletModes = portletModes;
294 _windowStates = windowStates;
295 _supportedLocales = supportedLocales;
296 _resourceBundle = resourceBundle;
297 _portletInfo = portletInfo;
298 _portletFilters = portletFilters;
299 _portletApp = portletApp;
300 }
301
302
305 @Override
306 public void addProcessingEvent(QName processingEvent) {
307 _processingEvents.add(processingEvent);
308 _processingEventsByQName.put(
309 PortletQNameUtil.getKey(processingEvent), processingEvent);
310 }
311
312
317 @Override
318 public void addPublicRenderParameter(
319 PublicRenderParameter publicRenderParameter) {
320
321 _publicRenderParameters.add(publicRenderParameter);
322
323 String identifier = publicRenderParameter.getIdentifier();
324
325 _publicRenderParametersByIdentifier.put(
326 identifier, publicRenderParameter);
327
328 QName qName = publicRenderParameter.getQName();
329
330 _publicRenderParametersByQName.put(
331 PortletQNameUtil.getKey(qName), publicRenderParameter);
332
333 String publicRenderParameterName =
334 PortletQNameUtil.getPublicRenderParameterName(qName);
335
336 PortletQNameUtil.setPublicRenderParameterIdentifier(
337 publicRenderParameterName, identifier);
338 }
339
340
343 @Override
344 public void addPublishingEvent(QName publishingEvent) {
345 _publishingEvents.add(publishingEvent);
346 }
347
348
351 @Override
352 public void addSchedulerEntry(SchedulerEntry schedulerEntry) {
353 _schedulerEntries.add(schedulerEntry);
354 }
355
356
361 @Override
362 public Object clone() {
363 Portlet portlet = new PortletImpl(
364 getPortletId(), getRootPortlet(), getPluginPackage(),
365 getDefaultPluginSetting(), getCompanyId(), getIcon(),
366 getVirtualPath(), getStrutsPath(), getParentStrutsPath(),
367 getPortletName(), getDisplayName(), getPortletClass(),
368 getConfigurationActionClass(), getIndexerClasses(),
369 getOpenSearchClass(), getSchedulerEntries(), getPortletURLClass(),
370 getFriendlyURLMapperClass(), getFriendlyURLMapping(),
371 getFriendlyURLRoutes(), getURLEncoderClass(),
372 getPortletDataHandlerClass(), getStagedModelDataHandlerClasses(),
373 getTemplateHandlerClass(), getPortletLayoutListenerClass(),
374 getPollerProcessorClass(), getPopMessageListenerClass(),
375 getSocialActivityInterpreterClasses(),
376 getSocialRequestInterpreterClass(),
377 getSocialInteractionsConfiguration(),
378 getUserNotificationDefinitions(),
379 getUserNotificationHandlerClasses(), getWebDAVStorageToken(),
380 getWebDAVStorageClass(), getXmlRpcMethodClass(),
381 getControlPanelEntryCategory(), getControlPanelEntryWeight(),
382 getControlPanelEntryClass(), getAssetRendererFactoryClasses(),
383 getAtomCollectionAdapterClasses(),
384 getCustomAttributesDisplayClasses(), getDDMDisplayClass(),
385 getPermissionPropagatorClass(), getTrashHandlerClasses(),
386 getWorkflowHandlerClasses(), getDefaultPreferences(),
387 getPreferencesValidator(), isPreferencesCompanyWide(),
388 isPreferencesUniquePerLayout(), isPreferencesOwnedByGroup(),
389 isUseDefaultTemplate(), isShowPortletAccessDenied(),
390 isShowPortletInactive(), isActionURLRedirect(),
391 isRestoreCurrentView(), isMaximizeEdit(), isMaximizeHelp(),
392 isPopUpPrint(), isLayoutCacheable(), isInstanceable(),
393 isRemoteable(), isScopeable(), isSinglePageApplication(),
394 getUserPrincipalStrategy(), isPrivateRequestAttributes(),
395 isPrivateSessionAttributes(), getAutopropagatedParameters(),
396 isRequiresNamespacedParameters(), getActionTimeout(),
397 getRenderTimeout(), getRenderWeight(), isAjaxable(),
398 getHeaderPortalCss(), getHeaderPortletCss(),
399 getHeaderPortalJavaScript(), getHeaderPortletJavaScript(),
400 getFooterPortalCss(), getFooterPortletCss(),
401 getFooterPortalJavaScript(), getFooterPortletJavaScript(),
402 getCssClassWrapper(), getFacebookIntegration(),
403 isAddDefaultResource(), getRoles(), getUnlinkedRoles(),
404 getRoleMappers(), isSystem(), isActive(), isInclude(),
405 getInitParams(), getExpCache(), getPortletModes(),
406 getWindowStates(), getSupportedLocales(), getResourceBundle(),
407 getPortletInfo(), getPortletFilters(), getProcessingEvents(),
408 getPublishingEvents(), getPublicRenderParameters(),
409 getPortletApp());
410
411 portlet.setId(getId());
412 portlet.setUndeployedPortlet(isUndeployedPortlet());
413
414 return portlet;
415 }
416
417
426 @Override
427 public int compareTo(Portlet portlet) {
428 String portletId = getPortletId();
429
430 return portletId.compareTo(portlet.getPortletId());
431 }
432
433
439 @Override
440 public boolean equals(Object obj) {
441 if (this == obj) {
442 return true;
443 }
444
445 if (!(obj instanceof Portlet)) {
446 return false;
447 }
448
449 Portlet portlet = (Portlet)obj;
450
451 String portletId = getPortletId();
452
453 return portletId.equals(portlet.getPortletId());
454 }
455
456
461 @Override
462 public int getActionTimeout() {
463 return _actionTimeout;
464 }
465
466
473 @Override
474 public boolean getActionURLRedirect() {
475 return _actionURLRedirect;
476 }
477
478
485 @Override
486 public boolean getAddDefaultResource() {
487 return _addDefaultResource;
488 }
489
490
495 @Override
496 public boolean getAjaxable() {
497 return _ajaxable;
498 }
499
500
505 @Override
506 public Set<String> getAllPortletModes() {
507 Set<String> allPortletModes = new TreeSet<String>();
508
509 for (Map.Entry<String, Set<String>> entry : _portletModes.entrySet()) {
510 Set<String> mimeTypePortletModes = entry.getValue();
511
512 for (String portletMode : mimeTypePortletModes) {
513 allPortletModes.add(portletMode);
514 }
515 }
516
517 return allPortletModes;
518 }
519
520
525 @Override
526 public Set<String> getAllWindowStates() {
527 Set<String> allWindowStates = new TreeSet<String>();
528
529 for (Map.Entry<String, Set<String>> entry : _windowStates.entrySet()) {
530 Set<String> mimeTypeWindowStates = entry.getValue();
531
532 for (String windowState : mimeTypeWindowStates) {
533 allWindowStates.add(windowState);
534 }
535 }
536
537 return allWindowStates;
538 }
539
540
547 @Override
548 public List<String> getAssetRendererFactoryClasses() {
549 return _assetRendererFactoryClasses;
550 }
551
552
557 @Override
558 public List<AssetRendererFactory> getAssetRendererFactoryInstances() {
559 if (_assetRendererFactoryClasses.isEmpty()) {
560 return null;
561 }
562
563 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
564
565 return portletBag.getAssetRendererFactoryInstances();
566 }
567
568
575 @Override
576 public List<String> getAtomCollectionAdapterClasses() {
577 return _atomCollectionAdapterClasses;
578 }
579
580
585 @Override
586 public List<AtomCollectionAdapter<?>> getAtomCollectionAdapterInstances() {
587 if (_atomCollectionAdapterClasses.isEmpty()) {
588 return null;
589 }
590
591 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
592
593 return portletBag.getAtomCollectionAdapterInstances();
594 }
595
596
603 @Override
604 public Set<String> getAutopropagatedParameters() {
605 return _autopropagatedParameters;
606 }
607
608
614 @Override
615 public Portlet getClonedInstance(String portletId) {
616 Portlet portlet = (Portlet)clone();
617
618 portlet.setPortletId(portletId);
619
620 return portlet;
621 }
622
623
628 @Override
629 public String getConfigurationActionClass() {
630 return _configurationActionClass;
631 }
632
633
638 @Override
639 public ConfigurationAction getConfigurationActionInstance() {
640 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
641
642 List<ConfigurationAction> configurationActionInstances =
643 portletBag.getConfigurationActionInstances();
644
645 if (configurationActionInstances.isEmpty()) {
646 return null;
647 }
648
649 return configurationActionInstances.get(0);
650 }
651
652
657 @Override
658 public String getContextName() {
659 if (!_portletApp.isWARFile()) {
660 return PortalUtil.getServletContextName();
661 }
662
663 return _portletApp.getServletContextName();
664 }
665
666
671 @Override
672 public String getContextPath() {
673 return _portletApp.getContextPath();
674 }
675
676
683 @Override
684 public String getControlPanelEntryCategory() {
685 return _controlPanelEntryCategory;
686 }
687
688
695 @Override
696 public String getControlPanelEntryClass() {
697 return _controlPanelEntryClass;
698 }
699
700
707 @Override
708 public ControlPanelEntry getControlPanelEntryInstance() {
709 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
710
711 List<ControlPanelEntry> controlPanelEntryInstances =
712 portletBag.getControlPanelEntryInstances();
713
714 if (controlPanelEntryInstances.isEmpty()) {
715 return DefaultControlPanelEntryFactory.getInstance();
716 }
717
718 return controlPanelEntryInstances.get(0);
719 }
720
721
728 @Override
729 public double getControlPanelEntryWeight() {
730 return _controlPanelEntryWeight;
731 }
732
733
740 @Override
741 public String getCssClassWrapper() {
742 return _cssClassWrapper;
743 }
744
745
752 @Override
753 public List<String> getCustomAttributesDisplayClasses() {
754 return _customAttributesDisplayClasses;
755 }
756
757
762 @Override
763 public List<CustomAttributesDisplay> getCustomAttributesDisplayInstances() {
764 if (_customAttributesDisplayClasses.isEmpty()) {
765 return null;
766 }
767
768 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
769
770 return portletBag.getCustomAttributesDisplayInstances();
771 }
772
773
779 @Override
780 public String getDDMDisplayClass() {
781 return _ddmDisplayClass;
782 }
783
784
789 @Override
790 public PluginSetting getDefaultPluginSetting() {
791 return _defaultPluginSetting;
792 }
793
794
799 @Override
800 public String getDefaultPreferences() {
801 if (Validator.isNull(_defaultPreferences)) {
802 return PortletConstants.DEFAULT_PREFERENCES;
803 }
804 else {
805 return _defaultPreferences;
806 }
807 }
808
809
814 @Override
815 public String getDisplayName() {
816 return _displayName;
817 }
818
819
824 @Override
825 public Integer getExpCache() {
826 return _expCache;
827 }
828
829
834 @Override
835 public String getFacebookIntegration() {
836 return _facebookIntegration;
837 }
838
839
846 @Override
847 public List<String> getFooterPortalCss() {
848 return _footerPortalCss;
849 }
850
851
858 @Override
859 public List<String> getFooterPortalJavaScript() {
860 return _footerPortalJavaScript;
861 }
862
863
870 @Override
871 public List<String> getFooterPortletCss() {
872 return _footerPortletCss;
873 }
874
875
882 @Override
883 public List<String> getFooterPortletJavaScript() {
884 return _footerPortletJavaScript;
885 }
886
887
892 @Override
893 public String getFriendlyURLMapperClass() {
894 return _friendlyURLMapperClass;
895 }
896
897
902 @Override
903 public FriendlyURLMapper getFriendlyURLMapperInstance() {
904 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
905
906 FriendlyURLMapperTracker friendlyURLMapperTracker =
907 portletBag.getFriendlyURLMapperTracker();
908
909 return friendlyURLMapperTracker.getFriendlyURLMapper();
910 }
911
912
917 @Override
918 public String getFriendlyURLMapping() {
919 return _friendlyURLMapping;
920 }
921
922
929 @Override
930 public String getFriendlyURLRoutes() {
931 return _friendlyURLRoutes;
932 }
933
934
941 @Override
942 public List<String> getHeaderPortalCss() {
943 return _headerPortalCss;
944 }
945
946
953 @Override
954 public List<String> getHeaderPortalJavaScript() {
955 return _headerPortalJavaScript;
956 }
957
958
965 @Override
966 public List<String> getHeaderPortletCss() {
967 return _headerPortletCss;
968 }
969
970
977 @Override
978 public List<String> getHeaderPortletJavaScript() {
979 return _headerPortletJavaScript;
980 }
981
982
987 @Override
988 public String getIcon() {
989 return _icon;
990 }
991
992
999 @Override
1000 public boolean getInclude() {
1001 return _include;
1002 }
1003
1004
1011 @Override
1012 public List<String> getIndexerClasses() {
1013 return _indexerClasses;
1014 }
1015
1016
1021 @Override
1022 public List<Indexer> getIndexerInstances() {
1023 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1024
1025 return portletBag.getIndexerInstances();
1026 }
1027
1028
1033 @Override
1034 public Map<String, String> getInitParams() {
1035 return _initParams;
1036 }
1037
1038
1045 @Override
1046 public boolean getInstanceable() {
1047 return _instanceable;
1048 }
1049
1050
1055 @Override
1056 public String getInstanceId() {
1057 return PortletConstants.getInstanceId(getPortletId());
1058 }
1059
1060
1066 @Override
1067 public boolean getLayoutCacheable() {
1068 return _layoutCacheable;
1069 }
1070
1071
1078 @Override
1079 public boolean getMaximizeEdit() {
1080 return _maximizeEdit;
1081 }
1082
1083
1090 @Override
1091 public boolean getMaximizeHelp() {
1092 return _maximizeHelp;
1093 }
1094
1095
1100 @Override
1101 public String getOpenSearchClass() {
1102 return _openSearchClass;
1103 }
1104
1105
1110 @Override
1111 public OpenSearch getOpenSearchInstance() {
1112 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1113
1114 List<OpenSearch> openSearchInstances =
1115 portletBag.getOpenSearchInstances();
1116
1117 if (openSearchInstances.isEmpty()) {
1118 return null;
1119 }
1120
1121 return openSearchInstances.get(0);
1122 }
1123
1124
1129 @Override
1130 public String getParentStrutsPath() {
1131 return _parentStrutsPath;
1132 }
1133
1134
1139 @Override
1140 public String getPermissionPropagatorClass() {
1141 return _permissionPropagatorClass;
1142 }
1143
1144
1149 @Override
1150 public PermissionPropagator getPermissionPropagatorInstance() {
1151 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1152
1153 List<PermissionPropagator> permissionPropagatorInstances =
1154 portletBag.getPermissionPropagatorInstances();
1155
1156 if (permissionPropagatorInstances.isEmpty()) {
1157 return null;
1158 }
1159
1160 return permissionPropagatorInstances.get(0);
1161 }
1162
1163
1168 @Override
1169 public String getPluginId() {
1170 return getRootPortletId();
1171 }
1172
1173
1178 @Override
1179 public PluginPackage getPluginPackage() {
1180 return _pluginPackage;
1181 }
1182
1183
1188 @Override
1189 public String getPluginType() {
1190 return Plugin.TYPE_PORTLET;
1191 }
1192
1193
1198 @Override
1199 public String getPollerProcessorClass() {
1200 return _pollerProcessorClass;
1201 }
1202
1203
1208 @Override
1209 public PollerProcessor getPollerProcessorInstance() {
1210 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1211
1212 List<PollerProcessor> pollerProcessorInstances =
1213 portletBag.getPollerProcessorInstances();
1214
1215 if (pollerProcessorInstances.isEmpty()) {
1216 return null;
1217 }
1218
1219 return pollerProcessorInstances.get(0);
1220 }
1221
1222
1227 @Override
1228 public String getPopMessageListenerClass() {
1229 return _popMessageListenerClass;
1230 }
1231
1232
1237 @Override
1238 public MessageListener getPopMessageListenerInstance() {
1239 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1240
1241 List<MessageListener> popMessageListenerInstances =
1242 portletBag.getPopMessageListenerInstances();
1243
1244 if (popMessageListenerInstances.isEmpty()) {
1245 return null;
1246 }
1247
1248 return popMessageListenerInstances.get(0);
1249 }
1250
1251
1258 @Override
1259 public boolean getPopUpPrint() {
1260 return _popUpPrint;
1261 }
1262
1263
1268 @Override
1269 public PortletApp getPortletApp() {
1270 return _portletApp;
1271 }
1272
1273
1278 @Override
1279 public String getPortletClass() {
1280 return _portletClass;
1281 }
1282
1283
1288 @Override
1289 public String getPortletDataHandlerClass() {
1290 return _portletDataHandlerClass;
1291 }
1292
1293
1298 @Override
1299 public PortletDataHandler getPortletDataHandlerInstance() {
1300 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1301
1302 List<PortletDataHandler> portletDataHandlerInstances =
1303 portletBag.getPortletDataHandlerInstances();
1304
1305 if (portletDataHandlerInstances.isEmpty()) {
1306 return null;
1307 }
1308
1309 return portletDataHandlerInstances.get(0);
1310 }
1311
1312
1317 @Override
1318 public Map<String, PortletFilter> getPortletFilters() {
1319 return _portletFilters;
1320 }
1321
1322
1327 @Override
1328 public PortletInfo getPortletInfo() {
1329 return _portletInfo;
1330 }
1331
1332
1337 @Override
1338 public String getPortletLayoutListenerClass() {
1339 return _portletLayoutListenerClass;
1340 }
1341
1342
1347 @Override
1348 public PortletLayoutListener getPortletLayoutListenerInstance() {
1349 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1350
1351 List<PortletLayoutListener> portletLayoutListenerInstances =
1352 portletBag.getPortletLayoutListenerInstances();
1353
1354 if (portletLayoutListenerInstances.isEmpty()) {
1355 return null;
1356 }
1357
1358 return portletLayoutListenerInstances.get(0);
1359 }
1360
1361
1366 @Override
1367 public Map<String, Set<String>> getPortletModes() {
1368 return _portletModes;
1369 }
1370
1371
1376 @Override
1377 public String getPortletName() {
1378 return _portletName;
1379 }
1380
1381
1386 @Override
1387 public String getPortletURLClass() {
1388 return _portletURLClass;
1389 }
1390
1391
1398 @Override
1399 public boolean getPreferencesCompanyWide() {
1400 return _preferencesCompanyWide;
1401 }
1402
1403
1412 @Override
1413 public boolean getPreferencesOwnedByGroup() {
1414 return _preferencesOwnedByGroup;
1415 }
1416
1417
1422 @Override
1423 public boolean getPreferencesUniquePerLayout() {
1424 return _preferencesUniquePerLayout;
1425 }
1426
1427
1432 @Override
1433 public String getPreferencesValidator() {
1434 return _preferencesValidator;
1435 }
1436
1437
1444 @Override
1445 public boolean getPrivateRequestAttributes() {
1446 return _privateRequestAttributes;
1447 }
1448
1449
1456 @Override
1457 public boolean getPrivateSessionAttributes() {
1458 return _privateSessionAttributes;
1459 }
1460
1461
1470 @Override
1471 public QName getProcessingEvent(String uri, String localPart) {
1472 return _processingEventsByQName.get(
1473 PortletQNameUtil.getKey(uri, localPart));
1474 }
1475
1476
1481 @Override
1482 public Set<QName> getProcessingEvents() {
1483 return _processingEvents;
1484 }
1485
1486
1492 @Override
1493 public PublicRenderParameter getPublicRenderParameter(String identifier) {
1494 return _publicRenderParametersByIdentifier.get(identifier);
1495 }
1496
1497
1506 @Override
1507 public PublicRenderParameter getPublicRenderParameter(
1508 String uri, String localPart) {
1509
1510 return _publicRenderParametersByQName.get(
1511 PortletQNameUtil.getKey(uri, localPart));
1512 }
1513
1514
1519 @Override
1520 public Set<PublicRenderParameter> getPublicRenderParameters() {
1521 return _publicRenderParameters;
1522 }
1523
1524
1529 @Override
1530 public Set<QName> getPublishingEvents() {
1531 return _publishingEvents;
1532 }
1533
1534
1539 @Override
1540 public boolean getReady() {
1541 return isReady();
1542 }
1543
1544
1549 @Override
1550 public boolean getRemoteable() {
1551 return _remoteable;
1552 }
1553
1554
1559 @Override
1560 public int getRenderTimeout() {
1561 return _renderTimeout;
1562 }
1563
1564
1569 @Override
1570 public int getRenderWeight() {
1571 return _renderWeight;
1572 }
1573
1574
1579 @Override
1580 public String getResourceBundle() {
1581 return _resourceBundle;
1582 }
1583
1584
1591 @Override
1592 public boolean getRestoreCurrentView() {
1593 return _restoreCurrentView;
1594 }
1595
1596
1601 @Override
1602 public Map<String, String> getRoleMappers() {
1603 return _roleMappers;
1604 }
1605
1606
1611 @Override
1612 public String[] getRolesArray() {
1613 return _rolesArray;
1614 }
1615
1616
1621 @Override
1622 public Portlet getRootPortlet() {
1623 return _rootPortlet;
1624 }
1625
1626
1631 @Override
1632 public String getRootPortletId() {
1633 return PortletConstants.getRootPortletId(getPortletId());
1634 }
1635
1636
1641 @Override
1642 public List<SchedulerEntry> getSchedulerEntries() {
1643 return _schedulerEntries;
1644 }
1645
1646
1651 @Override
1652 public boolean getScopeable() {
1653 return _scopeable;
1654 }
1655
1656
1663 @Override
1664 public boolean getShowPortletAccessDenied() {
1665 return _showPortletAccessDenied;
1666 }
1667
1668
1674 @Override
1675 public boolean getShowPortletInactive() {
1676 return _showPortletInactive;
1677 }
1678
1679
1684 @Override
1685 public boolean getSinglePageApplication() {
1686 return _singlePageApplication;
1687 }
1688
1689
1696 @Override
1697 public List<String> getSocialActivityInterpreterClasses() {
1698 return _socialActivityInterpreterClasses;
1699 }
1700
1701
1706 @Override
1707 public List<SocialActivityInterpreter>
1708 getSocialActivityInterpreterInstances() {
1709
1710 if (_socialActivityInterpreterClasses.isEmpty()) {
1711 return null;
1712 }
1713
1714 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1715
1716 return portletBag.getSocialActivityInterpreterInstances();
1717 }
1718
1719
1726 @Override
1727 public boolean getSocialInteractionsConfiguration() {
1728 return _socialInteractionsConfiguration;
1729 }
1730
1731
1736 @Override
1737 public String getSocialRequestInterpreterClass() {
1738 return _socialRequestInterpreterClass;
1739 }
1740
1741
1748 @Override
1749 public SocialRequestInterpreter getSocialRequestInterpreterInstance() {
1750 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1751
1752 List<SocialRequestInterpreter> socialRequestInterpreterInstances =
1753 portletBag.getSocialRequestInterpreterInstances();
1754
1755 if (socialRequestInterpreterInstances.isEmpty()) {
1756 return null;
1757 }
1758
1759 return socialRequestInterpreterInstances.get(0);
1760 }
1761
1762
1769 @Override
1770 public List<String> getStagedModelDataHandlerClasses() {
1771 return _stagedModelDataHandlerClasses;
1772 }
1773
1774
1779 @Override
1780 public List<StagedModelDataHandler<?>>
1781 getStagedModelDataHandlerInstances() {
1782
1783 if (_stagedModelDataHandlerClasses.isEmpty()) {
1784 return null;
1785 }
1786
1787 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1788
1789 return portletBag.getStagedModelDataHandlerInstances();
1790 }
1791
1792
1799 @Override
1800 public boolean getStatic() {
1801 return _staticPortlet;
1802 }
1803
1804
1811 @Override
1812 public boolean getStaticEnd() {
1813 return !_staticPortletStart;
1814 }
1815
1816
1821 @Override
1822 public String getStaticResourcePath() {
1823 String proxyPath = PortalUtil.getPathProxy();
1824
1825 String virtualPath = getVirtualPath();
1826
1827 if (Validator.isNotNull(virtualPath)) {
1828 return proxyPath.concat(virtualPath);
1829 }
1830
1831 String contextPath = getContextPath();
1832
1833 if (!_portletApp.isWARFile()) {
1834 return contextPath;
1835 }
1836
1837 return proxyPath.concat(contextPath);
1838 }
1839
1840
1847 @Override
1848 public boolean getStaticStart() {
1849 return _staticPortletStart;
1850 }
1851
1852
1857 @Override
1858 public String getStrutsPath() {
1859 return _strutsPath;
1860 }
1861
1862
1867 @Override
1868 public Set<String> getSupportedLocales() {
1869 return _supportedLocales;
1870 }
1871
1872
1879 @Override
1880 public boolean getSystem() {
1881 return _system;
1882 }
1883
1884
1889 @Override
1890 public String getTemplateHandlerClass() {
1891 return _templateHandlerClass;
1892 }
1893
1894
1899 @Override
1900 public TemplateHandler getTemplateHandlerInstance() {
1901 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1902
1903 List<TemplateHandler> templateHandlerInstances =
1904 portletBag.getTemplateHandlerInstances();
1905
1906 if (templateHandlerInstances.isEmpty()) {
1907 return null;
1908 }
1909
1910 return templateHandlerInstances.get(0);
1911 }
1912
1913
1918 @Override
1919 public long getTimestamp() {
1920 if (_timestamp == null) {
1921 PortletApp portletApp = getPortletApp();
1922
1923 ServletContext servletContext = portletApp.getServletContext();
1924
1925 _timestamp = ServletContextUtil.getLastModified(
1926 servletContext, StringPool.SLASH, true);
1927 }
1928
1929 return _timestamp;
1930 }
1931
1932
1939 @Override
1940 public List<String> getTrashHandlerClasses() {
1941 return _trashHandlerClasses;
1942 }
1943
1944
1949 @Override
1950 public List<TrashHandler> getTrashHandlerInstances() {
1951 if (_trashHandlerClasses.isEmpty()) {
1952 return null;
1953 }
1954
1955 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1956
1957 return portletBag.getTrashHandlerInstances();
1958 }
1959
1960
1966 @Override
1967 public boolean getUndeployedPortlet() {
1968 return _undeployedPortlet;
1969 }
1970
1971
1976 @Override
1977 public Set<String> getUnlinkedRoles() {
1978 return _unlinkedRoles;
1979 }
1980
1981
1986 @Override
1987 public String getURLEncoderClass() {
1988 return _urlEncoderClass;
1989 }
1990
1991
1996 @Override
1997 public URLEncoder getURLEncoderInstance() {
1998 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1999
2000 List<URLEncoder> urlEncoderInstances =
2001 portletBag.getURLEncoderInstances();
2002
2003 if (urlEncoderInstances.isEmpty()) {
2004 return null;
2005 }
2006
2007 return urlEncoderInstances.get(0);
2008 }
2009
2010
2015 @Override
2016 public boolean getUseDefaultTemplate() {
2017 return _useDefaultTemplate;
2018 }
2019
2020
2026 @Override
2027 public long getUserId() {
2028 return PortletConstants.getUserId(getPortletId());
2029 }
2030
2031
2038 @Override
2039 public String getUserNotificationDefinitions() {
2040 return _userNotificationDefinitions;
2041 }
2042
2043
2050 @Override
2051 public List<String> getUserNotificationHandlerClasses() {
2052 return _userNotificationHandlerClasses;
2053 }
2054
2055
2060 @Override
2061 public List<UserNotificationHandler>
2062 getUserNotificationHandlerInstances() {
2063
2064 if (_userNotificationHandlerClasses.isEmpty()) {
2065 return null;
2066 }
2067
2068 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2069
2070 return portletBag.getUserNotificationHandlerInstances();
2071 }
2072
2073
2078 @Override
2079 public String getUserPrincipalStrategy() {
2080 return _userPrincipalStrategy;
2081 }
2082
2083
2088 @Override
2089 public String getVirtualPath() {
2090 return _virtualPath;
2091 }
2092
2093
2098 @Override
2099 public String getWebDAVStorageClass() {
2100 return _webDAVStorageClass;
2101 }
2102
2103
2108 @Override
2109 public WebDAVStorage getWebDAVStorageInstance() {
2110 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2111
2112 List<WebDAVStorage> webDAVStorageInstances =
2113 portletBag.getWebDAVStorageInstances();
2114
2115 if (webDAVStorageInstances.isEmpty()) {
2116 return null;
2117 }
2118
2119 return webDAVStorageInstances.get(0);
2120 }
2121
2122
2127 @Override
2128 public String getWebDAVStorageToken() {
2129 return _webDAVStorageToken;
2130 }
2131
2132
2137 @Override
2138 public Map<String, Set<String>> getWindowStates() {
2139 return _windowStates;
2140 }
2141
2142
2149 @Override
2150 public List<String> getWorkflowHandlerClasses() {
2151 return _workflowHandlerClasses;
2152 }
2153
2154
2159 @Override
2160 public List<WorkflowHandler<?>> getWorkflowHandlerInstances() {
2161 if (_workflowHandlerClasses.isEmpty()) {
2162 return null;
2163 }
2164
2165 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2166
2167 return portletBag.getWorkflowHandlerInstances();
2168 }
2169
2170
2175 @Override
2176 public String getXmlRpcMethodClass() {
2177 return _xmlRpcMethodClass;
2178 }
2179
2180
2185 @Override
2186 public Method getXmlRpcMethodInstance() {
2187 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2188
2189 List<Method> xmlRpcMethodInstances =
2190 portletBag.getXmlRpcMethodInstances();
2191
2192 if (xmlRpcMethodInstances.isEmpty()) {
2193 return null;
2194 }
2195
2196 return xmlRpcMethodInstances.get(0);
2197 }
2198
2199
2207 @Override
2208 public boolean hasAddPortletPermission(long userId) {
2209 PermissionChecker permissionChecker =
2210 PermissionThreadLocal.getPermissionChecker();
2211
2212 try {
2213 if ((permissionChecker == null) ||
2214 (permissionChecker.getUserId() != userId)) {
2215
2216 User user = UserLocalServiceUtil.getUser(userId);
2217
2218 permissionChecker = PermissionCheckerFactoryUtil.create(user);
2219 }
2220
2221 if (PortletPermissionUtil.contains(
2222 permissionChecker, getRootPortletId(),
2223 ActionKeys.ADD_TO_PAGE)) {
2224
2225 return true;
2226 }
2227 }
2228 catch (Exception e) {
2229 _log.error(e, e);
2230 }
2231
2232 return false;
2233 }
2234
2235 @Override
2236 public boolean hasFooterPortalCss() {
2237 return !_footerPortalCss.isEmpty();
2238 }
2239
2240 @Override
2241 public boolean hasFooterPortalJavaScript() {
2242 return !_footerPortalJavaScript.isEmpty();
2243 }
2244
2245 @Override
2246 public boolean hasFooterPortletCss() {
2247 return !_footerPortletCss.isEmpty();
2248 }
2249
2250 @Override
2251 public boolean hasFooterPortletJavaScript() {
2252 return !_footerPortletJavaScript.isEmpty();
2253 }
2254
2255 @Override
2256 public boolean hasHeaderPortalCss() {
2257 return !_headerPortalCss.isEmpty();
2258 }
2259
2260 @Override
2261 public boolean hasHeaderPortalJavaScript() {
2262 return !_headerPortalJavaScript.isEmpty();
2263 }
2264
2265 @Override
2266 public boolean hasHeaderPortletCss() {
2267 return !_headerPortletCss.isEmpty();
2268 }
2269
2270 @Override
2271 public boolean hasHeaderPortletJavaScript() {
2272 return !_headerPortletJavaScript.isEmpty();
2273 }
2274
2275
2281 @Override
2282 public boolean hasMultipleMimeTypes() {
2283 if (_portletModes.size() > 1) {
2284 return true;
2285 }
2286 else {
2287 return false;
2288 }
2289 }
2290
2291
2300 @Override
2301 public boolean hasPortletMode(String mimeType, PortletMode portletMode) {
2302 if (mimeType == null) {
2303 mimeType = ContentTypes.TEXT_HTML;
2304 }
2305
2306 Set<String> mimeTypePortletModes = _portletModes.get(mimeType);
2307
2308 if (mimeTypePortletModes == null) {
2309 return false;
2310 }
2311
2312 if (mimeTypePortletModes.contains(portletMode.toString())) {
2313 return true;
2314 }
2315 else {
2316 return false;
2317 }
2318 }
2319
2320
2328 @Override
2329 public boolean hasRoleWithName(String roleName) {
2330 if (ArrayUtil.isEmpty(_rolesArray)) {
2331 return false;
2332 }
2333
2334 for (String curRoleName : _rolesArray) {
2335 if (StringUtil.equalsIgnoreCase(curRoleName, roleName)) {
2336 return true;
2337 }
2338 }
2339
2340 return false;
2341 }
2342
2343
2352 @Override
2353 public boolean hasWindowState(String mimeType, WindowState windowState) {
2354 if (mimeType == null) {
2355 mimeType = ContentTypes.TEXT_HTML;
2356 }
2357
2358 Set<String> mimeTypeWindowStates = _windowStates.get(mimeType);
2359
2360 if (mimeTypeWindowStates == null) {
2361 return false;
2362 }
2363
2364 if (mimeTypeWindowStates.contains(windowState.toString())) {
2365 return true;
2366 }
2367 else {
2368 return false;
2369 }
2370 }
2371
2372
2379 @Override
2380 public boolean isActionURLRedirect() {
2381 return _actionURLRedirect;
2382 }
2383
2384
2391 @Override
2392 public boolean isAddDefaultResource() {
2393 return _addDefaultResource;
2394 }
2395
2396
2401 @Override
2402 public boolean isAjaxable() {
2403 return _ajaxable;
2404 }
2405
2406
2413 @Override
2414 public boolean isInclude() {
2415 return _include;
2416 }
2417
2418
2425 @Override
2426 public boolean isInstanceable() {
2427 return _instanceable;
2428 }
2429
2430
2436 @Override
2437 public boolean isLayoutCacheable() {
2438 return _layoutCacheable;
2439 }
2440
2441
2448 @Override
2449 public boolean isMaximizeEdit() {
2450 return _maximizeEdit;
2451 }
2452
2453
2460 @Override
2461 public boolean isMaximizeHelp() {
2462 return _maximizeHelp;
2463 }
2464
2465
2472 @Override
2473 public boolean isPopUpPrint() {
2474 return _popUpPrint;
2475 }
2476
2477
2484 @Override
2485 public boolean isPreferencesCompanyWide() {
2486 return _preferencesCompanyWide;
2487 }
2488
2489
2498 @Override
2499 public boolean isPreferencesOwnedByGroup() {
2500 return _preferencesOwnedByGroup;
2501 }
2502
2503
2508 @Override
2509 public boolean isPreferencesUniquePerLayout() {
2510 return _preferencesUniquePerLayout;
2511 }
2512
2513
2520 @Override
2521 public boolean isPrivateRequestAttributes() {
2522 return _privateRequestAttributes;
2523 }
2524
2525
2532 @Override
2533 public boolean isPrivateSessionAttributes() {
2534 return _privateSessionAttributes;
2535 }
2536
2537
2542 @Override
2543 public boolean isReady() {
2544 Boolean ready = _readyMap.get(getRootPortletId());
2545
2546 if (ready == null) {
2547 return true;
2548 }
2549 else {
2550 return ready;
2551 }
2552 }
2553
2554
2559 @Override
2560 public boolean isRemoteable() {
2561 return _remoteable;
2562 }
2563
2564
2571 @Override
2572 public boolean isRequiresNamespacedParameters() {
2573 return _requiresNamespacedParameters;
2574 }
2575
2576
2583 @Override
2584 public boolean isRestoreCurrentView() {
2585 return _restoreCurrentView;
2586 }
2587
2588
2593 @Override
2594 public boolean isScopeable() {
2595 return _scopeable;
2596 }
2597
2598
2605 @Override
2606 public boolean isShowPortletAccessDenied() {
2607 return _showPortletAccessDenied;
2608 }
2609
2610
2616 @Override
2617 public boolean isShowPortletInactive() {
2618 return _showPortletInactive;
2619 }
2620
2621
2626 @Override
2627 public boolean isSinglePageApplication() {
2628 return _singlePageApplication;
2629 }
2630
2631
2638 @Override
2639 public boolean isSocialInteractionsConfiguration() {
2640 return _socialInteractionsConfiguration;
2641 }
2642
2643
2650 @Override
2651 public boolean isStatic() {
2652 return _staticPortlet;
2653 }
2654
2655
2662 @Override
2663 public boolean isStaticEnd() {
2664 return !_staticPortletStart;
2665 }
2666
2667
2674 @Override
2675 public boolean isStaticStart() {
2676 return _staticPortletStart;
2677 }
2678
2679
2686 @Override
2687 public boolean isSystem() {
2688 return _system;
2689 }
2690
2691
2697 @Override
2698 public boolean isUndeployedPortlet() {
2699 return _undeployedPortlet;
2700 }
2701
2702
2707 @Override
2708 public boolean isUseDefaultTemplate() {
2709 return _useDefaultTemplate;
2710 }
2711
2712
2716 @Override
2717 public void linkRoles() {
2718 List<String> linkedRoles = new ArrayList<String>();
2719
2720 for (String unlinkedRole : _unlinkedRoles) {
2721 String roleLink = _roleMappers.get(unlinkedRole);
2722
2723 if (Validator.isNotNull(roleLink)) {
2724 if (_log.isDebugEnabled()) {
2725 _log.debug(
2726 "Linking role for portlet [" + getPortletId() +
2727 "] with role-name [" + unlinkedRole +
2728 "] to role-link [" + roleLink + "]");
2729 }
2730
2731 linkedRoles.add(roleLink);
2732 }
2733 else {
2734 _log.error(
2735 "Unable to link role for portlet [" + getPortletId() +
2736 "] with role-name [" + unlinkedRole +
2737 "] because role-link is null");
2738 }
2739 }
2740
2741 String[] array = linkedRoles.toArray(new String[linkedRoles.size()]);
2742
2743 Arrays.sort(array);
2744
2745 setRolesArray(array);
2746 }
2747
2748
2753 @Override
2754 public void setActionTimeout(int actionTimeout) {
2755 _actionTimeout = actionTimeout;
2756 }
2757
2758
2765 @Override
2766 public void setActionURLRedirect(boolean actionURLRedirect) {
2767 _actionURLRedirect = actionURLRedirect;
2768 }
2769
2770
2777 @Override
2778 public void setAddDefaultResource(boolean addDefaultResource) {
2779 _addDefaultResource = addDefaultResource;
2780 }
2781
2782
2788 @Override
2789 public void setAjaxable(boolean ajaxable) {
2790 _ajaxable = ajaxable;
2791 }
2792
2793
2800 @Override
2801 public void setAssetRendererFactoryClasses(
2802 List<String> assetRendererFactoryClasses) {
2803
2804 _assetRendererFactoryClasses = assetRendererFactoryClasses;
2805 }
2806
2807
2814 @Override
2815 public void setAtomCollectionAdapterClasses(
2816 List<String> atomCollectionAdapterClasses) {
2817
2818 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
2819 }
2820
2821
2828 @Override
2829 public void setAutopropagatedParameters(
2830 Set<String> autopropagatedParameters) {
2831
2832 _autopropagatedParameters = autopropagatedParameters;
2833 }
2834
2835
2841 @Override
2842 public void setConfigurationActionClass(String configurationActionClass) {
2843 _configurationActionClass = configurationActionClass;
2844 }
2845
2846
2853 @Override
2854 public void setControlPanelEntryCategory(String controlPanelEntryCategory) {
2855 _controlPanelEntryCategory = controlPanelEntryCategory;
2856 }
2857
2858
2865 @Override
2866 public void setControlPanelEntryClass(String controlPanelEntryClass) {
2867 _controlPanelEntryClass = controlPanelEntryClass;
2868 }
2869
2870
2878 @Override
2879 public void setControlPanelEntryWeight(double controlPanelEntryWeight) {
2880 _controlPanelEntryWeight = controlPanelEntryWeight;
2881 }
2882
2883
2890 @Override
2891 public void setCssClassWrapper(String cssClassWrapper) {
2892 _cssClassWrapper = cssClassWrapper;
2893 }
2894
2895
2902 @Override
2903 public void setCustomAttributesDisplayClasses(
2904 List<String> customAttributesDisplayClasses) {
2905
2906 _customAttributesDisplayClasses = customAttributesDisplayClasses;
2907 }
2908
2909
2915 @Override
2916 public void setDDMDisplayClass(String ddmDisplayClass) {
2917 _ddmDisplayClass = ddmDisplayClass;
2918 }
2919
2920
2925 @Override
2926 public void setDefaultPluginSetting(PluginSetting pluginSetting) {
2927 _defaultPluginSetting = pluginSetting;
2928 }
2929
2930
2935 @Override
2936 public void setDefaultPreferences(String defaultPreferences) {
2937 _defaultPreferences = defaultPreferences;
2938 }
2939
2940
2945 @Override
2946 public void setDisplayName(String displayName) {
2947 _displayName = displayName;
2948 }
2949
2950
2955 @Override
2956 public void setExpCache(Integer expCache) {
2957 _expCache = expCache;
2958 }
2959
2960
2965 @Override
2966 public void setFacebookIntegration(String facebookIntegration) {
2967 if (Validator.isNotNull(facebookIntegration)) {
2968 _facebookIntegration = facebookIntegration;
2969 }
2970 }
2971
2972
2979 @Override
2980 public void setFooterPortalCss(List<String> footerPortalCss) {
2981 _footerPortalCss = footerPortalCss;
2982 }
2983
2984
2992 @Override
2993 public void setFooterPortalJavaScript(List<String> footerPortalJavaScript) {
2994 _footerPortalJavaScript = footerPortalJavaScript;
2995 }
2996
2997
3004 @Override
3005 public void setFooterPortletCss(List<String> footerPortletCss) {
3006 _footerPortletCss = footerPortletCss;
3007 }
3008
3009
3017 @Override
3018 public void setFooterPortletJavaScript(
3019 List<String> footerPortletJavaScript) {
3020
3021 _footerPortletJavaScript = footerPortletJavaScript;
3022 }
3023
3024
3030 @Override
3031 public void setFriendlyURLMapperClass(String friendlyURLMapperClass) {
3032 _friendlyURLMapperClass = friendlyURLMapperClass;
3033 }
3034
3035
3041 @Override
3042 public void setFriendlyURLMapping(String friendlyURLMapping) {
3043 _friendlyURLMapping = friendlyURLMapping;
3044 }
3045
3046
3053 @Override
3054 public void setFriendlyURLRoutes(String friendlyURLRoutes) {
3055 _friendlyURLRoutes = friendlyURLRoutes;
3056 }
3057
3058
3065 @Override
3066 public void setHeaderPortalCss(List<String> headerPortalCss) {
3067 _headerPortalCss = headerPortalCss;
3068 }
3069
3070
3078 @Override
3079 public void setHeaderPortalJavaScript(List<String> headerPortalJavaScript) {
3080 _headerPortalJavaScript = headerPortalJavaScript;
3081 }
3082
3083
3090 @Override
3091 public void setHeaderPortletCss(List<String> headerPortletCss) {
3092 _headerPortletCss = headerPortletCss;
3093 }
3094
3095
3103 @Override
3104 public void setHeaderPortletJavaScript(
3105 List<String> headerPortletJavaScript) {
3106
3107 _headerPortletJavaScript = headerPortletJavaScript;
3108 }
3109
3110
3115 @Override
3116 public void setIcon(String icon) {
3117 _icon = icon;
3118 }
3119
3120
3127 @Override
3128 public void setInclude(boolean include) {
3129 _include = include;
3130 }
3131
3132
3139 @Override
3140 public void setIndexerClasses(List<String> indexerClasses) {
3141 _indexerClasses = indexerClasses;
3142 }
3143
3144
3149 @Override
3150 public void setInitParams(Map<String, String> initParams) {
3151 _initParams = initParams;
3152 }
3153
3154
3161 @Override
3162 public void setInstanceable(boolean instanceable) {
3163 _instanceable = instanceable;
3164 }
3165
3166
3173 @Override
3174 public void setLayoutCacheable(boolean layoutCacheable) {
3175 _layoutCacheable = layoutCacheable;
3176 }
3177
3178
3185 @Override
3186 public void setMaximizeEdit(boolean maximizeEdit) {
3187 _maximizeEdit = maximizeEdit;
3188 }
3189
3190
3197 @Override
3198 public void setMaximizeHelp(boolean maximizeHelp) {
3199 _maximizeHelp = maximizeHelp;
3200 }
3201
3202
3207 @Override
3208 public void setOpenSearchClass(String openSearchClass) {
3209 _openSearchClass = openSearchClass;
3210 }
3211
3212
3217 @Override
3218 public void setParentStrutsPath(String parentStrutsPath) {
3219 _parentStrutsPath = parentStrutsPath;
3220 }
3221
3222
3225 @Override
3226 public void setPermissionPropagatorClass(String permissionPropagatorClass) {
3227 _permissionPropagatorClass = permissionPropagatorClass;
3228 }
3229
3230
3235 @Override
3236 public void setPluginPackage(PluginPackage pluginPackage) {
3237 _pluginPackage = pluginPackage;
3238 }
3239
3240
3246 @Override
3247 public void setPollerProcessorClass(String pollerProcessorClass) {
3248 _pollerProcessorClass = pollerProcessorClass;
3249 }
3250
3251
3257 @Override
3258 public void setPopMessageListenerClass(String popMessageListenerClass) {
3259 _popMessageListenerClass = popMessageListenerClass;
3260 }
3261
3262
3269 @Override
3270 public void setPopUpPrint(boolean popUpPrint) {
3271 _popUpPrint = popUpPrint;
3272 }
3273
3274
3279 @Override
3280 public void setPortletApp(PortletApp portletApp) {
3281 _portletApp = portletApp;
3282
3283 _portletApp.addPortlet(this);
3284 }
3285
3286
3291 @Override
3292 public void setPortletClass(String portletClass) {
3293 _portletClass = portletClass;
3294 }
3295
3296
3302 @Override
3303 public void setPortletDataHandlerClass(String portletDataHandlerClass) {
3304 _portletDataHandlerClass = portletDataHandlerClass;
3305 }
3306
3307
3312 @Override
3313 public void setPortletFilters(Map<String, PortletFilter> portletFilters) {
3314 _portletFilters = portletFilters;
3315 }
3316
3317
3322 @Override
3323 public void setPortletInfo(PortletInfo portletInfo) {
3324 _portletInfo = portletInfo;
3325 }
3326
3327
3333 @Override
3334 public void setPortletLayoutListenerClass(
3335 String portletLayoutListenerClass) {
3336
3337 _portletLayoutListenerClass = portletLayoutListenerClass;
3338 }
3339
3340
3345 @Override
3346 public void setPortletModes(Map<String, Set<String>> portletModes) {
3347 _portletModes = portletModes;
3348 }
3349
3350
3355 @Override
3356 public void setPortletName(String portletName) {
3357 _portletName = portletName;
3358 }
3359
3360
3365 @Override
3366 public void setPortletURLClass(String portletURLClass) {
3367 _portletURLClass = portletURLClass;
3368 }
3369
3370
3377 @Override
3378 public void setPreferencesCompanyWide(boolean preferencesCompanyWide) {
3379 _preferencesCompanyWide = preferencesCompanyWide;
3380 }
3381
3382
3391 @Override
3392 public void setPreferencesOwnedByGroup(boolean preferencesOwnedByGroup) {
3393 _preferencesOwnedByGroup = preferencesOwnedByGroup;
3394 }
3395
3396
3402 @Override
3403 public void setPreferencesUniquePerLayout(
3404 boolean preferencesUniquePerLayout) {
3405
3406 _preferencesUniquePerLayout = preferencesUniquePerLayout;
3407 }
3408
3409
3415 @Override
3416 public void setPreferencesValidator(String preferencesValidator) {
3417 if (preferencesValidator != null) {
3418
3419
3420
3421
3422 _preferencesValidator = preferencesValidator.trim();
3423 }
3424 else {
3425 _preferencesValidator = null;
3426 }
3427 }
3428
3429
3437 @Override
3438 public void setPrivateRequestAttributes(boolean privateRequestAttributes) {
3439 _privateRequestAttributes = privateRequestAttributes;
3440 }
3441
3442
3449 @Override
3450 public void setPrivateSessionAttributes(boolean privateSessionAttributes) {
3451 _privateSessionAttributes = privateSessionAttributes;
3452 }
3453
3454
3459 @Override
3460 public void setProcessingEvents(Set<QName> processingEvents) {
3461 for (QName processingEvent : processingEvents) {
3462 addProcessingEvent(processingEvent);
3463 }
3464 }
3465
3466
3472 @Override
3473 public void setPublicRenderParameters(
3474 Set<PublicRenderParameter> publicRenderParameters) {
3475
3476 for (PublicRenderParameter publicRenderParameter :
3477 publicRenderParameters) {
3478
3479 addPublicRenderParameter(publicRenderParameter);
3480 }
3481 }
3482
3483
3488 @Override
3489 public void setPublishingEvents(Set<QName> publishingEvents) {
3490 for (QName publishingEvent : publishingEvents) {
3491 addPublishingEvent(publishingEvent);
3492 }
3493 }
3494
3495
3500 @Override
3501 public void setReady(boolean ready) {
3502 _readyMap.put(getRootPortletId(), ready);
3503 }
3504
3505
3511 @Override
3512 public void setRemoteable(boolean remoteable) {
3513 _remoteable = remoteable;
3514 }
3515
3516
3521 @Override
3522 public void setRenderTimeout(int renderTimeout) {
3523 _renderTimeout = renderTimeout;
3524 }
3525
3526
3531 @Override
3532 public void setRenderWeight(int renderWeight) {
3533 _renderWeight = renderWeight;
3534 }
3535
3536
3543 @Override
3544 public void setRequiresNamespacedParameters(
3545 boolean requiresNamespacedParameters) {
3546
3547 _requiresNamespacedParameters = requiresNamespacedParameters;
3548 }
3549
3550
3555 @Override
3556 public void setResourceBundle(String resourceBundle) {
3557 _resourceBundle = resourceBundle;
3558 }
3559
3560
3567 @Override
3568 public void setRestoreCurrentView(boolean restoreCurrentView) {
3569 _restoreCurrentView = restoreCurrentView;
3570 }
3571
3572
3577 @Override
3578 public void setRoleMappers(Map<String, String> roleMappers) {
3579 _roleMappers = roleMappers;
3580 }
3581
3582
3587 @Override
3588 public void setRoles(String roles) {
3589 _rolesArray = StringUtil.split(roles);
3590
3591 super.setRoles(roles);
3592 }
3593
3594
3599 @Override
3600 public void setRolesArray(String[] rolesArray) {
3601 _rolesArray = rolesArray;
3602
3603 super.setRoles(StringUtil.merge(rolesArray));
3604 }
3605
3606
3611 @Override
3612 public void setSchedulerEntries(List<SchedulerEntry> schedulerEntries) {
3613 for (SchedulerEntry schedulerEntry : schedulerEntries) {
3614 addSchedulerEntry(schedulerEntry);
3615 }
3616 }
3617
3618
3624 @Override
3625 public void setScopeable(boolean scopeable) {
3626 _scopeable = scopeable;
3627 }
3628
3629
3636 @Override
3637 public void setShowPortletAccessDenied(boolean showPortletAccessDenied) {
3638 _showPortletAccessDenied = showPortletAccessDenied;
3639 }
3640
3641
3647 @Override
3648 public void setShowPortletInactive(boolean showPortletInactive) {
3649 _showPortletInactive = showPortletInactive;
3650 }
3651
3652
3658 @Override
3659 public void setSinglePageApplication(boolean singlePageApplication) {
3660 _singlePageApplication = singlePageApplication;
3661 }
3662
3663
3670 @Override
3671 public void setSocialActivityInterpreterClasses(
3672 List<String> socialActivityInterpreterClasses) {
3673
3674 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
3675 }
3676
3677 @Override
3678 public void setSocialInteractionsConfiguration(
3679 boolean socialInteractionsConfiguration) {
3680
3681 _socialInteractionsConfiguration = socialInteractionsConfiguration;
3682 }
3683
3684
3690 @Override
3691 public void setSocialRequestInterpreterClass(
3692 String socialRequestInterpreterClass) {
3693
3694 _socialRequestInterpreterClass = socialRequestInterpreterClass;
3695 }
3696
3697
3702
3703
3710 @Override
3711 public void setStagedModelDataHandlerClasses(
3712 List<String> stagedModelDataHandlerClasses) {
3713
3714 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
3715 }
3716
3717
3724 @Override
3725 public void setStatic(boolean staticPortlet) {
3726 _staticPortlet = staticPortlet;
3727 }
3728
3729
3736 @Override
3737 public void setStaticStart(boolean staticPortletStart) {
3738 _staticPortletStart = staticPortletStart;
3739 }
3740
3741
3746 @Override
3747 public void setStrutsPath(String strutsPath) {
3748 _strutsPath = strutsPath;
3749 }
3750
3751
3756 @Override
3757 public void setSupportedLocales(Set<String> supportedLocales) {
3758 _supportedLocales = supportedLocales;
3759 }
3760
3761
3768 @Override
3769 public void setSystem(boolean system) {
3770 _system = system;
3771 }
3772
3773
3779 @Override
3780 public void setTemplateHandlerClass(String templateHandlerClass) {
3781 _templateHandlerClass = templateHandlerClass;
3782 }
3783
3784
3791 @Override
3792 public void setTrashHandlerClasses(List<String> trashHandlerClasses) {
3793 _trashHandlerClasses = trashHandlerClasses;
3794 }
3795
3796
3802 @Override
3803 public void setUndeployedPortlet(boolean undeployedPortlet) {
3804 _undeployedPortlet = undeployedPortlet;
3805 }
3806
3807
3812 @Override
3813 public void setUnlinkedRoles(Set<String> unlinkedRoles) {
3814 _unlinkedRoles = unlinkedRoles;
3815 }
3816
3817
3822 @Override
3823 public void setURLEncoderClass(String urlEncoderClass) {
3824 _urlEncoderClass = urlEncoderClass;
3825 }
3826
3827
3833 @Override
3834 public void setUseDefaultTemplate(boolean useDefaultTemplate) {
3835 _useDefaultTemplate = useDefaultTemplate;
3836 }
3837
3838
3845 @Override
3846 public void setUserNotificationDefinitions(
3847 String userNotificationDefinitions) {
3848
3849 _userNotificationDefinitions = userNotificationDefinitions;
3850 }
3851
3852
3859 @Override
3860 public void setUserNotificationHandlerClasses(
3861 List<String> userNotificationHandlerClasses) {
3862
3863 _userNotificationHandlerClasses = userNotificationHandlerClasses;
3864 }
3865
3866
3871 @Override
3872 public void setUserPrincipalStrategy(String userPrincipalStrategy) {
3873 if (Validator.isNotNull(userPrincipalStrategy)) {
3874 _userPrincipalStrategy = userPrincipalStrategy;
3875 }
3876 }
3877
3878
3883 @Override
3884 public void setVirtualPath(String virtualPath) {
3885 if (_portletApp.isWARFile() && Validator.isNull(virtualPath)) {
3886 virtualPath = PropsValues.PORTLET_VIRTUAL_PATH;
3887 }
3888
3889 _virtualPath = virtualPath;
3890 }
3891
3892
3898 @Override
3899 public void setWebDAVStorageClass(String webDAVStorageClass) {
3900 _webDAVStorageClass = webDAVStorageClass;
3901 }
3902
3903
3909 @Override
3910 public void setWebDAVStorageToken(String webDAVStorageToken) {
3911 _webDAVStorageToken = webDAVStorageToken;
3912 }
3913
3914
3919 @Override
3920 public void setWindowStates(Map<String, Set<String>> windowStates) {
3921 _windowStates = windowStates;
3922 }
3923
3924
3931 @Override
3932 public void setWorkflowHandlerClasses(List<String> workflowHandlerClasses) {
3933 _workflowHandlerClasses = workflowHandlerClasses;
3934 }
3935
3936
3942 @Override
3943 public void setXmlRpcMethodClass(String xmlRpcMethodClass) {
3944 _xmlRpcMethodClass = xmlRpcMethodClass;
3945 }
3946
3947
3950 private static final Log _log = LogFactoryUtil.getLog(PortletImpl.class);
3951
3952
3955 private static final Map<String, Boolean> _readyMap =
3956 new ConcurrentHashMap<String, Boolean>();
3957
3958
3961 private int _actionTimeout;
3962
3963
3967 private boolean _actionURLRedirect;
3968
3969
3973 private boolean _addDefaultResource;
3974
3975
3978 private boolean _ajaxable = true;
3979
3980
3984 private List<String> _assetRendererFactoryClasses;
3985
3986
3990 private List<String> _atomCollectionAdapterClasses;
3991
3992
3996 private Set<String> _autopropagatedParameters;
3997
3998
4001 private String _configurationActionClass;
4002
4003
4007 private String _controlPanelEntryCategory = StringPool.BLANK;
4008
4009
4013 private String _controlPanelEntryClass;
4014
4015
4019 private double _controlPanelEntryWeight = 100;
4020
4021
4025 private String _cssClassWrapper = StringPool.BLANK;
4026
4027
4031 private List<String> _customAttributesDisplayClasses;
4032
4033
4036 private String _ddmDisplayClass;
4037
4038
4041 private PluginSetting _defaultPluginSetting;
4042
4043
4046 private String _defaultPreferences;
4047
4048
4051 private String _displayName;
4052
4053
4056 private Integer _expCache;
4057
4058
4061 private String _facebookIntegration =
4062 PortletConstants.FACEBOOK_INTEGRATION_IFRAME;
4063
4064
4068 private List<String> _footerPortalCss;
4069
4070
4074 private List<String> _footerPortalJavaScript;
4075
4076
4080 private List<String> _footerPortletCss;
4081
4082
4086 private List<String> _footerPortletJavaScript;
4087
4088
4091 private String _friendlyURLMapperClass;
4092
4093
4096 private String _friendlyURLMapping;
4097
4098
4102 private String _friendlyURLRoutes;
4103
4104
4108 private List<String> _headerPortalCss;
4109
4110
4114 private List<String> _headerPortalJavaScript;
4115
4116
4120 private List<String> _headerPortletCss;
4121
4122
4126 private List<String> _headerPortletJavaScript;
4127
4128
4131 private String _icon;
4132
4133
4137 private boolean _include = true;
4138
4139
4143 private List<String> _indexerClasses;
4144
4145
4148 private Map<String, String> _initParams;
4149
4150
4153 private boolean _instanceable;
4154
4155
4158 private boolean _layoutCacheable;
4159
4160
4164 private boolean _maximizeEdit;
4165
4166
4170 private boolean _maximizeHelp;
4171
4172
4175 private String _openSearchClass;
4176
4177
4180 private String _parentStrutsPath;
4181
4182
4185 private String _permissionPropagatorClass;
4186
4187
4190 private PluginPackage _pluginPackage;
4191
4192
4195 private String _pollerProcessorClass;
4196
4197
4200 private String _popMessageListenerClass;
4201
4202
4206 private boolean _popUpPrint = true;
4207
4208
4211 private PortletApp _portletApp;
4212
4213
4216 private String _portletClass;
4217
4218
4221 private String _portletDataHandlerClass;
4222
4223
4226 private Map<String, PortletFilter> _portletFilters;
4227
4228
4231 private PortletInfo _portletInfo;
4232
4233
4236 private String _portletLayoutListenerClass;
4237
4238
4241 private Map<String, Set<String>> _portletModes;
4242
4243
4246 private String _portletName;
4247
4248
4251 private String _portletURLClass;
4252
4253
4256 private boolean _preferencesCompanyWide;
4257
4258
4263 private boolean _preferencesOwnedByGroup = true;
4264
4265
4268 private boolean _preferencesUniquePerLayout = true;
4269
4270
4273 private String _preferencesValidator;
4274
4275
4279 private boolean _privateRequestAttributes = true;
4280
4281
4285 private boolean _privateSessionAttributes = true;
4286
4287
4290 private final Set<QName> _processingEvents = new HashSet<QName>();
4291
4292
4295 private final Map<String, QName> _processingEventsByQName =
4296 new HashMap<String, QName>();
4297
4298
4301 private final Set<PublicRenderParameter> _publicRenderParameters =
4302 new HashSet<PublicRenderParameter>();
4303
4304
4308 private final Map<String, PublicRenderParameter>
4309 _publicRenderParametersByIdentifier =
4310 new HashMap<String, PublicRenderParameter>();
4311
4312
4316 private final Map<String, PublicRenderParameter>
4317 _publicRenderParametersByQName =
4318 new HashMap<String, PublicRenderParameter>();
4319
4320
4323 private final Set<QName> _publishingEvents = new HashSet<QName>();
4324
4325
4328 private boolean _remoteable;
4329
4330
4333 private int _renderTimeout;
4334
4335
4338 private int _renderWeight = 1;
4339
4340
4343 private boolean _requiresNamespacedParameters = true;
4344
4345
4348 private String _resourceBundle;
4349
4350
4354 private boolean _restoreCurrentView = true;
4355
4356
4359 private Map<String, String> _roleMappers;
4360
4361
4364 private String[] _rolesArray = new String[0];
4365
4366
4369 private final Portlet _rootPortlet;
4370
4371
4374 private final List<SchedulerEntry> _schedulerEntries;
4375
4376
4379 private boolean _scopeable;
4380
4381
4385 private boolean _showPortletAccessDenied =
4386 PropsValues.LAYOUT_SHOW_PORTLET_ACCESS_DENIED;
4387
4388
4391 private boolean _showPortletInactive =
4392 PropsValues.LAYOUT_SHOW_PORTLET_INACTIVE;
4393
4394
4397 private boolean _singlePageApplication = true;
4398
4399
4403 private List<String> _socialActivityInterpreterClasses;
4404
4405
4408 private boolean _socialInteractionsConfiguration;
4409
4410
4413 private String _socialRequestInterpreterClass;
4414
4415
4419 private List<String> _stagedModelDataHandlerClasses;
4420
4421
4425 private boolean _staticPortlet;
4426
4427
4431 private boolean _staticPortletStart;
4432
4433
4436 private String _strutsPath;
4437
4438
4441 private Set<String> _supportedLocales;
4442
4443
4447 private boolean _system;
4448
4449
4452 private String _templateHandlerClass;
4453
4454
4457 private Long _timestamp;
4458
4459
4463 private List<String> _trashHandlerClasses;
4464
4465
4468 private boolean _undeployedPortlet;
4469
4470
4473 private Set<String> _unlinkedRoles;
4474
4475
4478 private String _urlEncoderClass;
4479
4480
4483 private boolean _useDefaultTemplate = true;
4484
4485
4489 private String _userNotificationDefinitions;
4490
4491
4495 private List<String> _userNotificationHandlerClasses;
4496
4497
4500 private String _userPrincipalStrategy =
4501 PortletConstants.USER_PRINCIPAL_STRATEGY_USER_ID;
4502
4503
4506 private String _virtualPath;
4507
4508
4511 private String _webDAVStorageClass;
4512
4513
4516 private String _webDAVStorageToken;
4517
4518
4521 private Map<String, Set<String>> _windowStates;
4522
4523
4527 private List<String> _workflowHandlerClasses;
4528
4529
4532 private String _xmlRpcMethodClass;
4533
4534 }