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.PortletBag;
029 import com.liferay.portal.kernel.portlet.PortletBagPool;
030 import com.liferay.portal.kernel.portlet.PortletLayoutListener;
031 import com.liferay.portal.kernel.scheduler.SchedulerEntry;
032 import com.liferay.portal.kernel.search.Indexer;
033 import com.liferay.portal.kernel.search.OpenSearch;
034 import com.liferay.portal.kernel.servlet.ServletContextPool;
035 import com.liferay.portal.kernel.servlet.URLEncoder;
036 import com.liferay.portal.kernel.template.TemplateHandler;
037 import com.liferay.portal.kernel.trash.TrashHandler;
038 import com.liferay.portal.kernel.util.ArrayUtil;
039 import com.liferay.portal.kernel.util.ContentTypes;
040 import com.liferay.portal.kernel.util.ContextPathUtil;
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 import com.liferay.util.bridges.alloy.AlloyPortlet;
074
075 import java.util.ArrayList;
076 import java.util.Arrays;
077 import java.util.Collections;
078 import java.util.HashMap;
079 import java.util.HashSet;
080 import java.util.LinkedHashMap;
081 import java.util.LinkedHashSet;
082 import java.util.List;
083 import java.util.Map;
084 import java.util.Set;
085 import java.util.TreeSet;
086 import java.util.concurrent.ConcurrentHashMap;
087
088 import javax.portlet.PortletMode;
089 import javax.portlet.WindowState;
090
091 import javax.servlet.ServletContext;
092
093
096 public class PortletImpl extends PortletBaseImpl {
097
098
101 public PortletImpl() {
102 }
103
104
107 public PortletImpl(long companyId, String portletId) {
108 setCompanyId(companyId);
109 setPortletId(portletId);
110 setStrutsPath(portletId);
111 setActive(true);
112 _indexerClasses = new ArrayList<String>();
113 _schedulerEntries = new ArrayList<SchedulerEntry>();
114 _stagedModelDataHandlerClasses = new ArrayList<String>();
115 _socialActivityInterpreterClasses = new ArrayList<String>();
116 _userNotificationHandlerClasses = new ArrayList<String>();
117 _assetRendererFactoryClasses = new ArrayList<String>();
118 _atomCollectionAdapterClasses = new ArrayList<String>();
119 _customAttributesDisplayClasses = new ArrayList<String>();
120 _trashHandlerClasses = new ArrayList<String>();
121 _workflowHandlerClasses = new ArrayList<String>();
122 _autopropagatedParameters = new LinkedHashSet<String>();
123 _headerPortalCss = new ArrayList<String>();
124 _headerPortletCss = new ArrayList<String>();
125 _headerPortalJavaScript = new ArrayList<String>();
126 _headerPortletJavaScript = new ArrayList<String>();
127 _footerPortalCss = new ArrayList<String>();
128 _footerPortletCss = new ArrayList<String>();
129 _footerPortalJavaScript = new ArrayList<String>();
130 _footerPortletJavaScript = new ArrayList<String>();
131 _unlinkedRoles = new HashSet<String>();
132 _roleMappers = new LinkedHashMap<String, String>();
133 _initParams = new HashMap<String, String>();
134 _portletModes = new HashMap<String, Set<String>>();
135 _windowStates = new HashMap<String, Set<String>>();
136 _supportedLocales = new HashSet<String>();
137 _portletFilters = new LinkedHashMap<String, PortletFilter>();
138 _processingEvents = new HashSet<QName>();
139 _publishingEvents = new HashSet<QName>();
140 _publicRenderParameters = new HashSet<PublicRenderParameter>();
141 }
142
143
146 public PortletImpl(
147 String portletId, Portlet rootPortlet, PluginPackage pluginPackage,
148 PluginSetting pluginSetting, long companyId, long timestamp,
149 String icon, String virtualPath, String strutsPath,
150 String parentStrutsPath, String portletName, String displayName,
151 String portletClass, String configurationActionClass,
152 List<String> indexerClasses, String openSearchClass,
153 List<SchedulerEntry> schedulerEntries, String portletURLClass,
154 String friendlyURLMapperClass, String friendlyURLMapping,
155 String friendlyURLRoutes, String urlEncoderClass,
156 String portletDataHandlerClass,
157 List<String> stagedModelDataHandlerClasses, String templateHandlerClass,
158 String portletLayoutListenerClass, String pollerProcessorClass,
159 String popMessageListenerClass,
160 List<String> socialActivityInterpreterClasses,
161 String socialRequestInterpreterClass,
162 String userNotificationDefinitions,
163 List<String> userNotificationHandlerClasses, String webDAVStorageToken,
164 String webDAVStorageClass, String xmlRpcMethodClass,
165 String controlPanelEntryCategory, double controlPanelEntryWeight,
166 String controlPanelClass, List<String> assetRendererFactoryClasses,
167 List<String> atomCollectionAdapterClasses,
168 List<String> customAttributesDisplayClasses, String ddmDisplayClass,
169 String permissionPropagatorClass, List<String> trashHandlerClasses,
170 List<String> workflowHandlerClasses, String defaultPreferences,
171 String preferencesValidator, boolean preferencesCompanyWide,
172 boolean preferencesUniquePerLayout, boolean preferencesOwnedByGroup,
173 boolean useDefaultTemplate, boolean showPortletAccessDenied,
174 boolean showPortletInactive, boolean actionURLRedirect,
175 boolean restoreCurrentView, boolean maximizeEdit, boolean maximizeHelp,
176 boolean popUpPrint, boolean layoutCacheable, boolean instanceable,
177 boolean remoteable, boolean scopeable, String userPrincipalStrategy,
178 boolean privateRequestAttributes, boolean privateSessionAttributes,
179 Set<String> autopropagatedParameters,
180 boolean requiresNamespacedParameters, int actionTimeout,
181 int renderTimeout, int renderWeight, boolean ajaxable,
182 List<String> headerPortalCss, List<String> headerPortletCss,
183 List<String> headerPortalJavaScript,
184 List<String> headerPortletJavaScript, List<String> footerPortalCss,
185 List<String> footerPortletCss, List<String> footerPortalJavaScript,
186 List<String> footerPortletJavaScript, String cssClassWrapper,
187 String facebookIntegration, boolean addDefaultResource, String roles,
188 Set<String> unlinkedRoles, Map<String, String> roleMappers,
189 boolean system, boolean active, boolean include,
190 Map<String, String> initParams, Integer expCache,
191 Map<String, Set<String>> portletModes,
192 Map<String, Set<String>> windowStates, Set<String> supportedLocales,
193 String resourceBundle, PortletInfo portletInfo,
194 Map<String, PortletFilter> portletFilters, Set<QName> processingEvents,
195 Set<QName> publishingEvents,
196 Set<PublicRenderParameter> publicRenderParameters,
197 PortletApp portletApp) {
198
199 setPortletId(portletId);
200 _rootPortlet = rootPortlet;
201 _pluginPackage = pluginPackage;
202 _defaultPluginSetting = pluginSetting;
203 setCompanyId(companyId);
204 _timestamp = timestamp;
205 _icon = icon;
206 _virtualPath = virtualPath;
207 _strutsPath = strutsPath;
208 _portletName = portletName;
209 _parentStrutsPath = parentStrutsPath;
210 _displayName = displayName;
211 _portletClass = portletClass;
212 _configurationActionClass = configurationActionClass;
213 _indexerClasses = indexerClasses;
214 _openSearchClass = openSearchClass;
215 _schedulerEntries = schedulerEntries;
216 _portletURLClass = portletURLClass;
217 _friendlyURLMapperClass = friendlyURLMapperClass;
218 _friendlyURLMapping = friendlyURLMapping;
219 _friendlyURLRoutes = friendlyURLRoutes;
220 _urlEncoderClass = urlEncoderClass;
221 _portletDataHandlerClass = portletDataHandlerClass;
222 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
223 _templateHandlerClass = templateHandlerClass;
224 _portletLayoutListenerClass = portletLayoutListenerClass;
225 _pollerProcessorClass = pollerProcessorClass;
226 _popMessageListenerClass = popMessageListenerClass;
227 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
228 _socialRequestInterpreterClass = socialRequestInterpreterClass;
229 _userNotificationHandlerClasses = userNotificationHandlerClasses;
230 _userNotificationDefinitions = userNotificationDefinitions;
231 _webDAVStorageToken = webDAVStorageToken;
232 _webDAVStorageClass = webDAVStorageClass;
233 _xmlRpcMethodClass = xmlRpcMethodClass;
234 _controlPanelEntryCategory = controlPanelEntryCategory;
235 _controlPanelEntryWeight = controlPanelEntryWeight;
236 _controlPanelEntryClass = controlPanelClass;
237 _assetRendererFactoryClasses = assetRendererFactoryClasses;
238 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
239 _customAttributesDisplayClasses = customAttributesDisplayClasses;
240 _ddmDisplayClass = ddmDisplayClass;
241 _permissionPropagatorClass = permissionPropagatorClass;
242 _trashHandlerClasses = trashHandlerClasses;
243 _workflowHandlerClasses = workflowHandlerClasses;
244 _defaultPreferences = defaultPreferences;
245 _preferencesValidator = preferencesValidator;
246 _preferencesCompanyWide = preferencesCompanyWide;
247 _preferencesUniquePerLayout = preferencesUniquePerLayout;
248 _preferencesOwnedByGroup = preferencesOwnedByGroup;
249 _useDefaultTemplate = useDefaultTemplate;
250 _showPortletAccessDenied = showPortletAccessDenied;
251 _showPortletInactive = showPortletInactive;
252 _actionURLRedirect = actionURLRedirect;
253 _restoreCurrentView = restoreCurrentView;
254 _maximizeEdit = maximizeEdit;
255 _maximizeHelp = maximizeHelp;
256 _popUpPrint = popUpPrint;
257 _layoutCacheable = layoutCacheable;
258 _instanceable = instanceable;
259 _remoteable = remoteable;
260 _scopeable = scopeable;
261 _userPrincipalStrategy = userPrincipalStrategy;
262 _privateRequestAttributes = privateRequestAttributes;
263 _privateSessionAttributes = privateSessionAttributes;
264 _autopropagatedParameters = autopropagatedParameters;
265 _requiresNamespacedParameters = requiresNamespacedParameters;
266 _actionTimeout = actionTimeout;
267 _renderTimeout = renderTimeout;
268 _renderWeight = renderWeight;
269 _ajaxable = ajaxable;
270 _headerPortalCss = headerPortalCss;
271 _headerPortletCss = headerPortletCss;
272 _headerPortalJavaScript = headerPortalJavaScript;
273 _headerPortletJavaScript = headerPortletJavaScript;
274 _footerPortalCss = footerPortalCss;
275 _footerPortletCss = footerPortletCss;
276 _footerPortalJavaScript = footerPortalJavaScript;
277 _footerPortletJavaScript = footerPortletJavaScript;
278 _cssClassWrapper = cssClassWrapper;
279 _facebookIntegration = facebookIntegration;
280 _scopeable = scopeable;
281 _addDefaultResource = addDefaultResource;
282 setRoles(roles);
283 _unlinkedRoles = unlinkedRoles;
284 _roleMappers = roleMappers;
285 _system = system;
286 setActive(active);
287 _include = include;
288 _initParams = initParams;
289 _expCache = expCache;
290 _portletModes = portletModes;
291 _windowStates = windowStates;
292 _supportedLocales = supportedLocales;
293 _resourceBundle = resourceBundle;
294 _portletInfo = portletInfo;
295 _portletFilters = portletFilters;
296 setProcessingEvents(processingEvents);
297 setPublishingEvents(publishingEvents);
298 setPublicRenderParameters(publicRenderParameters);
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(), getTimestamp(),
366 getIcon(), 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 getUserNotificationDefinitions(),
378 getUserNotificationHandlerClasses(), getWebDAVStorageToken(),
379 getWebDAVStorageClass(), getXmlRpcMethodClass(),
380 getControlPanelEntryCategory(), getControlPanelEntryWeight(),
381 getControlPanelEntryClass(), getAssetRendererFactoryClasses(),
382 getAtomCollectionAdapterClasses(),
383 getCustomAttributesDisplayClasses(), getDDMDisplayClass(),
384 getPermissionPropagatorClass(), getTrashHandlerClasses(),
385 getWorkflowHandlerClasses(), getDefaultPreferences(),
386 getPreferencesValidator(), isPreferencesCompanyWide(),
387 isPreferencesUniquePerLayout(), isPreferencesOwnedByGroup(),
388 isUseDefaultTemplate(), isShowPortletAccessDenied(),
389 isShowPortletInactive(), isActionURLRedirect(),
390 isRestoreCurrentView(), isMaximizeEdit(), isMaximizeHelp(),
391 isPopUpPrint(), isLayoutCacheable(), isInstanceable(),
392 isRemoteable(), isScopeable(), getUserPrincipalStrategy(),
393 isPrivateRequestAttributes(), isPrivateSessionAttributes(),
394 getAutopropagatedParameters(), isRequiresNamespacedParameters(),
395 getActionTimeout(), getRenderTimeout(), getRenderWeight(),
396 isAjaxable(), getHeaderPortalCss(), getHeaderPortletCss(),
397 getHeaderPortalJavaScript(), getHeaderPortletJavaScript(),
398 getFooterPortalCss(), getFooterPortletCss(),
399 getFooterPortalJavaScript(), getFooterPortletJavaScript(),
400 getCssClassWrapper(), getFacebookIntegration(),
401 isAddDefaultResource(), getRoles(), getUnlinkedRoles(),
402 getRoleMappers(), isSystem(), isActive(), isInclude(),
403 getInitParams(), getExpCache(), getPortletModes(),
404 getWindowStates(), getSupportedLocales(), getResourceBundle(),
405 getPortletInfo(), getPortletFilters(), getProcessingEvents(),
406 getPublishingEvents(), getPublicRenderParameters(),
407 getPortletApp());
408
409 portlet.setId(getId());
410 portlet.setUndeployedPortlet(isUndeployedPortlet());
411
412 return portlet;
413 }
414
415
424 @Override
425 public int compareTo(Portlet portlet) {
426 String portletId = getPortletId();
427
428 return portletId.compareTo(portlet.getPortletId());
429 }
430
431
437 @Override
438 public boolean equals(Object obj) {
439 if (this == obj) {
440 return true;
441 }
442
443 if (!(obj instanceof Portlet)) {
444 return false;
445 }
446
447 Portlet portlet = (Portlet)obj;
448
449 String portletId = getPortletId();
450
451 return portletId.equals(portlet.getPortletId());
452 }
453
454
459 @Override
460 public int getActionTimeout() {
461 return _actionTimeout;
462 }
463
464
471 @Override
472 public boolean getActionURLRedirect() {
473 return _actionURLRedirect;
474 }
475
476
483 @Override
484 public boolean getAddDefaultResource() {
485 return _addDefaultResource;
486 }
487
488
493 @Override
494 public boolean getAjaxable() {
495 return _ajaxable;
496 }
497
498
503 @Override
504 public Set<String> getAllPortletModes() {
505 Set<String> allPortletModes = new TreeSet<String>();
506
507 for (Map.Entry<String, Set<String>> entry : _portletModes.entrySet()) {
508 Set<String> mimeTypePortletModes = entry.getValue();
509
510 for (String portletMode : mimeTypePortletModes) {
511 allPortletModes.add(portletMode);
512 }
513 }
514
515 return allPortletModes;
516 }
517
518
523 @Override
524 public Set<String> getAllWindowStates() {
525 Set<String> allWindowStates = new TreeSet<String>();
526
527 for (Map.Entry<String, Set<String>> entry : _windowStates.entrySet()) {
528 Set<String> mimeTypeWindowStates = entry.getValue();
529
530 for (String windowState : mimeTypeWindowStates) {
531 allWindowStates.add(windowState);
532 }
533 }
534
535 return allWindowStates;
536 }
537
538
545 @Override
546 public List<String> getAssetRendererFactoryClasses() {
547 return _assetRendererFactoryClasses;
548 }
549
550
555 @Override
556 public List<AssetRendererFactory> getAssetRendererFactoryInstances() {
557 if (_assetRendererFactoryClasses.isEmpty()) {
558 return null;
559 }
560
561 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
562
563 return portletBag.getAssetRendererFactoryInstances();
564 }
565
566
573 @Override
574 public List<String> getAtomCollectionAdapterClasses() {
575 return _atomCollectionAdapterClasses;
576 }
577
578
583 @Override
584 public List<AtomCollectionAdapter<?>> getAtomCollectionAdapterInstances() {
585 if (_atomCollectionAdapterClasses.isEmpty()) {
586 return null;
587 }
588
589 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
590
591 return portletBag.getAtomCollectionAdapterInstances();
592 }
593
594
601 @Override
602 public Set<String> getAutopropagatedParameters() {
603 return _autopropagatedParameters;
604 }
605
606
612 @Override
613 public Portlet getClonedInstance(String portletId) {
614 Portlet portlet = (Portlet)clone();
615
616 portlet.setPortletId(portletId);
617
618 return portlet;
619 }
620
621
626 @Override
627 public String getConfigurationActionClass() {
628 return _configurationActionClass;
629 }
630
631
636 @Override
637 public ConfigurationAction getConfigurationActionInstance() {
638 if (Validator.isNull(getConfigurationActionClass())) {
639 return null;
640 }
641
642 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
643
644 return portletBag.getConfigurationActionInstance();
645 }
646
647
652 @Override
653 public String getContextPath() {
654 if (!_portletApp.isWARFile()) {
655 return PortalUtil.getPathContext();
656 }
657
658 String servletContextName = _portletApp.getServletContextName();
659
660 if (ServletContextPool.containsKey(servletContextName)) {
661 ServletContext servletContext = ServletContextPool.get(
662 servletContextName);
663
664 return ContextPathUtil.getContextPath(servletContext);
665 }
666
667 return StringPool.SLASH.concat(servletContextName);
668 }
669
670
677 @Override
678 public String getControlPanelEntryCategory() {
679 return _controlPanelEntryCategory;
680 }
681
682
689 @Override
690 public String getControlPanelEntryClass() {
691 return _controlPanelEntryClass;
692 }
693
694
701 @Override
702 public ControlPanelEntry getControlPanelEntryInstance() {
703 if (Validator.isNull(getControlPanelEntryClass())) {
704 return DefaultControlPanelEntryFactory.getInstance();
705 }
706
707 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
708
709 return portletBag.getControlPanelEntryInstance();
710 }
711
712
719 @Override
720 public double getControlPanelEntryWeight() {
721 return _controlPanelEntryWeight;
722 }
723
724
731 @Override
732 public String getCssClassWrapper() {
733 return _cssClassWrapper;
734 }
735
736
743 @Override
744 public List<String> getCustomAttributesDisplayClasses() {
745 return _customAttributesDisplayClasses;
746 }
747
748
753 @Override
754 public List<CustomAttributesDisplay> getCustomAttributesDisplayInstances() {
755 if (_customAttributesDisplayClasses.isEmpty()) {
756 return null;
757 }
758
759 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
760
761 return portletBag.getCustomAttributesDisplayInstances();
762 }
763
764
770 @Override
771 public String getDDMDisplayClass() {
772 return _ddmDisplayClass;
773 }
774
775
780 @Override
781 public PluginSetting getDefaultPluginSetting() {
782 return _defaultPluginSetting;
783 }
784
785
790 @Override
791 public String getDefaultPreferences() {
792 if (Validator.isNull(_defaultPreferences)) {
793 return PortletConstants.DEFAULT_PREFERENCES;
794 }
795 else {
796 return _defaultPreferences;
797 }
798 }
799
800
805 @Override
806 public String getDisplayName() {
807 return _displayName;
808 }
809
810
815 @Override
816 public Integer getExpCache() {
817 return _expCache;
818 }
819
820
825 @Override
826 public String getFacebookIntegration() {
827 return _facebookIntegration;
828 }
829
830
837 @Override
838 public List<String> getFooterPortalCss() {
839 return _footerPortalCss;
840 }
841
842
849 @Override
850 public List<String> getFooterPortalJavaScript() {
851 return _footerPortalJavaScript;
852 }
853
854
861 @Override
862 public List<String> getFooterPortletCss() {
863 return _footerPortletCss;
864 }
865
866
873 @Override
874 public List<String> getFooterPortletJavaScript() {
875 return _footerPortletJavaScript;
876 }
877
878
883 @Override
884 public String getFriendlyURLMapperClass() {
885 return _friendlyURLMapperClass;
886 }
887
888
893 @Override
894 public FriendlyURLMapper getFriendlyURLMapperInstance() {
895 if (Validator.isNull(getFriendlyURLMapperClass())) {
896 return null;
897 }
898
899 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
900
901 return portletBag.getFriendlyURLMapperInstance();
902 }
903
904
909 @Override
910 public String getFriendlyURLMapping() {
911 return _friendlyURLMapping;
912 }
913
914
921 @Override
922 public String getFriendlyURLRoutes() {
923 return _friendlyURLRoutes;
924 }
925
926
933 @Override
934 public List<String> getHeaderPortalCss() {
935 return _headerPortalCss;
936 }
937
938
945 @Override
946 public List<String> getHeaderPortalJavaScript() {
947 return _headerPortalJavaScript;
948 }
949
950
957 @Override
958 public List<String> getHeaderPortletCss() {
959 return _headerPortletCss;
960 }
961
962
969 @Override
970 public List<String> getHeaderPortletJavaScript() {
971 return _headerPortletJavaScript;
972 }
973
974
979 @Override
980 public String getIcon() {
981 return _icon;
982 }
983
984
991 @Override
992 public boolean getInclude() {
993 return _include;
994 }
995
996
1003 @Override
1004 public List<String> getIndexerClasses() {
1005 return _indexerClasses;
1006 }
1007
1008
1013 @Override
1014 public List<Indexer> getIndexerInstances() {
1015 if (_indexerClasses.isEmpty() &&
1016 !_portletClass.equals(AlloyPortlet.class.getName())) {
1017
1018 return Collections.emptyList();
1019 }
1020
1021 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1022
1023 return portletBag.getIndexerInstances();
1024 }
1025
1026
1031 @Override
1032 public Map<String, String> getInitParams() {
1033 return _initParams;
1034 }
1035
1036
1043 @Override
1044 public boolean getInstanceable() {
1045 return _instanceable;
1046 }
1047
1048
1053 @Override
1054 public String getInstanceId() {
1055 return PortletConstants.getInstanceId(getPortletId());
1056 }
1057
1058
1064 @Override
1065 public boolean getLayoutCacheable() {
1066 return _layoutCacheable;
1067 }
1068
1069
1076 @Override
1077 public boolean getMaximizeEdit() {
1078 return _maximizeEdit;
1079 }
1080
1081
1088 @Override
1089 public boolean getMaximizeHelp() {
1090 return _maximizeHelp;
1091 }
1092
1093
1098 @Override
1099 public String getOpenSearchClass() {
1100 return _openSearchClass;
1101 }
1102
1103
1108 @Override
1109 public OpenSearch getOpenSearchInstance() {
1110 if (Validator.isNull(getOpenSearchClass())) {
1111 return null;
1112 }
1113
1114 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1115
1116 return portletBag.getOpenSearchInstance();
1117 }
1118
1119
1124 @Override
1125 public String getParentStrutsPath() {
1126 return _parentStrutsPath;
1127 }
1128
1129
1134 @Override
1135 public String getPermissionPropagatorClass() {
1136 return _permissionPropagatorClass;
1137 }
1138
1139
1144 @Override
1145 public PermissionPropagator getPermissionPropagatorInstance() {
1146 if (Validator.isNull(getPermissionPropagatorClass())) {
1147 return null;
1148 }
1149
1150 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1151
1152 return portletBag.getPermissionPropagatorInstance();
1153 }
1154
1155
1160 @Override
1161 public String getPluginId() {
1162 return getRootPortletId();
1163 }
1164
1165
1170 @Override
1171 public PluginPackage getPluginPackage() {
1172 return _pluginPackage;
1173 }
1174
1175
1180 @Override
1181 public String getPluginType() {
1182 return Plugin.TYPE_PORTLET;
1183 }
1184
1185
1190 @Override
1191 public String getPollerProcessorClass() {
1192 return _pollerProcessorClass;
1193 }
1194
1195
1200 @Override
1201 public PollerProcessor getPollerProcessorInstance() {
1202 if (Validator.isNull(getPollerProcessorClass())) {
1203 return null;
1204 }
1205
1206 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1207
1208 return portletBag.getPollerProcessorInstance();
1209 }
1210
1211
1216 @Override
1217 public String getPopMessageListenerClass() {
1218 return _popMessageListenerClass;
1219 }
1220
1221
1226 @Override
1227 public MessageListener getPopMessageListenerInstance() {
1228 if (Validator.isNull(getPopMessageListenerClass())) {
1229 return null;
1230 }
1231
1232 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1233
1234 return portletBag.getPopMessageListenerInstance();
1235 }
1236
1237
1244 @Override
1245 public boolean getPopUpPrint() {
1246 return _popUpPrint;
1247 }
1248
1249
1254 @Override
1255 public PortletApp getPortletApp() {
1256 return _portletApp;
1257 }
1258
1259
1264 @Override
1265 public String getPortletClass() {
1266 return _portletClass;
1267 }
1268
1269
1274 @Override
1275 public String getPortletDataHandlerClass() {
1276 return _portletDataHandlerClass;
1277 }
1278
1279
1284 @Override
1285 public PortletDataHandler getPortletDataHandlerInstance() {
1286 if (Validator.isNull(getPortletDataHandlerClass())) {
1287 return null;
1288 }
1289
1290 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1291
1292 return portletBag.getPortletDataHandlerInstance();
1293 }
1294
1295
1300 @Override
1301 public Map<String, PortletFilter> getPortletFilters() {
1302 return _portletFilters;
1303 }
1304
1305
1310 @Override
1311 public PortletInfo getPortletInfo() {
1312 return _portletInfo;
1313 }
1314
1315
1320 @Override
1321 public String getPortletLayoutListenerClass() {
1322 return _portletLayoutListenerClass;
1323 }
1324
1325
1330 @Override
1331 public PortletLayoutListener getPortletLayoutListenerInstance() {
1332 if (Validator.isNull(getPortletLayoutListenerClass())) {
1333 return null;
1334 }
1335
1336 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1337
1338 return portletBag.getPortletLayoutListenerInstance();
1339 }
1340
1341
1346 @Override
1347 public Map<String, Set<String>> getPortletModes() {
1348 return _portletModes;
1349 }
1350
1351
1356 @Override
1357 public String getPortletName() {
1358 return _portletName;
1359 }
1360
1361
1366 @Override
1367 public String getPortletURLClass() {
1368 return _portletURLClass;
1369 }
1370
1371
1378 @Override
1379 public boolean getPreferencesCompanyWide() {
1380 return _preferencesCompanyWide;
1381 }
1382
1383
1392 @Override
1393 public boolean getPreferencesOwnedByGroup() {
1394 return _preferencesOwnedByGroup;
1395 }
1396
1397
1402 @Override
1403 public boolean getPreferencesUniquePerLayout() {
1404 return _preferencesUniquePerLayout;
1405 }
1406
1407
1412 @Override
1413 public String getPreferencesValidator() {
1414 return _preferencesValidator;
1415 }
1416
1417
1424 @Override
1425 public boolean getPrivateRequestAttributes() {
1426 return _privateRequestAttributes;
1427 }
1428
1429
1436 @Override
1437 public boolean getPrivateSessionAttributes() {
1438 return _privateSessionAttributes;
1439 }
1440
1441
1450 @Override
1451 public QName getProcessingEvent(String uri, String localPart) {
1452 return _processingEventsByQName.get(
1453 PortletQNameUtil.getKey(uri, localPart));
1454 }
1455
1456
1461 @Override
1462 public Set<QName> getProcessingEvents() {
1463 return _processingEvents;
1464 }
1465
1466
1472 @Override
1473 public PublicRenderParameter getPublicRenderParameter(String identifier) {
1474 return _publicRenderParametersByIdentifier.get(identifier);
1475 }
1476
1477
1486 @Override
1487 public PublicRenderParameter getPublicRenderParameter(
1488 String uri, String localPart) {
1489
1490 return _publicRenderParametersByQName.get(
1491 PortletQNameUtil.getKey(uri, localPart));
1492 }
1493
1494
1499 @Override
1500 public Set<PublicRenderParameter> getPublicRenderParameters() {
1501 return _publicRenderParameters;
1502 }
1503
1504
1509 @Override
1510 public Set<QName> getPublishingEvents() {
1511 return _publishingEvents;
1512 }
1513
1514
1519 @Override
1520 public boolean getReady() {
1521 return isReady();
1522 }
1523
1524
1529 @Override
1530 public boolean getRemoteable() {
1531 return _remoteable;
1532 }
1533
1534
1539 @Override
1540 public int getRenderTimeout() {
1541 return _renderTimeout;
1542 }
1543
1544
1549 @Override
1550 public int getRenderWeight() {
1551 return _renderWeight;
1552 }
1553
1554
1559 @Override
1560 public String getResourceBundle() {
1561 return _resourceBundle;
1562 }
1563
1564
1571 @Override
1572 public boolean getRestoreCurrentView() {
1573 return _restoreCurrentView;
1574 }
1575
1576
1581 @Override
1582 public Map<String, String> getRoleMappers() {
1583 return _roleMappers;
1584 }
1585
1586
1591 @Override
1592 public String[] getRolesArray() {
1593 return _rolesArray;
1594 }
1595
1596
1601 @Override
1602 public Portlet getRootPortlet() {
1603 return _rootPortlet;
1604 }
1605
1606
1611 @Override
1612 public String getRootPortletId() {
1613 return PortletConstants.getRootPortletId(getPortletId());
1614 }
1615
1616
1621 @Override
1622 public List<SchedulerEntry> getSchedulerEntries() {
1623 return _schedulerEntries;
1624 }
1625
1626
1631 @Override
1632 public boolean getScopeable() {
1633 return _scopeable;
1634 }
1635
1636
1643 @Override
1644 public boolean getShowPortletAccessDenied() {
1645 return _showPortletAccessDenied;
1646 }
1647
1648
1654 @Override
1655 public boolean getShowPortletInactive() {
1656 return _showPortletInactive;
1657 }
1658
1659
1666 @Override
1667 public List<String> getSocialActivityInterpreterClasses() {
1668 return _socialActivityInterpreterClasses;
1669 }
1670
1671
1676 @Override
1677 public List<SocialActivityInterpreter>
1678 getSocialActivityInterpreterInstances() {
1679
1680 if (_socialActivityInterpreterClasses.isEmpty()) {
1681 return null;
1682 }
1683
1684 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1685
1686 return portletBag.getSocialActivityInterpreterInstances();
1687 }
1688
1689
1694 @Override
1695 public String getSocialRequestInterpreterClass() {
1696 return _socialRequestInterpreterClass;
1697 }
1698
1699
1706 @Override
1707 public SocialRequestInterpreter getSocialRequestInterpreterInstance() {
1708 if (Validator.isNull(getSocialRequestInterpreterClass())) {
1709 return null;
1710 }
1711
1712 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1713
1714 return portletBag.getSocialRequestInterpreterInstance();
1715 }
1716
1717
1724 @Override
1725 public List<String> getStagedModelDataHandlerClasses() {
1726 return _stagedModelDataHandlerClasses;
1727 }
1728
1729
1734 @Override
1735 public List<StagedModelDataHandler<?>>
1736 getStagedModelDataHandlerInstances() {
1737
1738 if (_stagedModelDataHandlerClasses.isEmpty()) {
1739 return null;
1740 }
1741
1742 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1743
1744 return portletBag.getStagedModelDataHandlerInstances();
1745 }
1746
1747
1754 @Override
1755 public boolean getStatic() {
1756 return _staticPortlet;
1757 }
1758
1759
1766 @Override
1767 public boolean getStaticEnd() {
1768 return !_staticPortletStart;
1769 }
1770
1771
1776 @Override
1777 public String getStaticResourcePath() {
1778 String proxyPath = PortalUtil.getPathProxy();
1779
1780 String virtualPath = getVirtualPath();
1781
1782 if (Validator.isNotNull(virtualPath)) {
1783 return proxyPath.concat(virtualPath);
1784 }
1785
1786 String contextPath = getContextPath();
1787
1788 if (!_portletApp.isWARFile()) {
1789 return contextPath;
1790 }
1791
1792 return proxyPath.concat(contextPath);
1793 }
1794
1795
1802 @Override
1803 public boolean getStaticStart() {
1804 return _staticPortletStart;
1805 }
1806
1807
1812 @Override
1813 public String getStrutsPath() {
1814 return _strutsPath;
1815 }
1816
1817
1822 @Override
1823 public Set<String> getSupportedLocales() {
1824 return _supportedLocales;
1825 }
1826
1827
1834 @Override
1835 public boolean getSystem() {
1836 return _system;
1837 }
1838
1839
1844 @Override
1845 public String getTemplateHandlerClass() {
1846 return _templateHandlerClass;
1847 }
1848
1849
1854 @Override
1855 public TemplateHandler getTemplateHandlerInstance() {
1856 if (Validator.isNull(getTemplateHandlerClass())) {
1857 return null;
1858 }
1859
1860 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1861
1862 return portletBag.getTemplateHandlerInstance();
1863 }
1864
1865
1870 @Override
1871 public long getTimestamp() {
1872 return _timestamp;
1873 }
1874
1875
1882 @Override
1883 public List<String> getTrashHandlerClasses() {
1884 return _trashHandlerClasses;
1885 }
1886
1887
1892 @Override
1893 public List<TrashHandler> getTrashHandlerInstances() {
1894 if (_trashHandlerClasses.isEmpty()) {
1895 return null;
1896 }
1897
1898 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1899
1900 return portletBag.getTrashHandlerInstances();
1901 }
1902
1903
1909 @Override
1910 public boolean getUndeployedPortlet() {
1911 return _undeployedPortlet;
1912 }
1913
1914
1919 @Override
1920 public Set<String> getUnlinkedRoles() {
1921 return _unlinkedRoles;
1922 }
1923
1924
1929 @Override
1930 public String getURLEncoderClass() {
1931 return _urlEncoderClass;
1932 }
1933
1934
1939 @Override
1940 public URLEncoder getURLEncoderInstance() {
1941 if (Validator.isNull(getURLEncoderClass())) {
1942 return null;
1943 }
1944
1945 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1946
1947 return portletBag.getURLEncoderInstance();
1948 }
1949
1950
1955 @Override
1956 public boolean getUseDefaultTemplate() {
1957 return _useDefaultTemplate;
1958 }
1959
1960
1966 @Override
1967 public long getUserId() {
1968 return PortletConstants.getUserId(getPortletId());
1969 }
1970
1971
1978 @Override
1979 public String getUserNotificationDefinitions() {
1980 return _userNotificationDefinitions;
1981 }
1982
1983
1990 @Override
1991 public List<String> getUserNotificationHandlerClasses() {
1992 return _userNotificationHandlerClasses;
1993 }
1994
1995
2000 @Override
2001 public List<UserNotificationHandler>
2002 getUserNotificationHandlerInstances() {
2003
2004 if (_userNotificationHandlerClasses.isEmpty()) {
2005 return null;
2006 }
2007
2008 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2009
2010 return portletBag.getUserNotificationHandlerInstances();
2011 }
2012
2013
2018 @Override
2019 public String getUserPrincipalStrategy() {
2020 return _userPrincipalStrategy;
2021 }
2022
2023
2028 @Override
2029 public String getVirtualPath() {
2030 return _virtualPath;
2031 }
2032
2033
2038 @Override
2039 public String getWebDAVStorageClass() {
2040 return _webDAVStorageClass;
2041 }
2042
2043
2048 @Override
2049 public WebDAVStorage getWebDAVStorageInstance() {
2050 if (Validator.isNull(getWebDAVStorageClass())) {
2051 return null;
2052 }
2053
2054 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2055
2056 return portletBag.getWebDAVStorageInstance();
2057 }
2058
2059
2064 @Override
2065 public String getWebDAVStorageToken() {
2066 return _webDAVStorageToken;
2067 }
2068
2069
2074 @Override
2075 public Map<String, Set<String>> getWindowStates() {
2076 return _windowStates;
2077 }
2078
2079
2086 @Override
2087 public List<String> getWorkflowHandlerClasses() {
2088 return _workflowHandlerClasses;
2089 }
2090
2091
2096 @Override
2097 public List<WorkflowHandler> getWorkflowHandlerInstances() {
2098 if (_workflowHandlerClasses.isEmpty()) {
2099 return null;
2100 }
2101
2102 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2103
2104 return portletBag.getWorkflowHandlerInstances();
2105 }
2106
2107
2112 @Override
2113 public String getXmlRpcMethodClass() {
2114 return _xmlRpcMethodClass;
2115 }
2116
2117
2122 @Override
2123 public Method getXmlRpcMethodInstance() {
2124 if (Validator.isNull(getXmlRpcMethodClass())) {
2125 return null;
2126 }
2127
2128 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2129
2130 return portletBag.getXmlRpcMethodInstance();
2131 }
2132
2133
2141 @Override
2142 public boolean hasAddPortletPermission(long userId) {
2143 PermissionChecker permissionChecker =
2144 PermissionThreadLocal.getPermissionChecker();
2145
2146 try {
2147 if ((permissionChecker == null) ||
2148 (permissionChecker.getUserId() != userId)) {
2149
2150 User user = UserLocalServiceUtil.getUser(userId);
2151
2152 permissionChecker = PermissionCheckerFactoryUtil.create(user);
2153 }
2154
2155 if (PortletPermissionUtil.contains(
2156 permissionChecker, getRootPortletId(),
2157 ActionKeys.ADD_TO_PAGE)) {
2158
2159 return true;
2160 }
2161 }
2162 catch (Exception e) {
2163 _log.error(e, e);
2164 }
2165
2166 return false;
2167 }
2168
2169
2175 @Override
2176 public boolean hasMultipleMimeTypes() {
2177 if (_portletModes.size() > 1) {
2178 return true;
2179 }
2180 else {
2181 return false;
2182 }
2183 }
2184
2185
2194 @Override
2195 public boolean hasPortletMode(String mimeType, PortletMode portletMode) {
2196 if (mimeType == null) {
2197 mimeType = ContentTypes.TEXT_HTML;
2198 }
2199
2200 Set<String> mimeTypePortletModes = _portletModes.get(mimeType);
2201
2202 if (mimeTypePortletModes == null) {
2203 return false;
2204 }
2205
2206 if (mimeTypePortletModes.contains(portletMode.toString())) {
2207 return true;
2208 }
2209 else {
2210 return false;
2211 }
2212 }
2213
2214
2222 @Override
2223 public boolean hasRoleWithName(String roleName) {
2224 if (ArrayUtil.isEmpty(_rolesArray)) {
2225 return false;
2226 }
2227
2228 for (int i = 0; i < _rolesArray.length; i++) {
2229 if (_rolesArray[i].equalsIgnoreCase(roleName)) {
2230 return true;
2231 }
2232 }
2233
2234 return false;
2235 }
2236
2237
2246 @Override
2247 public boolean hasWindowState(String mimeType, WindowState windowState) {
2248 if (mimeType == null) {
2249 mimeType = ContentTypes.TEXT_HTML;
2250 }
2251
2252 Set<String> mimeTypeWindowStates = _windowStates.get(mimeType);
2253
2254 if (mimeTypeWindowStates == null) {
2255 return false;
2256 }
2257
2258 if (mimeTypeWindowStates.contains(windowState.toString())) {
2259 return true;
2260 }
2261 else {
2262 return false;
2263 }
2264 }
2265
2266
2273 @Override
2274 public boolean isActionURLRedirect() {
2275 return _actionURLRedirect;
2276 }
2277
2278
2285 @Override
2286 public boolean isAddDefaultResource() {
2287 return _addDefaultResource;
2288 }
2289
2290
2295 @Override
2296 public boolean isAjaxable() {
2297 return _ajaxable;
2298 }
2299
2300
2307 @Override
2308 public boolean isInclude() {
2309 return _include;
2310 }
2311
2312
2319 @Override
2320 public boolean isInstanceable() {
2321 return _instanceable;
2322 }
2323
2324
2330 @Override
2331 public boolean isLayoutCacheable() {
2332 return _layoutCacheable;
2333 }
2334
2335
2342 @Override
2343 public boolean isMaximizeEdit() {
2344 return _maximizeEdit;
2345 }
2346
2347
2354 @Override
2355 public boolean isMaximizeHelp() {
2356 return _maximizeHelp;
2357 }
2358
2359
2366 @Override
2367 public boolean isPopUpPrint() {
2368 return _popUpPrint;
2369 }
2370
2371
2378 @Override
2379 public boolean isPreferencesCompanyWide() {
2380 return _preferencesCompanyWide;
2381 }
2382
2383
2392 @Override
2393 public boolean isPreferencesOwnedByGroup() {
2394 return _preferencesOwnedByGroup;
2395 }
2396
2397
2402 @Override
2403 public boolean isPreferencesUniquePerLayout() {
2404 return _preferencesUniquePerLayout;
2405 }
2406
2407
2414 @Override
2415 public boolean isPrivateRequestAttributes() {
2416 return _privateRequestAttributes;
2417 }
2418
2419
2426 @Override
2427 public boolean isPrivateSessionAttributes() {
2428 return _privateSessionAttributes;
2429 }
2430
2431
2436 @Override
2437 public boolean isReady() {
2438 Boolean ready = _readyMap.get(getRootPortletId());
2439
2440 if (ready == null) {
2441 return true;
2442 }
2443 else {
2444 return ready;
2445 }
2446 }
2447
2448
2453 @Override
2454 public boolean isRemoteable() {
2455 return _remoteable;
2456 }
2457
2458
2465 @Override
2466 public boolean isRequiresNamespacedParameters() {
2467 return _requiresNamespacedParameters;
2468 }
2469
2470
2477 @Override
2478 public boolean isRestoreCurrentView() {
2479 return _restoreCurrentView;
2480 }
2481
2482
2487 @Override
2488 public boolean isScopeable() {
2489 return _scopeable;
2490 }
2491
2492
2499 @Override
2500 public boolean isShowPortletAccessDenied() {
2501 return _showPortletAccessDenied;
2502 }
2503
2504
2510 @Override
2511 public boolean isShowPortletInactive() {
2512 return _showPortletInactive;
2513 }
2514
2515
2522 @Override
2523 public boolean isStatic() {
2524 return _staticPortlet;
2525 }
2526
2527
2534 @Override
2535 public boolean isStaticEnd() {
2536 return !_staticPortletStart;
2537 }
2538
2539
2546 @Override
2547 public boolean isStaticStart() {
2548 return _staticPortletStart;
2549 }
2550
2551
2558 @Override
2559 public boolean isSystem() {
2560 return _system;
2561 }
2562
2563
2569 @Override
2570 public boolean isUndeployedPortlet() {
2571 return _undeployedPortlet;
2572 }
2573
2574
2579 @Override
2580 public boolean isUseDefaultTemplate() {
2581 return _useDefaultTemplate;
2582 }
2583
2584
2588 @Override
2589 public void linkRoles() {
2590 List<String> linkedRoles = new ArrayList<String>();
2591
2592 for (String unlinkedRole : _unlinkedRoles) {
2593 String roleLink = _roleMappers.get(unlinkedRole);
2594
2595 if (Validator.isNotNull(roleLink)) {
2596 if (_log.isDebugEnabled()) {
2597 _log.debug(
2598 "Linking role for portlet [" + getPortletId() +
2599 "] with role-name [" + unlinkedRole +
2600 "] to role-link [" + roleLink + "]");
2601 }
2602
2603 linkedRoles.add(roleLink);
2604 }
2605 else {
2606 _log.error(
2607 "Unable to link role for portlet [" + getPortletId() +
2608 "] with role-name [" + unlinkedRole +
2609 "] because role-link is null");
2610 }
2611 }
2612
2613 String[] array = linkedRoles.toArray(new String[linkedRoles.size()]);
2614
2615 Arrays.sort(array);
2616
2617 setRolesArray(array);
2618 }
2619
2620
2625 @Override
2626 public void setActionTimeout(int actionTimeout) {
2627 _actionTimeout = actionTimeout;
2628 }
2629
2630
2637 @Override
2638 public void setActionURLRedirect(boolean actionURLRedirect) {
2639 _actionURLRedirect = actionURLRedirect;
2640 }
2641
2642
2649 @Override
2650 public void setAddDefaultResource(boolean addDefaultResource) {
2651 _addDefaultResource = addDefaultResource;
2652 }
2653
2654
2660 @Override
2661 public void setAjaxable(boolean ajaxable) {
2662 _ajaxable = ajaxable;
2663 }
2664
2665
2672 @Override
2673 public void setAssetRendererFactoryClasses(
2674 List<String> assetRendererFactoryClasses) {
2675
2676 _assetRendererFactoryClasses = assetRendererFactoryClasses;
2677 }
2678
2679
2686 @Override
2687 public void setAtomCollectionAdapterClasses(
2688 List<String> atomCollectionAdapterClasses) {
2689
2690 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
2691 }
2692
2693
2700 @Override
2701 public void setAutopropagatedParameters(
2702 Set<String> autopropagatedParameters) {
2703
2704 _autopropagatedParameters = autopropagatedParameters;
2705 }
2706
2707
2713 @Override
2714 public void setConfigurationActionClass(String configurationActionClass) {
2715 _configurationActionClass = configurationActionClass;
2716 }
2717
2718
2725 @Override
2726 public void setControlPanelEntryCategory(String controlPanelEntryCategory) {
2727 _controlPanelEntryCategory = controlPanelEntryCategory;
2728 }
2729
2730
2737 @Override
2738 public void setControlPanelEntryClass(String controlPanelEntryClass) {
2739 _controlPanelEntryClass = controlPanelEntryClass;
2740 }
2741
2742
2750 @Override
2751 public void setControlPanelEntryWeight(double controlPanelEntryWeight) {
2752 _controlPanelEntryWeight = controlPanelEntryWeight;
2753 }
2754
2755
2762 @Override
2763 public void setCssClassWrapper(String cssClassWrapper) {
2764 _cssClassWrapper = cssClassWrapper;
2765 }
2766
2767
2774 @Override
2775 public void setCustomAttributesDisplayClasses(
2776 List<String> customAttributesDisplayClasses) {
2777
2778 _customAttributesDisplayClasses = customAttributesDisplayClasses;
2779 }
2780
2781
2787 @Override
2788 public void setDDMDisplayClass(String ddmDisplayClass) {
2789 _ddmDisplayClass = ddmDisplayClass;
2790 }
2791
2792
2797 @Override
2798 public void setDefaultPluginSetting(PluginSetting pluginSetting) {
2799 _defaultPluginSetting = pluginSetting;
2800 }
2801
2802
2807 @Override
2808 public void setDefaultPreferences(String defaultPreferences) {
2809 _defaultPreferences = defaultPreferences;
2810 }
2811
2812
2817 @Override
2818 public void setDisplayName(String displayName) {
2819 _displayName = displayName;
2820 }
2821
2822
2827 @Override
2828 public void setExpCache(Integer expCache) {
2829 _expCache = expCache;
2830 }
2831
2832
2837 @Override
2838 public void setFacebookIntegration(String facebookIntegration) {
2839 if (Validator.isNotNull(facebookIntegration)) {
2840 _facebookIntegration = facebookIntegration;
2841 }
2842 }
2843
2844
2851 @Override
2852 public void setFooterPortalCss(List<String> footerPortalCss) {
2853 _footerPortalCss = footerPortalCss;
2854 }
2855
2856
2864 @Override
2865 public void setFooterPortalJavaScript(List<String> footerPortalJavaScript) {
2866 _footerPortalJavaScript = footerPortalJavaScript;
2867 }
2868
2869
2876 @Override
2877 public void setFooterPortletCss(List<String> footerPortletCss) {
2878 _footerPortletCss = footerPortletCss;
2879 }
2880
2881
2889 @Override
2890 public void setFooterPortletJavaScript(
2891 List<String> footerPortletJavaScript) {
2892
2893 _footerPortletJavaScript = footerPortletJavaScript;
2894 }
2895
2896
2902 @Override
2903 public void setFriendlyURLMapperClass(String friendlyURLMapperClass) {
2904 _friendlyURLMapperClass = friendlyURLMapperClass;
2905 }
2906
2907
2913 @Override
2914 public void setFriendlyURLMapping(String friendlyURLMapping) {
2915 _friendlyURLMapping = friendlyURLMapping;
2916 }
2917
2918
2925 @Override
2926 public void setFriendlyURLRoutes(String friendlyURLRoutes) {
2927 _friendlyURLRoutes = friendlyURLRoutes;
2928 }
2929
2930
2937 @Override
2938 public void setHeaderPortalCss(List<String> headerPortalCss) {
2939 _headerPortalCss = headerPortalCss;
2940 }
2941
2942
2950 @Override
2951 public void setHeaderPortalJavaScript(List<String> headerPortalJavaScript) {
2952 _headerPortalJavaScript = headerPortalJavaScript;
2953 }
2954
2955
2962 @Override
2963 public void setHeaderPortletCss(List<String> headerPortletCss) {
2964 _headerPortletCss = headerPortletCss;
2965 }
2966
2967
2975 @Override
2976 public void setHeaderPortletJavaScript(
2977 List<String> headerPortletJavaScript) {
2978
2979 _headerPortletJavaScript = headerPortletJavaScript;
2980 }
2981
2982
2987 @Override
2988 public void setIcon(String icon) {
2989 _icon = icon;
2990 }
2991
2992
2999 @Override
3000 public void setInclude(boolean include) {
3001 _include = include;
3002 }
3003
3004
3011 @Override
3012 public void setIndexerClasses(List<String> indexerClasses) {
3013 _indexerClasses = indexerClasses;
3014 }
3015
3016
3021 @Override
3022 public void setInitParams(Map<String, String> initParams) {
3023 _initParams = initParams;
3024 }
3025
3026
3033 @Override
3034 public void setInstanceable(boolean instanceable) {
3035 _instanceable = instanceable;
3036 }
3037
3038
3045 @Override
3046 public void setLayoutCacheable(boolean layoutCacheable) {
3047 _layoutCacheable = layoutCacheable;
3048 }
3049
3050
3057 @Override
3058 public void setMaximizeEdit(boolean maximizeEdit) {
3059 _maximizeEdit = maximizeEdit;
3060 }
3061
3062
3069 @Override
3070 public void setMaximizeHelp(boolean maximizeHelp) {
3071 _maximizeHelp = maximizeHelp;
3072 }
3073
3074
3079 @Override
3080 public void setOpenSearchClass(String openSearchClass) {
3081 _openSearchClass = openSearchClass;
3082 }
3083
3084
3089 @Override
3090 public void setParentStrutsPath(String parentStrutsPath) {
3091 _parentStrutsPath = parentStrutsPath;
3092 }
3093
3094
3097 @Override
3098 public void setPermissionPropagatorClass(String permissionPropagatorClass) {
3099 _permissionPropagatorClass = permissionPropagatorClass;
3100 }
3101
3102
3107 @Override
3108 public void setPluginPackage(PluginPackage pluginPackage) {
3109 _pluginPackage = pluginPackage;
3110 }
3111
3112
3118 @Override
3119 public void setPollerProcessorClass(String pollerProcessorClass) {
3120 _pollerProcessorClass = pollerProcessorClass;
3121 }
3122
3123
3129 @Override
3130 public void setPopMessageListenerClass(String popMessageListenerClass) {
3131 _popMessageListenerClass = popMessageListenerClass;
3132 }
3133
3134
3141 @Override
3142 public void setPopUpPrint(boolean popUpPrint) {
3143 _popUpPrint = popUpPrint;
3144 }
3145
3146
3151 @Override
3152 public void setPortletApp(PortletApp portletApp) {
3153 _portletApp = portletApp;
3154
3155 _portletApp.addPortlet(this);
3156 }
3157
3158
3163 @Override
3164 public void setPortletClass(String portletClass) {
3165 _portletClass = portletClass;
3166 }
3167
3168
3174 @Override
3175 public void setPortletDataHandlerClass(String portletDataHandlerClass) {
3176 _portletDataHandlerClass = portletDataHandlerClass;
3177 }
3178
3179
3184 @Override
3185 public void setPortletFilters(Map<String, PortletFilter> portletFilters) {
3186 _portletFilters = portletFilters;
3187 }
3188
3189
3194 @Override
3195 public void setPortletInfo(PortletInfo portletInfo) {
3196 _portletInfo = portletInfo;
3197 }
3198
3199
3205 @Override
3206 public void setPortletLayoutListenerClass(
3207 String portletLayoutListenerClass) {
3208
3209 _portletLayoutListenerClass = portletLayoutListenerClass;
3210 }
3211
3212
3217 @Override
3218 public void setPortletModes(Map<String, Set<String>> portletModes) {
3219 _portletModes = portletModes;
3220 }
3221
3222
3227 @Override
3228 public void setPortletName(String portletName) {
3229 _portletName = portletName;
3230 }
3231
3232
3237 @Override
3238 public void setPortletURLClass(String portletURLClass) {
3239 _portletURLClass = portletURLClass;
3240 }
3241
3242
3249 @Override
3250 public void setPreferencesCompanyWide(boolean preferencesCompanyWide) {
3251 _preferencesCompanyWide = preferencesCompanyWide;
3252 }
3253
3254
3263 @Override
3264 public void setPreferencesOwnedByGroup(boolean preferencesOwnedByGroup) {
3265 _preferencesOwnedByGroup = preferencesOwnedByGroup;
3266 }
3267
3268
3274 @Override
3275 public void setPreferencesUniquePerLayout(
3276 boolean preferencesUniquePerLayout) {
3277
3278 _preferencesUniquePerLayout = preferencesUniquePerLayout;
3279 }
3280
3281
3287 @Override
3288 public void setPreferencesValidator(String preferencesValidator) {
3289 if (preferencesValidator != null) {
3290
3291
3292
3293
3294 _preferencesValidator = preferencesValidator.trim();
3295 }
3296 else {
3297 _preferencesValidator = null;
3298 }
3299 }
3300
3301
3309 @Override
3310 public void setPrivateRequestAttributes(boolean privateRequestAttributes) {
3311 _privateRequestAttributes = privateRequestAttributes;
3312 }
3313
3314
3321 @Override
3322 public void setPrivateSessionAttributes(boolean privateSessionAttributes) {
3323 _privateSessionAttributes = privateSessionAttributes;
3324 }
3325
3326
3331 @Override
3332 public void setProcessingEvents(Set<QName> processingEvents) {
3333 for (QName processingEvent : processingEvents) {
3334 addProcessingEvent(processingEvent);
3335 }
3336 }
3337
3338
3344 @Override
3345 public void setPublicRenderParameters(
3346 Set<PublicRenderParameter> publicRenderParameters) {
3347
3348 for (PublicRenderParameter publicRenderParameter :
3349 publicRenderParameters) {
3350
3351 addPublicRenderParameter(publicRenderParameter);
3352 }
3353 }
3354
3355
3360 @Override
3361 public void setPublishingEvents(Set<QName> publishingEvents) {
3362 for (QName publishingEvent : publishingEvents) {
3363 addPublishingEvent(publishingEvent);
3364 }
3365 }
3366
3367
3372 @Override
3373 public void setReady(boolean ready) {
3374 _readyMap.put(getRootPortletId(), ready);
3375 }
3376
3377
3383 @Override
3384 public void setRemoteable(boolean remoteable) {
3385 _remoteable = remoteable;
3386 }
3387
3388
3393 @Override
3394 public void setRenderTimeout(int renderTimeout) {
3395 _renderTimeout = renderTimeout;
3396 }
3397
3398
3403 @Override
3404 public void setRenderWeight(int renderWeight) {
3405 _renderWeight = renderWeight;
3406 }
3407
3408
3415 @Override
3416 public void setRequiresNamespacedParameters(
3417 boolean requiresNamespacedParameters) {
3418
3419 _requiresNamespacedParameters = requiresNamespacedParameters;
3420 }
3421
3422
3427 @Override
3428 public void setResourceBundle(String resourceBundle) {
3429 _resourceBundle = resourceBundle;
3430 }
3431
3432
3439 @Override
3440 public void setRestoreCurrentView(boolean restoreCurrentView) {
3441 _restoreCurrentView = restoreCurrentView;
3442 }
3443
3444
3449 @Override
3450 public void setRoleMappers(Map<String, String> roleMappers) {
3451 _roleMappers = roleMappers;
3452 }
3453
3454
3459 @Override
3460 public void setRoles(String roles) {
3461 _rolesArray = StringUtil.split(roles);
3462
3463 super.setRoles(roles);
3464 }
3465
3466
3471 @Override
3472 public void setRolesArray(String[] rolesArray) {
3473 _rolesArray = rolesArray;
3474
3475 super.setRoles(StringUtil.merge(rolesArray));
3476 }
3477
3478
3483 @Override
3484 public void setSchedulerEntries(List<SchedulerEntry> schedulerEntries) {
3485 for (SchedulerEntry schedulerEntry : schedulerEntries) {
3486 addSchedulerEntry(schedulerEntry);
3487 }
3488 }
3489
3490
3496 @Override
3497 public void setScopeable(boolean scopeable) {
3498 _scopeable = scopeable;
3499 }
3500
3501
3508 @Override
3509 public void setShowPortletAccessDenied(boolean showPortletAccessDenied) {
3510 _showPortletAccessDenied = showPortletAccessDenied;
3511 }
3512
3513
3519 @Override
3520 public void setShowPortletInactive(boolean showPortletInactive) {
3521 _showPortletInactive = showPortletInactive;
3522 }
3523
3524
3531 @Override
3532 public void setSocialActivityInterpreterClasses(
3533 List<String> socialActivityInterpreterClasses) {
3534
3535 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
3536 }
3537
3538
3544 @Override
3545 public void setSocialRequestInterpreterClass(
3546 String socialRequestInterpreterClass) {
3547
3548 _socialRequestInterpreterClass = socialRequestInterpreterClass;
3549 }
3550
3551
3556
3557
3564 @Override
3565 public void setStagedModelDataHandlerClasses(
3566 List<String> stagedModelDataHandlerClasses) {
3567
3568 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
3569 }
3570
3571
3578 @Override
3579 public void setStatic(boolean staticPortlet) {
3580 _staticPortlet = staticPortlet;
3581 }
3582
3583
3590 @Override
3591 public void setStaticStart(boolean staticPortletStart) {
3592 _staticPortletStart = staticPortletStart;
3593 }
3594
3595
3600 @Override
3601 public void setStrutsPath(String strutsPath) {
3602 _strutsPath = strutsPath;
3603 }
3604
3605
3610 @Override
3611 public void setSupportedLocales(Set<String> supportedLocales) {
3612 _supportedLocales = supportedLocales;
3613 }
3614
3615
3622 @Override
3623 public void setSystem(boolean system) {
3624 _system = system;
3625 }
3626
3627
3633 @Override
3634 public void setTemplateHandlerClass(String templateHandlerClass) {
3635 _templateHandlerClass = templateHandlerClass;
3636 }
3637
3638
3643 @Override
3644 public void setTimestamp(long timestamp) {
3645 _timestamp = timestamp;
3646 }
3647
3648
3655 @Override
3656 public void setTrashHandlerClasses(List<String> trashHandlerClasses) {
3657 _trashHandlerClasses = trashHandlerClasses;
3658 }
3659
3660
3666 @Override
3667 public void setUndeployedPortlet(boolean undeployedPortlet) {
3668 _undeployedPortlet = undeployedPortlet;
3669 }
3670
3671
3676 @Override
3677 public void setUnlinkedRoles(Set<String> unlinkedRoles) {
3678 _unlinkedRoles = unlinkedRoles;
3679 }
3680
3681
3686 @Override
3687 public void setURLEncoderClass(String urlEncoderClass) {
3688 _urlEncoderClass = urlEncoderClass;
3689 }
3690
3691
3697 @Override
3698 public void setUseDefaultTemplate(boolean useDefaultTemplate) {
3699 _useDefaultTemplate = useDefaultTemplate;
3700 }
3701
3702
3709 @Override
3710 public void setUserNotificationDefinitions(
3711 String userNotificationDefinitions) {
3712
3713 _userNotificationDefinitions = userNotificationDefinitions;
3714 }
3715
3716
3723 @Override
3724 public void setUserNotificationHandlerClasses(
3725 List<String> userNotificationHandlerClasses) {
3726
3727 _userNotificationHandlerClasses = userNotificationHandlerClasses;
3728 }
3729
3730
3735 @Override
3736 public void setUserPrincipalStrategy(String userPrincipalStrategy) {
3737 if (Validator.isNotNull(userPrincipalStrategy)) {
3738 _userPrincipalStrategy = userPrincipalStrategy;
3739 }
3740 }
3741
3742
3747 @Override
3748 public void setVirtualPath(String virtualPath) {
3749 if (_portletApp.isWARFile() && Validator.isNull(virtualPath)) {
3750 virtualPath = PropsValues.PORTLET_VIRTUAL_PATH;
3751 }
3752
3753 _virtualPath = virtualPath;
3754 }
3755
3756
3762 @Override
3763 public void setWebDAVStorageClass(String webDAVStorageClass) {
3764 _webDAVStorageClass = webDAVStorageClass;
3765 }
3766
3767
3773 @Override
3774 public void setWebDAVStorageToken(String webDAVStorageToken) {
3775 _webDAVStorageToken = webDAVStorageToken;
3776 }
3777
3778
3783 @Override
3784 public void setWindowStates(Map<String, Set<String>> windowStates) {
3785 _windowStates = windowStates;
3786 }
3787
3788
3795 @Override
3796 public void setWorkflowHandlerClasses(List<String> workflowHandlerClasses) {
3797 _workflowHandlerClasses = workflowHandlerClasses;
3798 }
3799
3800
3806 @Override
3807 public void setXmlRpcMethodClass(String xmlRpcMethodClass) {
3808 _xmlRpcMethodClass = xmlRpcMethodClass;
3809 }
3810
3811
3814 private static Log _log = LogFactoryUtil.getLog(PortletImpl.class);
3815
3816
3819 private static Map<String, Boolean> _readyMap =
3820 new ConcurrentHashMap<String, Boolean>();
3821
3822
3825 private int _actionTimeout;
3826
3827
3831 private boolean _actionURLRedirect;
3832
3833
3837 private boolean _addDefaultResource;
3838
3839
3842 private boolean _ajaxable = true;
3843
3844
3848 private List<String> _assetRendererFactoryClasses;
3849
3850
3854 private List<String> _atomCollectionAdapterClasses;
3855
3856
3860 private Set<String> _autopropagatedParameters;
3861
3862
3865 private String _configurationActionClass;
3866
3867
3871 private String _controlPanelEntryCategory = StringPool.BLANK;
3872
3873
3877 private String _controlPanelEntryClass;
3878
3879
3883 private double _controlPanelEntryWeight = 100;
3884
3885
3889 private String _cssClassWrapper = StringPool.BLANK;
3890
3891
3895 private List<String> _customAttributesDisplayClasses;
3896
3897
3900 private String _ddmDisplayClass;
3901
3902
3905 private PluginSetting _defaultPluginSetting;
3906
3907
3910 private String _defaultPreferences;
3911
3912
3915 private String _displayName;
3916
3917
3920 private Integer _expCache;
3921
3922
3925 private String _facebookIntegration =
3926 PortletConstants.FACEBOOK_INTEGRATION_IFRAME;
3927
3928
3932 private List<String> _footerPortalCss;
3933
3934
3938 private List<String> _footerPortalJavaScript;
3939
3940
3944 private List<String> _footerPortletCss;
3945
3946
3950 private List<String> _footerPortletJavaScript;
3951
3952
3955 private String _friendlyURLMapperClass;
3956
3957
3960 private String _friendlyURLMapping;
3961
3962
3966 private String _friendlyURLRoutes;
3967
3968
3972 private List<String> _headerPortalCss;
3973
3974
3978 private List<String> _headerPortalJavaScript;
3979
3980
3984 private List<String> _headerPortletCss;
3985
3986
3990 private List<String> _headerPortletJavaScript;
3991
3992
3995 private String _icon;
3996
3997
4001 private boolean _include = true;
4002
4003
4007 private List<String> _indexerClasses;
4008
4009
4012 private Map<String, String> _initParams;
4013
4014
4017 private boolean _instanceable;
4018
4019
4022 private boolean _layoutCacheable;
4023
4024
4028 private boolean _maximizeEdit;
4029
4030
4034 private boolean _maximizeHelp;
4035
4036
4039 private String _openSearchClass;
4040
4041
4044 private String _parentStrutsPath;
4045
4046
4049 private String _permissionPropagatorClass;
4050
4051
4054 private PluginPackage _pluginPackage;
4055
4056
4059 private String _pollerProcessorClass;
4060
4061
4064 private String _popMessageListenerClass;
4065
4066
4070 private boolean _popUpPrint = true;
4071
4072
4075 private PortletApp _portletApp;
4076
4077
4080 private String _portletClass;
4081
4082
4085 private String _portletDataHandlerClass;
4086
4087
4090 private Map<String, PortletFilter> _portletFilters;
4091
4092
4095 private PortletInfo _portletInfo;
4096
4097
4100 private String _portletLayoutListenerClass;
4101
4102
4105 private Map<String, Set<String>> _portletModes;
4106
4107
4110 private String _portletName;
4111
4112
4115 private String _portletURLClass;
4116
4117
4120 private boolean _preferencesCompanyWide;
4121
4122
4127 private boolean _preferencesOwnedByGroup = true;
4128
4129
4132 private boolean _preferencesUniquePerLayout = true;
4133
4134
4137 private String _preferencesValidator;
4138
4139
4143 private boolean _privateRequestAttributes = true;
4144
4145
4149 private boolean _privateSessionAttributes = true;
4150
4151
4154 private Set<QName> _processingEvents = new HashSet<QName>();
4155
4156
4159 private Map<String, QName> _processingEventsByQName =
4160 new HashMap<String, QName>();
4161
4162
4165 private Set<PublicRenderParameter> _publicRenderParameters =
4166 new HashSet<PublicRenderParameter>();
4167
4168
4172 private Map<String, PublicRenderParameter>
4173 _publicRenderParametersByIdentifier =
4174 new HashMap<String, PublicRenderParameter>();
4175
4176
4180 private Map<String, PublicRenderParameter>
4181 _publicRenderParametersByQName =
4182 new HashMap<String, PublicRenderParameter>();
4183
4184
4187 private Set<QName> _publishingEvents = new HashSet<QName>();
4188
4189
4192 private boolean _remoteable;
4193
4194
4197 private int _renderTimeout;
4198
4199
4202 private int _renderWeight = 1;
4203
4204
4207 private boolean _requiresNamespacedParameters = true;
4208
4209
4212 private String _resourceBundle;
4213
4214
4218 private boolean _restoreCurrentView = true;
4219
4220
4223 private Map<String, String> _roleMappers;
4224
4225
4228 private String[] _rolesArray = new String[0];
4229
4230
4233 private Portlet _rootPortlet = this;
4234
4235
4238 private List<SchedulerEntry> _schedulerEntries;
4239
4240
4243 private boolean _scopeable;
4244
4245
4249 private boolean _showPortletAccessDenied =
4250 PropsValues.LAYOUT_SHOW_PORTLET_ACCESS_DENIED;
4251
4252
4255 private boolean _showPortletInactive =
4256 PropsValues.LAYOUT_SHOW_PORTLET_INACTIVE;
4257
4258
4262 private List<String> _socialActivityInterpreterClasses;
4263
4264
4267 private String _socialRequestInterpreterClass;
4268
4269
4273 private List<String> _stagedModelDataHandlerClasses;
4274
4275
4279 private boolean _staticPortlet;
4280
4281
4285 private boolean _staticPortletStart;
4286
4287
4290 private String _strutsPath;
4291
4292
4295 private Set<String> _supportedLocales;
4296
4297
4301 private boolean _system;
4302
4303
4306 private String _templateHandlerClass;
4307
4308
4311 private long _timestamp;
4312
4313
4317 private List<String> _trashHandlerClasses;
4318
4319
4322 private boolean _undeployedPortlet;
4323
4324
4327 private Set<String> _unlinkedRoles;
4328
4329
4332 private String _urlEncoderClass;
4333
4334
4337 private boolean _useDefaultTemplate = true;
4338
4339
4343 private String _userNotificationDefinitions;
4344
4345
4349 private List<String> _userNotificationHandlerClasses;
4350
4351
4354 private String _userPrincipalStrategy =
4355 PortletConstants.USER_PRINCIPAL_STRATEGY_USER_ID;
4356
4357
4360 private String _virtualPath;
4361
4362
4365 private String _webDAVStorageClass;
4366
4367
4370 private String _webDAVStorageToken;
4371
4372
4375 private Map<String, Set<String>> _windowStates;
4376
4377
4381 private List<String> _workflowHandlerClasses;
4382
4383
4386 private String _xmlRpcMethodClass;
4387
4388 }