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.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.ContextPathUtil;
042 import com.liferay.portal.kernel.util.StringPool;
043 import com.liferay.portal.kernel.util.StringUtil;
044 import com.liferay.portal.kernel.util.Validator;
045 import com.liferay.portal.kernel.webdav.WebDAVStorage;
046 import com.liferay.portal.kernel.workflow.WorkflowHandler;
047 import com.liferay.portal.kernel.xml.QName;
048 import com.liferay.portal.kernel.xmlrpc.Method;
049 import com.liferay.portal.model.Plugin;
050 import com.liferay.portal.model.PluginSetting;
051 import com.liferay.portal.model.Portlet;
052 import com.liferay.portal.model.PortletApp;
053 import com.liferay.portal.model.PortletConstants;
054 import com.liferay.portal.model.PortletFilter;
055 import com.liferay.portal.model.PortletInfo;
056 import com.liferay.portal.model.PublicRenderParameter;
057 import com.liferay.portal.model.User;
058 import com.liferay.portal.security.permission.ActionKeys;
059 import com.liferay.portal.security.permission.PermissionChecker;
060 import com.liferay.portal.security.permission.PermissionCheckerFactoryUtil;
061 import com.liferay.portal.security.permission.PermissionPropagator;
062 import com.liferay.portal.security.permission.PermissionThreadLocal;
063 import com.liferay.portal.service.UserLocalServiceUtil;
064 import com.liferay.portal.service.permission.PortletPermissionUtil;
065 import com.liferay.portal.util.PortalUtil;
066 import com.liferay.portal.util.PropsValues;
067 import com.liferay.portlet.ControlPanelEntry;
068 import com.liferay.portlet.DefaultControlPanelEntryFactory;
069 import com.liferay.portlet.PortletQNameUtil;
070 import com.liferay.portlet.asset.model.AssetRendererFactory;
071 import com.liferay.portlet.expando.model.CustomAttributesDisplay;
072 import com.liferay.portlet.social.model.SocialActivityInterpreter;
073 import com.liferay.portlet.social.model.SocialRequestInterpreter;
074 import com.liferay.util.bridges.alloy.AlloyPortlet;
075
076 import java.util.ArrayList;
077 import java.util.Arrays;
078 import java.util.Collections;
079 import java.util.HashMap;
080 import java.util.HashSet;
081 import java.util.LinkedHashMap;
082 import java.util.LinkedHashSet;
083 import java.util.List;
084 import java.util.Map;
085 import java.util.Set;
086 import java.util.TreeSet;
087 import java.util.concurrent.ConcurrentHashMap;
088
089 import javax.portlet.PortletMode;
090 import javax.portlet.WindowState;
091
092 import javax.servlet.ServletContext;
093
094
097 public class PortletImpl extends PortletBaseImpl {
098
099
102 public PortletImpl() {
103 }
104
105
108 public PortletImpl(long companyId, String portletId) {
109 setCompanyId(companyId);
110 setPortletId(portletId);
111 setStrutsPath(portletId);
112 setActive(true);
113 _indexerClasses = new ArrayList<String>();
114 _schedulerEntries = new ArrayList<SchedulerEntry>();
115 _stagedModelDataHandlerClasses = new ArrayList<String>();
116 _socialActivityInterpreterClasses = new ArrayList<String>();
117 _userNotificationHandlerClasses = new ArrayList<String>();
118 _assetRendererFactoryClasses = new ArrayList<String>();
119 _atomCollectionAdapterClasses = new ArrayList<String>();
120 _customAttributesDisplayClasses = new ArrayList<String>();
121 _trashHandlerClasses = new ArrayList<String>();
122 _workflowHandlerClasses = new ArrayList<String>();
123 _autopropagatedParameters = new LinkedHashSet<String>();
124 _headerPortalCss = new ArrayList<String>();
125 _headerPortletCss = new ArrayList<String>();
126 _headerPortalJavaScript = new ArrayList<String>();
127 _headerPortletJavaScript = new ArrayList<String>();
128 _footerPortalCss = new ArrayList<String>();
129 _footerPortletCss = new ArrayList<String>();
130 _footerPortalJavaScript = new ArrayList<String>();
131 _footerPortletJavaScript = new ArrayList<String>();
132 _unlinkedRoles = new HashSet<String>();
133 _roleMappers = new LinkedHashMap<String, String>();
134 _initParams = new HashMap<String, String>();
135 _portletModes = new HashMap<String, Set<String>>();
136 _windowStates = new HashMap<String, Set<String>>();
137 _supportedLocales = new HashSet<String>();
138 _portletFilters = new LinkedHashMap<String, PortletFilter>();
139 _processingEvents = new HashSet<QName>();
140 _publishingEvents = new HashSet<QName>();
141 _publicRenderParameters = new HashSet<PublicRenderParameter>();
142 }
143
144
147 public PortletImpl(
148 String portletId, Portlet rootPortlet, PluginPackage pluginPackage,
149 PluginSetting pluginSetting, long companyId, long timestamp,
150 String icon, String virtualPath, String strutsPath,
151 String parentStrutsPath, String portletName, String displayName,
152 String portletClass, String configurationActionClass,
153 List<String> indexerClasses, String openSearchClass,
154 List<SchedulerEntry> schedulerEntries, String portletURLClass,
155 String friendlyURLMapperClass, String friendlyURLMapping,
156 String friendlyURLRoutes, String urlEncoderClass,
157 String portletDataHandlerClass,
158 List<String> stagedModelDataHandlerClasses, String templateHandlerClass,
159 String portletLayoutListenerClass, String pollerProcessorClass,
160 String popMessageListenerClass,
161 List<String> socialActivityInterpreterClasses,
162 String socialRequestInterpreterClass,
163 String userNotificationDefinitions,
164 List<String> userNotificationHandlerClasses, String webDAVStorageToken,
165 String webDAVStorageClass, String xmlRpcMethodClass,
166 String controlPanelEntryCategory, double controlPanelEntryWeight,
167 String controlPanelClass, List<String> assetRendererFactoryClasses,
168 List<String> atomCollectionAdapterClasses,
169 List<String> customAttributesDisplayClasses, String ddmDisplayClass,
170 String permissionPropagatorClass, List<String> trashHandlerClasses,
171 List<String> workflowHandlerClasses, String defaultPreferences,
172 String preferencesValidator, boolean preferencesCompanyWide,
173 boolean preferencesUniquePerLayout, boolean preferencesOwnedByGroup,
174 boolean useDefaultTemplate, boolean showPortletAccessDenied,
175 boolean showPortletInactive, boolean actionURLRedirect,
176 boolean restoreCurrentView, boolean maximizeEdit, boolean maximizeHelp,
177 boolean popUpPrint, boolean layoutCacheable, boolean instanceable,
178 boolean remoteable, boolean scopeable, String userPrincipalStrategy,
179 boolean privateRequestAttributes, boolean privateSessionAttributes,
180 Set<String> autopropagatedParameters,
181 boolean requiresNamespacedParameters, int actionTimeout,
182 int renderTimeout, int renderWeight, boolean ajaxable,
183 List<String> headerPortalCss, List<String> headerPortletCss,
184 List<String> headerPortalJavaScript,
185 List<String> headerPortletJavaScript, List<String> footerPortalCss,
186 List<String> footerPortletCss, List<String> footerPortalJavaScript,
187 List<String> footerPortletJavaScript, String cssClassWrapper,
188 String facebookIntegration, boolean addDefaultResource, String roles,
189 Set<String> unlinkedRoles, Map<String, String> roleMappers,
190 boolean system, boolean active, boolean include,
191 Map<String, String> initParams, Integer expCache,
192 Map<String, Set<String>> portletModes,
193 Map<String, Set<String>> windowStates, Set<String> supportedLocales,
194 String resourceBundle, PortletInfo portletInfo,
195 Map<String, PortletFilter> portletFilters, Set<QName> processingEvents,
196 Set<QName> publishingEvents,
197 Set<PublicRenderParameter> publicRenderParameters,
198 PortletApp portletApp) {
199
200 setPortletId(portletId);
201 _rootPortlet = rootPortlet;
202 _pluginPackage = pluginPackage;
203 _defaultPluginSetting = pluginSetting;
204 setCompanyId(companyId);
205 _timestamp = timestamp;
206 _icon = icon;
207 _virtualPath = virtualPath;
208 _strutsPath = strutsPath;
209 _portletName = portletName;
210 _parentStrutsPath = parentStrutsPath;
211 _displayName = displayName;
212 _portletClass = portletClass;
213 _configurationActionClass = configurationActionClass;
214 _indexerClasses = indexerClasses;
215 _openSearchClass = openSearchClass;
216 _schedulerEntries = schedulerEntries;
217 _portletURLClass = portletURLClass;
218 _friendlyURLMapperClass = friendlyURLMapperClass;
219 _friendlyURLMapping = friendlyURLMapping;
220 _friendlyURLRoutes = friendlyURLRoutes;
221 _urlEncoderClass = urlEncoderClass;
222 _portletDataHandlerClass = portletDataHandlerClass;
223 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
224 _templateHandlerClass = templateHandlerClass;
225 _portletLayoutListenerClass = portletLayoutListenerClass;
226 _pollerProcessorClass = pollerProcessorClass;
227 _popMessageListenerClass = popMessageListenerClass;
228 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
229 _socialRequestInterpreterClass = socialRequestInterpreterClass;
230 _userNotificationHandlerClasses = userNotificationHandlerClasses;
231 _userNotificationDefinitions = userNotificationDefinitions;
232 _webDAVStorageToken = webDAVStorageToken;
233 _webDAVStorageClass = webDAVStorageClass;
234 _xmlRpcMethodClass = xmlRpcMethodClass;
235 _controlPanelEntryCategory = controlPanelEntryCategory;
236 _controlPanelEntryWeight = controlPanelEntryWeight;
237 _controlPanelEntryClass = controlPanelClass;
238 _assetRendererFactoryClasses = assetRendererFactoryClasses;
239 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
240 _customAttributesDisplayClasses = customAttributesDisplayClasses;
241 _ddmDisplayClass = ddmDisplayClass;
242 _permissionPropagatorClass = permissionPropagatorClass;
243 _trashHandlerClasses = trashHandlerClasses;
244 _workflowHandlerClasses = workflowHandlerClasses;
245 _defaultPreferences = defaultPreferences;
246 _preferencesValidator = preferencesValidator;
247 _preferencesCompanyWide = preferencesCompanyWide;
248 _preferencesUniquePerLayout = preferencesUniquePerLayout;
249 _preferencesOwnedByGroup = preferencesOwnedByGroup;
250 _useDefaultTemplate = useDefaultTemplate;
251 _showPortletAccessDenied = showPortletAccessDenied;
252 _showPortletInactive = showPortletInactive;
253 _actionURLRedirect = actionURLRedirect;
254 _restoreCurrentView = restoreCurrentView;
255 _maximizeEdit = maximizeEdit;
256 _maximizeHelp = maximizeHelp;
257 _popUpPrint = popUpPrint;
258 _layoutCacheable = layoutCacheable;
259 _instanceable = instanceable;
260 _remoteable = remoteable;
261 _scopeable = scopeable;
262 _userPrincipalStrategy = userPrincipalStrategy;
263 _privateRequestAttributes = privateRequestAttributes;
264 _privateSessionAttributes = privateSessionAttributes;
265 _autopropagatedParameters = autopropagatedParameters;
266 _requiresNamespacedParameters = requiresNamespacedParameters;
267 _actionTimeout = actionTimeout;
268 _renderTimeout = renderTimeout;
269 _renderWeight = renderWeight;
270 _ajaxable = ajaxable;
271 _headerPortalCss = headerPortalCss;
272 _headerPortletCss = headerPortletCss;
273 _headerPortalJavaScript = headerPortalJavaScript;
274 _headerPortletJavaScript = headerPortletJavaScript;
275 _footerPortalCss = footerPortalCss;
276 _footerPortletCss = footerPortletCss;
277 _footerPortalJavaScript = footerPortalJavaScript;
278 _footerPortletJavaScript = footerPortletJavaScript;
279 _cssClassWrapper = cssClassWrapper;
280 _facebookIntegration = facebookIntegration;
281 _scopeable = scopeable;
282 _addDefaultResource = addDefaultResource;
283 setRoles(roles);
284 _unlinkedRoles = unlinkedRoles;
285 _roleMappers = roleMappers;
286 _system = system;
287 setActive(active);
288 _include = include;
289 _initParams = initParams;
290 _expCache = expCache;
291 _portletModes = portletModes;
292 _windowStates = windowStates;
293 _supportedLocales = supportedLocales;
294 _resourceBundle = resourceBundle;
295 _portletInfo = portletInfo;
296 _portletFilters = portletFilters;
297 setProcessingEvents(processingEvents);
298 setPublishingEvents(publishingEvents);
299 setPublicRenderParameters(publicRenderParameters);
300 _portletApp = portletApp;
301 }
302
303 public PortletImpl(
304 String portletId, Portlet rootPortlet, PluginPackage pluginPackage,
305 PluginSetting pluginSetting, long companyId, String icon,
306 String virtualPath, String strutsPath, String parentStrutsPath,
307 String portletName, String displayName, String portletClass,
308 String configurationActionClass, List<String> indexerClasses,
309 String openSearchClass, List<SchedulerEntry> schedulerEntries,
310 String portletURLClass, String friendlyURLMapperClass,
311 String friendlyURLMapping, String friendlyURLRoutes,
312 String urlEncoderClass, String portletDataHandlerClass,
313 List<String> stagedModelDataHandlerClasses, String templateHandlerClass,
314 String portletLayoutListenerClass, String pollerProcessorClass,
315 String popMessageListenerClass,
316 List<String> socialActivityInterpreterClasses,
317 String socialRequestInterpreterClass,
318 String userNotificationDefinitions,
319 List<String> userNotificationHandlerClasses, String webDAVStorageToken,
320 String webDAVStorageClass, String xmlRpcMethodClass,
321 String controlPanelEntryCategory, double controlPanelEntryWeight,
322 String controlPanelClass, List<String> assetRendererFactoryClasses,
323 List<String> atomCollectionAdapterClasses,
324 List<String> customAttributesDisplayClasses, String ddmDisplayClass,
325 String permissionPropagatorClass, List<String> trashHandlerClasses,
326 List<String> workflowHandlerClasses, String defaultPreferences,
327 String preferencesValidator, boolean preferencesCompanyWide,
328 boolean preferencesUniquePerLayout, boolean preferencesOwnedByGroup,
329 boolean useDefaultTemplate, boolean showPortletAccessDenied,
330 boolean showPortletInactive, boolean actionURLRedirect,
331 boolean restoreCurrentView, boolean maximizeEdit, boolean maximizeHelp,
332 boolean popUpPrint, boolean layoutCacheable, boolean instanceable,
333 boolean remoteable, boolean scopeable, String userPrincipalStrategy,
334 boolean privateRequestAttributes, boolean privateSessionAttributes,
335 Set<String> autopropagatedParameters,
336 boolean requiresNamespacedParameters, int actionTimeout,
337 int renderTimeout, int renderWeight, boolean ajaxable,
338 List<String> headerPortalCss, List<String> headerPortletCss,
339 List<String> headerPortalJavaScript,
340 List<String> headerPortletJavaScript, List<String> footerPortalCss,
341 List<String> footerPortletCss, List<String> footerPortalJavaScript,
342 List<String> footerPortletJavaScript, String cssClassWrapper,
343 String facebookIntegration, boolean addDefaultResource, String roles,
344 Set<String> unlinkedRoles, Map<String, String> roleMappers,
345 boolean system, boolean active, boolean include,
346 Map<String, String> initParams, Integer expCache,
347 Map<String, Set<String>> portletModes,
348 Map<String, Set<String>> windowStates, Set<String> supportedLocales,
349 String resourceBundle, PortletInfo portletInfo,
350 Map<String, PortletFilter> portletFilters, Set<QName> processingEvents,
351 Set<QName> publishingEvents,
352 Set<PublicRenderParameter> publicRenderParameters,
353 PortletApp portletApp) {
354
355 this(
356 portletId, rootPortlet, pluginPackage, pluginSetting, companyId,
357 -1L, icon, virtualPath, strutsPath, parentStrutsPath, portletName,
358 displayName, portletClass, configurationActionClass, indexerClasses,
359 openSearchClass, schedulerEntries, portletURLClass,
360 friendlyURLMapperClass, friendlyURLMapping, friendlyURLRoutes,
361 urlEncoderClass, portletDataHandlerClass,
362 stagedModelDataHandlerClasses, templateHandlerClass,
363 portletLayoutListenerClass, pollerProcessorClass,
364 popMessageListenerClass, socialActivityInterpreterClasses,
365 socialRequestInterpreterClass, userNotificationDefinitions,
366 userNotificationHandlerClasses, webDAVStorageToken,
367 webDAVStorageClass, xmlRpcMethodClass, controlPanelEntryCategory,
368 controlPanelEntryWeight, controlPanelClass,
369 assetRendererFactoryClasses, atomCollectionAdapterClasses,
370 customAttributesDisplayClasses, ddmDisplayClass,
371 permissionPropagatorClass, trashHandlerClasses,
372 workflowHandlerClasses, defaultPreferences, preferencesValidator,
373 preferencesCompanyWide, preferencesUniquePerLayout,
374 preferencesOwnedByGroup, useDefaultTemplate,
375 showPortletAccessDenied, showPortletInactive, actionURLRedirect,
376 restoreCurrentView, maximizeEdit, maximizeHelp, popUpPrint,
377 layoutCacheable, instanceable, remoteable, scopeable,
378 userPrincipalStrategy, privateRequestAttributes,
379 privateSessionAttributes, autopropagatedParameters,
380 requiresNamespacedParameters, actionTimeout, renderTimeout,
381 renderWeight, ajaxable, headerPortalCss, headerPortletCss,
382 headerPortalJavaScript, headerPortletJavaScript, footerPortalCss,
383 footerPortletCss, footerPortalJavaScript, footerPortletJavaScript,
384 cssClassWrapper, facebookIntegration, addDefaultResource, roles,
385 unlinkedRoles, roleMappers, system, active, include, initParams,
386 expCache, portletModes, windowStates, supportedLocales,
387 resourceBundle, portletInfo, portletFilters, processingEvents,
388 publishingEvents, publicRenderParameters, portletApp);
389 }
390
391
394 @Override
395 public void addProcessingEvent(QName processingEvent) {
396 _processingEvents.add(processingEvent);
397 _processingEventsByQName.put(
398 PortletQNameUtil.getKey(processingEvent), processingEvent);
399 }
400
401
406 @Override
407 public void addPublicRenderParameter(
408 PublicRenderParameter publicRenderParameter) {
409
410 _publicRenderParameters.add(publicRenderParameter);
411
412 String identifier = publicRenderParameter.getIdentifier();
413
414 _publicRenderParametersByIdentifier.put(
415 identifier, publicRenderParameter);
416
417 QName qName = publicRenderParameter.getQName();
418
419 _publicRenderParametersByQName.put(
420 PortletQNameUtil.getKey(qName), publicRenderParameter);
421
422 String publicRenderParameterName =
423 PortletQNameUtil.getPublicRenderParameterName(qName);
424
425 PortletQNameUtil.setPublicRenderParameterIdentifier(
426 publicRenderParameterName, identifier);
427 }
428
429
432 @Override
433 public void addPublishingEvent(QName publishingEvent) {
434 _publishingEvents.add(publishingEvent);
435 }
436
437
440 @Override
441 public void addSchedulerEntry(SchedulerEntry schedulerEntry) {
442 _schedulerEntries.add(schedulerEntry);
443 }
444
445
450 @Override
451 public Object clone() {
452 Portlet portlet = new PortletImpl(
453 getPortletId(), getRootPortlet(), getPluginPackage(),
454 getDefaultPluginSetting(), getCompanyId(), getIcon(),
455 getVirtualPath(), getStrutsPath(), getParentStrutsPath(),
456 getPortletName(), getDisplayName(), getPortletClass(),
457 getConfigurationActionClass(), getIndexerClasses(),
458 getOpenSearchClass(), getSchedulerEntries(), getPortletURLClass(),
459 getFriendlyURLMapperClass(), getFriendlyURLMapping(),
460 getFriendlyURLRoutes(), getURLEncoderClass(),
461 getPortletDataHandlerClass(), getStagedModelDataHandlerClasses(),
462 getTemplateHandlerClass(), getPortletLayoutListenerClass(),
463 getPollerProcessorClass(), getPopMessageListenerClass(),
464 getSocialActivityInterpreterClasses(),
465 getSocialRequestInterpreterClass(),
466 getUserNotificationDefinitions(),
467 getUserNotificationHandlerClasses(), getWebDAVStorageToken(),
468 getWebDAVStorageClass(), getXmlRpcMethodClass(),
469 getControlPanelEntryCategory(), getControlPanelEntryWeight(),
470 getControlPanelEntryClass(), getAssetRendererFactoryClasses(),
471 getAtomCollectionAdapterClasses(),
472 getCustomAttributesDisplayClasses(), getDDMDisplayClass(),
473 getPermissionPropagatorClass(), getTrashHandlerClasses(),
474 getWorkflowHandlerClasses(), getDefaultPreferences(),
475 getPreferencesValidator(), isPreferencesCompanyWide(),
476 isPreferencesUniquePerLayout(), isPreferencesOwnedByGroup(),
477 isUseDefaultTemplate(), isShowPortletAccessDenied(),
478 isShowPortletInactive(), isActionURLRedirect(),
479 isRestoreCurrentView(), isMaximizeEdit(), isMaximizeHelp(),
480 isPopUpPrint(), isLayoutCacheable(), isInstanceable(),
481 isRemoteable(), isScopeable(), getUserPrincipalStrategy(),
482 isPrivateRequestAttributes(), isPrivateSessionAttributes(),
483 getAutopropagatedParameters(), isRequiresNamespacedParameters(),
484 getActionTimeout(), getRenderTimeout(), getRenderWeight(),
485 isAjaxable(), getHeaderPortalCss(), getHeaderPortletCss(),
486 getHeaderPortalJavaScript(), getHeaderPortletJavaScript(),
487 getFooterPortalCss(), getFooterPortletCss(),
488 getFooterPortalJavaScript(), getFooterPortletJavaScript(),
489 getCssClassWrapper(), getFacebookIntegration(),
490 isAddDefaultResource(), getRoles(), getUnlinkedRoles(),
491 getRoleMappers(), isSystem(), isActive(), isInclude(),
492 getInitParams(), getExpCache(), getPortletModes(),
493 getWindowStates(), getSupportedLocales(), getResourceBundle(),
494 getPortletInfo(), getPortletFilters(), getProcessingEvents(),
495 getPublishingEvents(), getPublicRenderParameters(),
496 getPortletApp());
497
498 portlet.setId(getId());
499 portlet.setUndeployedPortlet(isUndeployedPortlet());
500
501 return portlet;
502 }
503
504
513 @Override
514 public int compareTo(Portlet portlet) {
515 String portletId = getPortletId();
516
517 return portletId.compareTo(portlet.getPortletId());
518 }
519
520
526 @Override
527 public boolean equals(Object obj) {
528 if (this == obj) {
529 return true;
530 }
531
532 if (!(obj instanceof Portlet)) {
533 return false;
534 }
535
536 Portlet portlet = (Portlet)obj;
537
538 String portletId = getPortletId();
539
540 return portletId.equals(portlet.getPortletId());
541 }
542
543
548 @Override
549 public int getActionTimeout() {
550 return _actionTimeout;
551 }
552
553
560 @Override
561 public boolean getActionURLRedirect() {
562 return _actionURLRedirect;
563 }
564
565
572 @Override
573 public boolean getAddDefaultResource() {
574 return _addDefaultResource;
575 }
576
577
582 @Override
583 public boolean getAjaxable() {
584 return _ajaxable;
585 }
586
587
592 @Override
593 public Set<String> getAllPortletModes() {
594 Set<String> allPortletModes = new TreeSet<String>();
595
596 for (Map.Entry<String, Set<String>> entry : _portletModes.entrySet()) {
597 Set<String> mimeTypePortletModes = entry.getValue();
598
599 for (String portletMode : mimeTypePortletModes) {
600 allPortletModes.add(portletMode);
601 }
602 }
603
604 return allPortletModes;
605 }
606
607
612 @Override
613 public Set<String> getAllWindowStates() {
614 Set<String> allWindowStates = new TreeSet<String>();
615
616 for (Map.Entry<String, Set<String>> entry : _windowStates.entrySet()) {
617 Set<String> mimeTypeWindowStates = entry.getValue();
618
619 for (String windowState : mimeTypeWindowStates) {
620 allWindowStates.add(windowState);
621 }
622 }
623
624 return allWindowStates;
625 }
626
627
634 @Override
635 public List<String> getAssetRendererFactoryClasses() {
636 return _assetRendererFactoryClasses;
637 }
638
639
644 @Override
645 public List<AssetRendererFactory> getAssetRendererFactoryInstances() {
646 if (_assetRendererFactoryClasses.isEmpty()) {
647 return null;
648 }
649
650 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
651
652 return portletBag.getAssetRendererFactoryInstances();
653 }
654
655
662 @Override
663 public List<String> getAtomCollectionAdapterClasses() {
664 return _atomCollectionAdapterClasses;
665 }
666
667
672 @Override
673 public List<AtomCollectionAdapter<?>> getAtomCollectionAdapterInstances() {
674 if (_atomCollectionAdapterClasses.isEmpty()) {
675 return null;
676 }
677
678 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
679
680 return portletBag.getAtomCollectionAdapterInstances();
681 }
682
683
690 @Override
691 public Set<String> getAutopropagatedParameters() {
692 return _autopropagatedParameters;
693 }
694
695
701 @Override
702 public Portlet getClonedInstance(String portletId) {
703 Portlet portlet = (Portlet)clone();
704
705 portlet.setPortletId(portletId);
706
707 return portlet;
708 }
709
710
715 @Override
716 public String getConfigurationActionClass() {
717 return _configurationActionClass;
718 }
719
720
725 @Override
726 public ConfigurationAction getConfigurationActionInstance() {
727 if (Validator.isNull(getConfigurationActionClass())) {
728 return null;
729 }
730
731 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
732
733 return portletBag.getConfigurationActionInstance();
734 }
735
736
741 @Override
742 public String getContextName() {
743 if (!_portletApp.isWARFile()) {
744 return PortalUtil.getServletContextName();
745 }
746
747 return _portletApp.getServletContextName();
748 }
749
750
755 @Override
756 public String getContextPath() {
757 if (!_portletApp.isWARFile()) {
758 return PortalUtil.getPathContext();
759 }
760
761 String servletContextName = _portletApp.getServletContextName();
762
763 if (ServletContextPool.containsKey(servletContextName)) {
764 ServletContext servletContext = ServletContextPool.get(
765 servletContextName);
766
767 return ContextPathUtil.getContextPath(servletContext);
768 }
769
770 return StringPool.SLASH.concat(servletContextName);
771 }
772
773
780 @Override
781 public String getControlPanelEntryCategory() {
782 return _controlPanelEntryCategory;
783 }
784
785
792 @Override
793 public String getControlPanelEntryClass() {
794 return _controlPanelEntryClass;
795 }
796
797
804 @Override
805 public ControlPanelEntry getControlPanelEntryInstance() {
806 if (Validator.isNull(getControlPanelEntryClass())) {
807 return DefaultControlPanelEntryFactory.getInstance();
808 }
809
810 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
811
812 return portletBag.getControlPanelEntryInstance();
813 }
814
815
822 @Override
823 public double getControlPanelEntryWeight() {
824 return _controlPanelEntryWeight;
825 }
826
827
834 @Override
835 public String getCssClassWrapper() {
836 return _cssClassWrapper;
837 }
838
839
846 @Override
847 public List<String> getCustomAttributesDisplayClasses() {
848 return _customAttributesDisplayClasses;
849 }
850
851
856 @Override
857 public List<CustomAttributesDisplay> getCustomAttributesDisplayInstances() {
858 if (_customAttributesDisplayClasses.isEmpty()) {
859 return null;
860 }
861
862 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
863
864 return portletBag.getCustomAttributesDisplayInstances();
865 }
866
867
873 @Override
874 public String getDDMDisplayClass() {
875 return _ddmDisplayClass;
876 }
877
878
883 @Override
884 public PluginSetting getDefaultPluginSetting() {
885 return _defaultPluginSetting;
886 }
887
888
893 @Override
894 public String getDefaultPreferences() {
895 if (Validator.isNull(_defaultPreferences)) {
896 return PortletConstants.DEFAULT_PREFERENCES;
897 }
898 else {
899 return _defaultPreferences;
900 }
901 }
902
903
908 @Override
909 public String getDisplayName() {
910 return _displayName;
911 }
912
913
918 @Override
919 public Integer getExpCache() {
920 return _expCache;
921 }
922
923
928 @Override
929 public String getFacebookIntegration() {
930 return _facebookIntegration;
931 }
932
933
940 @Override
941 public List<String> getFooterPortalCss() {
942 return _footerPortalCss;
943 }
944
945
952 @Override
953 public List<String> getFooterPortalJavaScript() {
954 return _footerPortalJavaScript;
955 }
956
957
964 @Override
965 public List<String> getFooterPortletCss() {
966 return _footerPortletCss;
967 }
968
969
976 @Override
977 public List<String> getFooterPortletJavaScript() {
978 return _footerPortletJavaScript;
979 }
980
981
986 @Override
987 public String getFriendlyURLMapperClass() {
988 return _friendlyURLMapperClass;
989 }
990
991
996 @Override
997 public FriendlyURLMapper getFriendlyURLMapperInstance() {
998 if (Validator.isNull(getFriendlyURLMapperClass())) {
999 return null;
1000 }
1001
1002 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1003
1004 return portletBag.getFriendlyURLMapperInstance();
1005 }
1006
1007
1012 @Override
1013 public String getFriendlyURLMapping() {
1014 return _friendlyURLMapping;
1015 }
1016
1017
1024 @Override
1025 public String getFriendlyURLRoutes() {
1026 return _friendlyURLRoutes;
1027 }
1028
1029
1036 @Override
1037 public List<String> getHeaderPortalCss() {
1038 return _headerPortalCss;
1039 }
1040
1041
1048 @Override
1049 public List<String> getHeaderPortalJavaScript() {
1050 return _headerPortalJavaScript;
1051 }
1052
1053
1060 @Override
1061 public List<String> getHeaderPortletCss() {
1062 return _headerPortletCss;
1063 }
1064
1065
1072 @Override
1073 public List<String> getHeaderPortletJavaScript() {
1074 return _headerPortletJavaScript;
1075 }
1076
1077
1082 @Override
1083 public String getIcon() {
1084 return _icon;
1085 }
1086
1087
1094 @Override
1095 public boolean getInclude() {
1096 return _include;
1097 }
1098
1099
1106 @Override
1107 public List<String> getIndexerClasses() {
1108 return _indexerClasses;
1109 }
1110
1111
1116 @Override
1117 public List<Indexer> getIndexerInstances() {
1118 if (_indexerClasses.isEmpty() &&
1119 !_portletClass.contains(AlloyPortlet.class.getSimpleName())) {
1120
1121 return Collections.emptyList();
1122 }
1123
1124 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1125
1126 return portletBag.getIndexerInstances();
1127 }
1128
1129
1134 @Override
1135 public Map<String, String> getInitParams() {
1136 return _initParams;
1137 }
1138
1139
1146 @Override
1147 public boolean getInstanceable() {
1148 return _instanceable;
1149 }
1150
1151
1156 @Override
1157 public String getInstanceId() {
1158 return PortletConstants.getInstanceId(getPortletId());
1159 }
1160
1161
1167 @Override
1168 public boolean getLayoutCacheable() {
1169 return _layoutCacheable;
1170 }
1171
1172
1179 @Override
1180 public boolean getMaximizeEdit() {
1181 return _maximizeEdit;
1182 }
1183
1184
1191 @Override
1192 public boolean getMaximizeHelp() {
1193 return _maximizeHelp;
1194 }
1195
1196
1201 @Override
1202 public String getOpenSearchClass() {
1203 return _openSearchClass;
1204 }
1205
1206
1211 @Override
1212 public OpenSearch getOpenSearchInstance() {
1213 if (Validator.isNull(getOpenSearchClass())) {
1214 return null;
1215 }
1216
1217 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1218
1219 return portletBag.getOpenSearchInstance();
1220 }
1221
1222
1227 @Override
1228 public String getParentStrutsPath() {
1229 return _parentStrutsPath;
1230 }
1231
1232
1237 @Override
1238 public String getPermissionPropagatorClass() {
1239 return _permissionPropagatorClass;
1240 }
1241
1242
1247 @Override
1248 public PermissionPropagator getPermissionPropagatorInstance() {
1249 if (Validator.isNull(getPermissionPropagatorClass())) {
1250 return null;
1251 }
1252
1253 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1254
1255 return portletBag.getPermissionPropagatorInstance();
1256 }
1257
1258
1263 @Override
1264 public String getPluginId() {
1265 return getRootPortletId();
1266 }
1267
1268
1273 @Override
1274 public PluginPackage getPluginPackage() {
1275 return _pluginPackage;
1276 }
1277
1278
1283 @Override
1284 public String getPluginType() {
1285 return Plugin.TYPE_PORTLET;
1286 }
1287
1288
1293 @Override
1294 public String getPollerProcessorClass() {
1295 return _pollerProcessorClass;
1296 }
1297
1298
1303 @Override
1304 public PollerProcessor getPollerProcessorInstance() {
1305 if (Validator.isNull(getPollerProcessorClass())) {
1306 return null;
1307 }
1308
1309 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1310
1311 return portletBag.getPollerProcessorInstance();
1312 }
1313
1314
1319 @Override
1320 public String getPopMessageListenerClass() {
1321 return _popMessageListenerClass;
1322 }
1323
1324
1329 @Override
1330 public MessageListener getPopMessageListenerInstance() {
1331 if (Validator.isNull(getPopMessageListenerClass())) {
1332 return null;
1333 }
1334
1335 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1336
1337 return portletBag.getPopMessageListenerInstance();
1338 }
1339
1340
1347 @Override
1348 public boolean getPopUpPrint() {
1349 return _popUpPrint;
1350 }
1351
1352
1357 @Override
1358 public PortletApp getPortletApp() {
1359 return _portletApp;
1360 }
1361
1362
1367 @Override
1368 public String getPortletClass() {
1369 return _portletClass;
1370 }
1371
1372
1377 @Override
1378 public String getPortletDataHandlerClass() {
1379 return _portletDataHandlerClass;
1380 }
1381
1382
1387 @Override
1388 public PortletDataHandler getPortletDataHandlerInstance() {
1389 if (Validator.isNull(getPortletDataHandlerClass())) {
1390 return null;
1391 }
1392
1393 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1394
1395 return portletBag.getPortletDataHandlerInstance();
1396 }
1397
1398
1403 @Override
1404 public Map<String, PortletFilter> getPortletFilters() {
1405 return _portletFilters;
1406 }
1407
1408
1413 @Override
1414 public PortletInfo getPortletInfo() {
1415 return _portletInfo;
1416 }
1417
1418
1423 @Override
1424 public String getPortletLayoutListenerClass() {
1425 return _portletLayoutListenerClass;
1426 }
1427
1428
1433 @Override
1434 public PortletLayoutListener getPortletLayoutListenerInstance() {
1435 if (Validator.isNull(getPortletLayoutListenerClass())) {
1436 return null;
1437 }
1438
1439 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1440
1441 return portletBag.getPortletLayoutListenerInstance();
1442 }
1443
1444
1449 @Override
1450 public Map<String, Set<String>> getPortletModes() {
1451 return _portletModes;
1452 }
1453
1454
1459 @Override
1460 public String getPortletName() {
1461 return _portletName;
1462 }
1463
1464
1469 @Override
1470 public String getPortletURLClass() {
1471 return _portletURLClass;
1472 }
1473
1474
1481 @Override
1482 public boolean getPreferencesCompanyWide() {
1483 return _preferencesCompanyWide;
1484 }
1485
1486
1495 @Override
1496 public boolean getPreferencesOwnedByGroup() {
1497 return _preferencesOwnedByGroup;
1498 }
1499
1500
1505 @Override
1506 public boolean getPreferencesUniquePerLayout() {
1507 return _preferencesUniquePerLayout;
1508 }
1509
1510
1515 @Override
1516 public String getPreferencesValidator() {
1517 return _preferencesValidator;
1518 }
1519
1520
1527 @Override
1528 public boolean getPrivateRequestAttributes() {
1529 return _privateRequestAttributes;
1530 }
1531
1532
1539 @Override
1540 public boolean getPrivateSessionAttributes() {
1541 return _privateSessionAttributes;
1542 }
1543
1544
1553 @Override
1554 public QName getProcessingEvent(String uri, String localPart) {
1555 return _processingEventsByQName.get(
1556 PortletQNameUtil.getKey(uri, localPart));
1557 }
1558
1559
1564 @Override
1565 public Set<QName> getProcessingEvents() {
1566 return _processingEvents;
1567 }
1568
1569
1575 @Override
1576 public PublicRenderParameter getPublicRenderParameter(String identifier) {
1577 return _publicRenderParametersByIdentifier.get(identifier);
1578 }
1579
1580
1589 @Override
1590 public PublicRenderParameter getPublicRenderParameter(
1591 String uri, String localPart) {
1592
1593 return _publicRenderParametersByQName.get(
1594 PortletQNameUtil.getKey(uri, localPart));
1595 }
1596
1597
1602 @Override
1603 public Set<PublicRenderParameter> getPublicRenderParameters() {
1604 return _publicRenderParameters;
1605 }
1606
1607
1612 @Override
1613 public Set<QName> getPublishingEvents() {
1614 return _publishingEvents;
1615 }
1616
1617
1622 @Override
1623 public boolean getReady() {
1624 return isReady();
1625 }
1626
1627
1632 @Override
1633 public boolean getRemoteable() {
1634 return _remoteable;
1635 }
1636
1637
1642 @Override
1643 public int getRenderTimeout() {
1644 return _renderTimeout;
1645 }
1646
1647
1652 @Override
1653 public int getRenderWeight() {
1654 return _renderWeight;
1655 }
1656
1657
1662 @Override
1663 public String getResourceBundle() {
1664 return _resourceBundle;
1665 }
1666
1667
1674 @Override
1675 public boolean getRestoreCurrentView() {
1676 return _restoreCurrentView;
1677 }
1678
1679
1684 @Override
1685 public Map<String, String> getRoleMappers() {
1686 return _roleMappers;
1687 }
1688
1689
1694 @Override
1695 public String[] getRolesArray() {
1696 return _rolesArray;
1697 }
1698
1699
1704 @Override
1705 public Portlet getRootPortlet() {
1706 return _rootPortlet;
1707 }
1708
1709
1714 @Override
1715 public String getRootPortletId() {
1716 return PortletConstants.getRootPortletId(getPortletId());
1717 }
1718
1719
1724 @Override
1725 public List<SchedulerEntry> getSchedulerEntries() {
1726 return _schedulerEntries;
1727 }
1728
1729
1734 @Override
1735 public boolean getScopeable() {
1736 return _scopeable;
1737 }
1738
1739
1746 @Override
1747 public boolean getShowPortletAccessDenied() {
1748 return _showPortletAccessDenied;
1749 }
1750
1751
1757 @Override
1758 public boolean getShowPortletInactive() {
1759 return _showPortletInactive;
1760 }
1761
1762
1769 @Override
1770 public List<String> getSocialActivityInterpreterClasses() {
1771 return _socialActivityInterpreterClasses;
1772 }
1773
1774
1779 @Override
1780 public List<SocialActivityInterpreter>
1781 getSocialActivityInterpreterInstances() {
1782
1783 if (_socialActivityInterpreterClasses.isEmpty()) {
1784 return null;
1785 }
1786
1787 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1788
1789 return portletBag.getSocialActivityInterpreterInstances();
1790 }
1791
1792
1797 @Override
1798 public String getSocialRequestInterpreterClass() {
1799 return _socialRequestInterpreterClass;
1800 }
1801
1802
1809 @Override
1810 public SocialRequestInterpreter getSocialRequestInterpreterInstance() {
1811 if (Validator.isNull(getSocialRequestInterpreterClass())) {
1812 return null;
1813 }
1814
1815 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1816
1817 return portletBag.getSocialRequestInterpreterInstance();
1818 }
1819
1820
1827 @Override
1828 public List<String> getStagedModelDataHandlerClasses() {
1829 return _stagedModelDataHandlerClasses;
1830 }
1831
1832
1837 @Override
1838 public List<StagedModelDataHandler<?>>
1839 getStagedModelDataHandlerInstances() {
1840
1841 if (_stagedModelDataHandlerClasses.isEmpty()) {
1842 return null;
1843 }
1844
1845 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1846
1847 return portletBag.getStagedModelDataHandlerInstances();
1848 }
1849
1850
1857 @Override
1858 public boolean getStatic() {
1859 return _staticPortlet;
1860 }
1861
1862
1869 @Override
1870 public boolean getStaticEnd() {
1871 return !_staticPortletStart;
1872 }
1873
1874
1879 @Override
1880 public String getStaticResourcePath() {
1881 String proxyPath = PortalUtil.getPathProxy();
1882
1883 String virtualPath = getVirtualPath();
1884
1885 if (Validator.isNotNull(virtualPath)) {
1886 return proxyPath.concat(virtualPath);
1887 }
1888
1889 String contextPath = getContextPath();
1890
1891 if (!_portletApp.isWARFile()) {
1892 return contextPath;
1893 }
1894
1895 return proxyPath.concat(contextPath);
1896 }
1897
1898
1905 @Override
1906 public boolean getStaticStart() {
1907 return _staticPortletStart;
1908 }
1909
1910
1915 @Override
1916 public String getStrutsPath() {
1917 return _strutsPath;
1918 }
1919
1920
1925 @Override
1926 public Set<String> getSupportedLocales() {
1927 return _supportedLocales;
1928 }
1929
1930
1937 @Override
1938 public boolean getSystem() {
1939 return _system;
1940 }
1941
1942
1947 @Override
1948 public String getTemplateHandlerClass() {
1949 return _templateHandlerClass;
1950 }
1951
1952
1957 @Override
1958 public TemplateHandler getTemplateHandlerInstance() {
1959 if (Validator.isNull(getTemplateHandlerClass())) {
1960 return null;
1961 }
1962
1963 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
1964
1965 return portletBag.getTemplateHandlerInstance();
1966 }
1967
1968
1973 @Override
1974 public long getTimestamp() {
1975 if ((_timestamp == null) || _timestamp.equals(-1L)) {
1976 ServletContext servletContext = ServletContextPool.get(
1977 getContextName());
1978
1979 _timestamp = ServletContextUtil.getLastModified(
1980 servletContext, StringPool.SLASH, true);
1981 }
1982
1983 return _timestamp;
1984 }
1985
1986
1993 @Override
1994 public List<String> getTrashHandlerClasses() {
1995 return _trashHandlerClasses;
1996 }
1997
1998
2003 @Override
2004 public List<TrashHandler> getTrashHandlerInstances() {
2005 if (_trashHandlerClasses.isEmpty()) {
2006 return null;
2007 }
2008
2009 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2010
2011 return portletBag.getTrashHandlerInstances();
2012 }
2013
2014
2020 @Override
2021 public boolean getUndeployedPortlet() {
2022 return _undeployedPortlet;
2023 }
2024
2025
2030 @Override
2031 public Set<String> getUnlinkedRoles() {
2032 return _unlinkedRoles;
2033 }
2034
2035
2040 @Override
2041 public String getURLEncoderClass() {
2042 return _urlEncoderClass;
2043 }
2044
2045
2050 @Override
2051 public URLEncoder getURLEncoderInstance() {
2052 if (Validator.isNull(getURLEncoderClass())) {
2053 return null;
2054 }
2055
2056 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2057
2058 return portletBag.getURLEncoderInstance();
2059 }
2060
2061
2066 @Override
2067 public boolean getUseDefaultTemplate() {
2068 return _useDefaultTemplate;
2069 }
2070
2071
2077 @Override
2078 public long getUserId() {
2079 return PortletConstants.getUserId(getPortletId());
2080 }
2081
2082
2089 @Override
2090 public String getUserNotificationDefinitions() {
2091 return _userNotificationDefinitions;
2092 }
2093
2094
2101 @Override
2102 public List<String> getUserNotificationHandlerClasses() {
2103 return _userNotificationHandlerClasses;
2104 }
2105
2106
2111 @Override
2112 public List<UserNotificationHandler>
2113 getUserNotificationHandlerInstances() {
2114
2115 if (_userNotificationHandlerClasses.isEmpty()) {
2116 return null;
2117 }
2118
2119 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2120
2121 return portletBag.getUserNotificationHandlerInstances();
2122 }
2123
2124
2129 @Override
2130 public String getUserPrincipalStrategy() {
2131 return _userPrincipalStrategy;
2132 }
2133
2134
2139 @Override
2140 public String getVirtualPath() {
2141 return _virtualPath;
2142 }
2143
2144
2149 @Override
2150 public String getWebDAVStorageClass() {
2151 return _webDAVStorageClass;
2152 }
2153
2154
2159 @Override
2160 public WebDAVStorage getWebDAVStorageInstance() {
2161 if (Validator.isNull(getWebDAVStorageClass())) {
2162 return null;
2163 }
2164
2165 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2166
2167 return portletBag.getWebDAVStorageInstance();
2168 }
2169
2170
2175 @Override
2176 public String getWebDAVStorageToken() {
2177 return _webDAVStorageToken;
2178 }
2179
2180
2185 @Override
2186 public Map<String, Set<String>> getWindowStates() {
2187 return _windowStates;
2188 }
2189
2190
2197 @Override
2198 public List<String> getWorkflowHandlerClasses() {
2199 return _workflowHandlerClasses;
2200 }
2201
2202
2207 @Override
2208 public List<WorkflowHandler> getWorkflowHandlerInstances() {
2209 if (_workflowHandlerClasses.isEmpty()) {
2210 return null;
2211 }
2212
2213 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2214
2215 return portletBag.getWorkflowHandlerInstances();
2216 }
2217
2218
2223 @Override
2224 public String getXmlRpcMethodClass() {
2225 return _xmlRpcMethodClass;
2226 }
2227
2228
2233 @Override
2234 public Method getXmlRpcMethodInstance() {
2235 if (Validator.isNull(getXmlRpcMethodClass())) {
2236 return null;
2237 }
2238
2239 PortletBag portletBag = PortletBagPool.get(getRootPortletId());
2240
2241 return portletBag.getXmlRpcMethodInstance();
2242 }
2243
2244
2252 @Override
2253 public boolean hasAddPortletPermission(long userId) {
2254 PermissionChecker permissionChecker =
2255 PermissionThreadLocal.getPermissionChecker();
2256
2257 try {
2258 if ((permissionChecker == null) ||
2259 (permissionChecker.getUserId() != userId)) {
2260
2261 User user = UserLocalServiceUtil.getUser(userId);
2262
2263 permissionChecker = PermissionCheckerFactoryUtil.create(user);
2264 }
2265
2266 if (PortletPermissionUtil.contains(
2267 permissionChecker, getRootPortletId(),
2268 ActionKeys.ADD_TO_PAGE)) {
2269
2270 return true;
2271 }
2272 }
2273 catch (Exception e) {
2274 _log.error(e, e);
2275 }
2276
2277 return false;
2278 }
2279
2280
2286 @Override
2287 public boolean hasMultipleMimeTypes() {
2288 if (_portletModes.size() > 1) {
2289 return true;
2290 }
2291 else {
2292 return false;
2293 }
2294 }
2295
2296
2305 @Override
2306 public boolean hasPortletMode(String mimeType, PortletMode portletMode) {
2307 if (mimeType == null) {
2308 mimeType = ContentTypes.TEXT_HTML;
2309 }
2310
2311 Set<String> mimeTypePortletModes = _portletModes.get(mimeType);
2312
2313 if (mimeTypePortletModes == null) {
2314 return false;
2315 }
2316
2317 if (mimeTypePortletModes.contains(portletMode.toString())) {
2318 return true;
2319 }
2320 else {
2321 return false;
2322 }
2323 }
2324
2325
2333 @Override
2334 public boolean hasRoleWithName(String roleName) {
2335 if (ArrayUtil.isEmpty(_rolesArray)) {
2336 return false;
2337 }
2338
2339 for (int i = 0; i < _rolesArray.length; i++) {
2340 if (StringUtil.equalsIgnoreCase(_rolesArray[i], roleName)) {
2341 return true;
2342 }
2343 }
2344
2345 return false;
2346 }
2347
2348
2357 @Override
2358 public boolean hasWindowState(String mimeType, WindowState windowState) {
2359 if (mimeType == null) {
2360 mimeType = ContentTypes.TEXT_HTML;
2361 }
2362
2363 Set<String> mimeTypeWindowStates = _windowStates.get(mimeType);
2364
2365 if (mimeTypeWindowStates == null) {
2366 return false;
2367 }
2368
2369 if (mimeTypeWindowStates.contains(windowState.toString())) {
2370 return true;
2371 }
2372 else {
2373 return false;
2374 }
2375 }
2376
2377
2384 @Override
2385 public boolean isActionURLRedirect() {
2386 return _actionURLRedirect;
2387 }
2388
2389
2396 @Override
2397 public boolean isAddDefaultResource() {
2398 return _addDefaultResource;
2399 }
2400
2401
2406 @Override
2407 public boolean isAjaxable() {
2408 return _ajaxable;
2409 }
2410
2411
2418 @Override
2419 public boolean isInclude() {
2420 return _include;
2421 }
2422
2423
2430 @Override
2431 public boolean isInstanceable() {
2432 return _instanceable;
2433 }
2434
2435
2441 @Override
2442 public boolean isLayoutCacheable() {
2443 return _layoutCacheable;
2444 }
2445
2446
2453 @Override
2454 public boolean isMaximizeEdit() {
2455 return _maximizeEdit;
2456 }
2457
2458
2465 @Override
2466 public boolean isMaximizeHelp() {
2467 return _maximizeHelp;
2468 }
2469
2470
2477 @Override
2478 public boolean isPopUpPrint() {
2479 return _popUpPrint;
2480 }
2481
2482
2489 @Override
2490 public boolean isPreferencesCompanyWide() {
2491 return _preferencesCompanyWide;
2492 }
2493
2494
2503 @Override
2504 public boolean isPreferencesOwnedByGroup() {
2505 return _preferencesOwnedByGroup;
2506 }
2507
2508
2513 @Override
2514 public boolean isPreferencesUniquePerLayout() {
2515 return _preferencesUniquePerLayout;
2516 }
2517
2518
2525 @Override
2526 public boolean isPrivateRequestAttributes() {
2527 return _privateRequestAttributes;
2528 }
2529
2530
2537 @Override
2538 public boolean isPrivateSessionAttributes() {
2539 return _privateSessionAttributes;
2540 }
2541
2542
2547 @Override
2548 public boolean isReady() {
2549 Boolean ready = _readyMap.get(getRootPortletId());
2550
2551 if (ready == null) {
2552 return true;
2553 }
2554 else {
2555 return ready;
2556 }
2557 }
2558
2559
2564 @Override
2565 public boolean isRemoteable() {
2566 return _remoteable;
2567 }
2568
2569
2576 @Override
2577 public boolean isRequiresNamespacedParameters() {
2578 return _requiresNamespacedParameters;
2579 }
2580
2581
2588 @Override
2589 public boolean isRestoreCurrentView() {
2590 return _restoreCurrentView;
2591 }
2592
2593
2598 @Override
2599 public boolean isScopeable() {
2600 return _scopeable;
2601 }
2602
2603
2610 @Override
2611 public boolean isShowPortletAccessDenied() {
2612 return _showPortletAccessDenied;
2613 }
2614
2615
2621 @Override
2622 public boolean isShowPortletInactive() {
2623 return _showPortletInactive;
2624 }
2625
2626
2633 @Override
2634 public boolean isStatic() {
2635 return _staticPortlet;
2636 }
2637
2638
2645 @Override
2646 public boolean isStaticEnd() {
2647 return !_staticPortletStart;
2648 }
2649
2650
2657 @Override
2658 public boolean isStaticStart() {
2659 return _staticPortletStart;
2660 }
2661
2662
2669 @Override
2670 public boolean isSystem() {
2671 return _system;
2672 }
2673
2674
2680 @Override
2681 public boolean isUndeployedPortlet() {
2682 return _undeployedPortlet;
2683 }
2684
2685
2690 @Override
2691 public boolean isUseDefaultTemplate() {
2692 return _useDefaultTemplate;
2693 }
2694
2695
2699 @Override
2700 public void linkRoles() {
2701 List<String> linkedRoles = new ArrayList<String>();
2702
2703 for (String unlinkedRole : _unlinkedRoles) {
2704 String roleLink = _roleMappers.get(unlinkedRole);
2705
2706 if (Validator.isNotNull(roleLink)) {
2707 if (_log.isDebugEnabled()) {
2708 _log.debug(
2709 "Linking role for portlet [" + getPortletId() +
2710 "] with role-name [" + unlinkedRole +
2711 "] to role-link [" + roleLink + "]");
2712 }
2713
2714 linkedRoles.add(roleLink);
2715 }
2716 else {
2717 _log.error(
2718 "Unable to link role for portlet [" + getPortletId() +
2719 "] with role-name [" + unlinkedRole +
2720 "] because role-link is null");
2721 }
2722 }
2723
2724 String[] array = linkedRoles.toArray(new String[linkedRoles.size()]);
2725
2726 Arrays.sort(array);
2727
2728 setRolesArray(array);
2729 }
2730
2731
2736 @Override
2737 public void setActionTimeout(int actionTimeout) {
2738 _actionTimeout = actionTimeout;
2739 }
2740
2741
2748 @Override
2749 public void setActionURLRedirect(boolean actionURLRedirect) {
2750 _actionURLRedirect = actionURLRedirect;
2751 }
2752
2753
2760 @Override
2761 public void setAddDefaultResource(boolean addDefaultResource) {
2762 _addDefaultResource = addDefaultResource;
2763 }
2764
2765
2771 @Override
2772 public void setAjaxable(boolean ajaxable) {
2773 _ajaxable = ajaxable;
2774 }
2775
2776
2783 @Override
2784 public void setAssetRendererFactoryClasses(
2785 List<String> assetRendererFactoryClasses) {
2786
2787 _assetRendererFactoryClasses = assetRendererFactoryClasses;
2788 }
2789
2790
2797 @Override
2798 public void setAtomCollectionAdapterClasses(
2799 List<String> atomCollectionAdapterClasses) {
2800
2801 _atomCollectionAdapterClasses = atomCollectionAdapterClasses;
2802 }
2803
2804
2811 @Override
2812 public void setAutopropagatedParameters(
2813 Set<String> autopropagatedParameters) {
2814
2815 _autopropagatedParameters = autopropagatedParameters;
2816 }
2817
2818
2824 @Override
2825 public void setConfigurationActionClass(String configurationActionClass) {
2826 _configurationActionClass = configurationActionClass;
2827 }
2828
2829
2836 @Override
2837 public void setControlPanelEntryCategory(String controlPanelEntryCategory) {
2838 _controlPanelEntryCategory = controlPanelEntryCategory;
2839 }
2840
2841
2848 @Override
2849 public void setControlPanelEntryClass(String controlPanelEntryClass) {
2850 _controlPanelEntryClass = controlPanelEntryClass;
2851 }
2852
2853
2861 @Override
2862 public void setControlPanelEntryWeight(double controlPanelEntryWeight) {
2863 _controlPanelEntryWeight = controlPanelEntryWeight;
2864 }
2865
2866
2873 @Override
2874 public void setCssClassWrapper(String cssClassWrapper) {
2875 _cssClassWrapper = cssClassWrapper;
2876 }
2877
2878
2885 @Override
2886 public void setCustomAttributesDisplayClasses(
2887 List<String> customAttributesDisplayClasses) {
2888
2889 _customAttributesDisplayClasses = customAttributesDisplayClasses;
2890 }
2891
2892
2898 @Override
2899 public void setDDMDisplayClass(String ddmDisplayClass) {
2900 _ddmDisplayClass = ddmDisplayClass;
2901 }
2902
2903
2908 @Override
2909 public void setDefaultPluginSetting(PluginSetting pluginSetting) {
2910 _defaultPluginSetting = pluginSetting;
2911 }
2912
2913
2918 @Override
2919 public void setDefaultPreferences(String defaultPreferences) {
2920 _defaultPreferences = defaultPreferences;
2921 }
2922
2923
2928 @Override
2929 public void setDisplayName(String displayName) {
2930 _displayName = displayName;
2931 }
2932
2933
2938 @Override
2939 public void setExpCache(Integer expCache) {
2940 _expCache = expCache;
2941 }
2942
2943
2948 @Override
2949 public void setFacebookIntegration(String facebookIntegration) {
2950 if (Validator.isNotNull(facebookIntegration)) {
2951 _facebookIntegration = facebookIntegration;
2952 }
2953 }
2954
2955
2962 @Override
2963 public void setFooterPortalCss(List<String> footerPortalCss) {
2964 _footerPortalCss = footerPortalCss;
2965 }
2966
2967
2975 @Override
2976 public void setFooterPortalJavaScript(List<String> footerPortalJavaScript) {
2977 _footerPortalJavaScript = footerPortalJavaScript;
2978 }
2979
2980
2987 @Override
2988 public void setFooterPortletCss(List<String> footerPortletCss) {
2989 _footerPortletCss = footerPortletCss;
2990 }
2991
2992
3000 @Override
3001 public void setFooterPortletJavaScript(
3002 List<String> footerPortletJavaScript) {
3003
3004 _footerPortletJavaScript = footerPortletJavaScript;
3005 }
3006
3007
3013 @Override
3014 public void setFriendlyURLMapperClass(String friendlyURLMapperClass) {
3015 _friendlyURLMapperClass = friendlyURLMapperClass;
3016 }
3017
3018
3024 @Override
3025 public void setFriendlyURLMapping(String friendlyURLMapping) {
3026 _friendlyURLMapping = friendlyURLMapping;
3027 }
3028
3029
3036 @Override
3037 public void setFriendlyURLRoutes(String friendlyURLRoutes) {
3038 _friendlyURLRoutes = friendlyURLRoutes;
3039 }
3040
3041
3048 @Override
3049 public void setHeaderPortalCss(List<String> headerPortalCss) {
3050 _headerPortalCss = headerPortalCss;
3051 }
3052
3053
3061 @Override
3062 public void setHeaderPortalJavaScript(List<String> headerPortalJavaScript) {
3063 _headerPortalJavaScript = headerPortalJavaScript;
3064 }
3065
3066
3073 @Override
3074 public void setHeaderPortletCss(List<String> headerPortletCss) {
3075 _headerPortletCss = headerPortletCss;
3076 }
3077
3078
3086 @Override
3087 public void setHeaderPortletJavaScript(
3088 List<String> headerPortletJavaScript) {
3089
3090 _headerPortletJavaScript = headerPortletJavaScript;
3091 }
3092
3093
3098 @Override
3099 public void setIcon(String icon) {
3100 _icon = icon;
3101 }
3102
3103
3110 @Override
3111 public void setInclude(boolean include) {
3112 _include = include;
3113 }
3114
3115
3122 @Override
3123 public void setIndexerClasses(List<String> indexerClasses) {
3124 _indexerClasses = indexerClasses;
3125 }
3126
3127
3132 @Override
3133 public void setInitParams(Map<String, String> initParams) {
3134 _initParams = initParams;
3135 }
3136
3137
3144 @Override
3145 public void setInstanceable(boolean instanceable) {
3146 _instanceable = instanceable;
3147 }
3148
3149
3156 @Override
3157 public void setLayoutCacheable(boolean layoutCacheable) {
3158 _layoutCacheable = layoutCacheable;
3159 }
3160
3161
3168 @Override
3169 public void setMaximizeEdit(boolean maximizeEdit) {
3170 _maximizeEdit = maximizeEdit;
3171 }
3172
3173
3180 @Override
3181 public void setMaximizeHelp(boolean maximizeHelp) {
3182 _maximizeHelp = maximizeHelp;
3183 }
3184
3185
3190 @Override
3191 public void setOpenSearchClass(String openSearchClass) {
3192 _openSearchClass = openSearchClass;
3193 }
3194
3195
3200 @Override
3201 public void setParentStrutsPath(String parentStrutsPath) {
3202 _parentStrutsPath = parentStrutsPath;
3203 }
3204
3205
3208 @Override
3209 public void setPermissionPropagatorClass(String permissionPropagatorClass) {
3210 _permissionPropagatorClass = permissionPropagatorClass;
3211 }
3212
3213
3218 @Override
3219 public void setPluginPackage(PluginPackage pluginPackage) {
3220 _pluginPackage = pluginPackage;
3221 }
3222
3223
3229 @Override
3230 public void setPollerProcessorClass(String pollerProcessorClass) {
3231 _pollerProcessorClass = pollerProcessorClass;
3232 }
3233
3234
3240 @Override
3241 public void setPopMessageListenerClass(String popMessageListenerClass) {
3242 _popMessageListenerClass = popMessageListenerClass;
3243 }
3244
3245
3252 @Override
3253 public void setPopUpPrint(boolean popUpPrint) {
3254 _popUpPrint = popUpPrint;
3255 }
3256
3257
3262 @Override
3263 public void setPortletApp(PortletApp portletApp) {
3264 _portletApp = portletApp;
3265
3266 _portletApp.addPortlet(this);
3267 }
3268
3269
3274 @Override
3275 public void setPortletClass(String portletClass) {
3276 _portletClass = portletClass;
3277 }
3278
3279
3285 @Override
3286 public void setPortletDataHandlerClass(String portletDataHandlerClass) {
3287 _portletDataHandlerClass = portletDataHandlerClass;
3288 }
3289
3290
3295 @Override
3296 public void setPortletFilters(Map<String, PortletFilter> portletFilters) {
3297 _portletFilters = portletFilters;
3298 }
3299
3300
3305 @Override
3306 public void setPortletInfo(PortletInfo portletInfo) {
3307 _portletInfo = portletInfo;
3308 }
3309
3310
3316 @Override
3317 public void setPortletLayoutListenerClass(
3318 String portletLayoutListenerClass) {
3319
3320 _portletLayoutListenerClass = portletLayoutListenerClass;
3321 }
3322
3323
3328 @Override
3329 public void setPortletModes(Map<String, Set<String>> portletModes) {
3330 _portletModes = portletModes;
3331 }
3332
3333
3338 @Override
3339 public void setPortletName(String portletName) {
3340 _portletName = portletName;
3341 }
3342
3343
3348 @Override
3349 public void setPortletURLClass(String portletURLClass) {
3350 _portletURLClass = portletURLClass;
3351 }
3352
3353
3360 @Override
3361 public void setPreferencesCompanyWide(boolean preferencesCompanyWide) {
3362 _preferencesCompanyWide = preferencesCompanyWide;
3363 }
3364
3365
3374 @Override
3375 public void setPreferencesOwnedByGroup(boolean preferencesOwnedByGroup) {
3376 _preferencesOwnedByGroup = preferencesOwnedByGroup;
3377 }
3378
3379
3385 @Override
3386 public void setPreferencesUniquePerLayout(
3387 boolean preferencesUniquePerLayout) {
3388
3389 _preferencesUniquePerLayout = preferencesUniquePerLayout;
3390 }
3391
3392
3398 @Override
3399 public void setPreferencesValidator(String preferencesValidator) {
3400 if (preferencesValidator != null) {
3401
3402
3403
3404
3405 _preferencesValidator = preferencesValidator.trim();
3406 }
3407 else {
3408 _preferencesValidator = null;
3409 }
3410 }
3411
3412
3420 @Override
3421 public void setPrivateRequestAttributes(boolean privateRequestAttributes) {
3422 _privateRequestAttributes = privateRequestAttributes;
3423 }
3424
3425
3432 @Override
3433 public void setPrivateSessionAttributes(boolean privateSessionAttributes) {
3434 _privateSessionAttributes = privateSessionAttributes;
3435 }
3436
3437
3442 @Override
3443 public void setProcessingEvents(Set<QName> processingEvents) {
3444 for (QName processingEvent : processingEvents) {
3445 addProcessingEvent(processingEvent);
3446 }
3447 }
3448
3449
3455 @Override
3456 public void setPublicRenderParameters(
3457 Set<PublicRenderParameter> publicRenderParameters) {
3458
3459 for (PublicRenderParameter publicRenderParameter :
3460 publicRenderParameters) {
3461
3462 addPublicRenderParameter(publicRenderParameter);
3463 }
3464 }
3465
3466
3471 @Override
3472 public void setPublishingEvents(Set<QName> publishingEvents) {
3473 for (QName publishingEvent : publishingEvents) {
3474 addPublishingEvent(publishingEvent);
3475 }
3476 }
3477
3478
3483 @Override
3484 public void setReady(boolean ready) {
3485 _readyMap.put(getRootPortletId(), ready);
3486 }
3487
3488
3494 @Override
3495 public void setRemoteable(boolean remoteable) {
3496 _remoteable = remoteable;
3497 }
3498
3499
3504 @Override
3505 public void setRenderTimeout(int renderTimeout) {
3506 _renderTimeout = renderTimeout;
3507 }
3508
3509
3514 @Override
3515 public void setRenderWeight(int renderWeight) {
3516 _renderWeight = renderWeight;
3517 }
3518
3519
3526 @Override
3527 public void setRequiresNamespacedParameters(
3528 boolean requiresNamespacedParameters) {
3529
3530 _requiresNamespacedParameters = requiresNamespacedParameters;
3531 }
3532
3533
3538 @Override
3539 public void setResourceBundle(String resourceBundle) {
3540 _resourceBundle = resourceBundle;
3541 }
3542
3543
3550 @Override
3551 public void setRestoreCurrentView(boolean restoreCurrentView) {
3552 _restoreCurrentView = restoreCurrentView;
3553 }
3554
3555
3560 @Override
3561 public void setRoleMappers(Map<String, String> roleMappers) {
3562 _roleMappers = roleMappers;
3563 }
3564
3565
3570 @Override
3571 public void setRoles(String roles) {
3572 _rolesArray = StringUtil.split(roles);
3573
3574 super.setRoles(roles);
3575 }
3576
3577
3582 @Override
3583 public void setRolesArray(String[] rolesArray) {
3584 _rolesArray = rolesArray;
3585
3586 super.setRoles(StringUtil.merge(rolesArray));
3587 }
3588
3589
3594 @Override
3595 public void setSchedulerEntries(List<SchedulerEntry> schedulerEntries) {
3596 for (SchedulerEntry schedulerEntry : schedulerEntries) {
3597 addSchedulerEntry(schedulerEntry);
3598 }
3599 }
3600
3601
3607 @Override
3608 public void setScopeable(boolean scopeable) {
3609 _scopeable = scopeable;
3610 }
3611
3612
3619 @Override
3620 public void setShowPortletAccessDenied(boolean showPortletAccessDenied) {
3621 _showPortletAccessDenied = showPortletAccessDenied;
3622 }
3623
3624
3630 @Override
3631 public void setShowPortletInactive(boolean showPortletInactive) {
3632 _showPortletInactive = showPortletInactive;
3633 }
3634
3635
3642 @Override
3643 public void setSocialActivityInterpreterClasses(
3644 List<String> socialActivityInterpreterClasses) {
3645
3646 _socialActivityInterpreterClasses = socialActivityInterpreterClasses;
3647 }
3648
3649
3655 @Override
3656 public void setSocialRequestInterpreterClass(
3657 String socialRequestInterpreterClass) {
3658
3659 _socialRequestInterpreterClass = socialRequestInterpreterClass;
3660 }
3661
3662
3667
3668
3675 @Override
3676 public void setStagedModelDataHandlerClasses(
3677 List<String> stagedModelDataHandlerClasses) {
3678
3679 _stagedModelDataHandlerClasses = stagedModelDataHandlerClasses;
3680 }
3681
3682
3689 @Override
3690 public void setStatic(boolean staticPortlet) {
3691 _staticPortlet = staticPortlet;
3692 }
3693
3694
3701 @Override
3702 public void setStaticStart(boolean staticPortletStart) {
3703 _staticPortletStart = staticPortletStart;
3704 }
3705
3706
3711 @Override
3712 public void setStrutsPath(String strutsPath) {
3713 _strutsPath = strutsPath;
3714 }
3715
3716
3721 @Override
3722 public void setSupportedLocales(Set<String> supportedLocales) {
3723 _supportedLocales = supportedLocales;
3724 }
3725
3726
3733 @Override
3734 public void setSystem(boolean system) {
3735 _system = system;
3736 }
3737
3738
3744 @Override
3745 public void setTemplateHandlerClass(String templateHandlerClass) {
3746 _templateHandlerClass = templateHandlerClass;
3747 }
3748
3749
3754 @Override
3755 public void setTimestamp(long timestamp) {
3756 _timestamp = timestamp;
3757 }
3758
3759
3766 @Override
3767 public void setTrashHandlerClasses(List<String> trashHandlerClasses) {
3768 _trashHandlerClasses = trashHandlerClasses;
3769 }
3770
3771
3777 @Override
3778 public void setUndeployedPortlet(boolean undeployedPortlet) {
3779 _undeployedPortlet = undeployedPortlet;
3780 }
3781
3782
3787 @Override
3788 public void setUnlinkedRoles(Set<String> unlinkedRoles) {
3789 _unlinkedRoles = unlinkedRoles;
3790 }
3791
3792
3797 @Override
3798 public void setURLEncoderClass(String urlEncoderClass) {
3799 _urlEncoderClass = urlEncoderClass;
3800 }
3801
3802
3808 @Override
3809 public void setUseDefaultTemplate(boolean useDefaultTemplate) {
3810 _useDefaultTemplate = useDefaultTemplate;
3811 }
3812
3813
3820 @Override
3821 public void setUserNotificationDefinitions(
3822 String userNotificationDefinitions) {
3823
3824 _userNotificationDefinitions = userNotificationDefinitions;
3825 }
3826
3827
3834 @Override
3835 public void setUserNotificationHandlerClasses(
3836 List<String> userNotificationHandlerClasses) {
3837
3838 _userNotificationHandlerClasses = userNotificationHandlerClasses;
3839 }
3840
3841
3846 @Override
3847 public void setUserPrincipalStrategy(String userPrincipalStrategy) {
3848 if (Validator.isNotNull(userPrincipalStrategy)) {
3849 _userPrincipalStrategy = userPrincipalStrategy;
3850 }
3851 }
3852
3853
3858 @Override
3859 public void setVirtualPath(String virtualPath) {
3860 if (_portletApp.isWARFile() && Validator.isNull(virtualPath)) {
3861 virtualPath = PropsValues.PORTLET_VIRTUAL_PATH;
3862 }
3863
3864 _virtualPath = virtualPath;
3865 }
3866
3867
3873 @Override
3874 public void setWebDAVStorageClass(String webDAVStorageClass) {
3875 _webDAVStorageClass = webDAVStorageClass;
3876 }
3877
3878
3884 @Override
3885 public void setWebDAVStorageToken(String webDAVStorageToken) {
3886 _webDAVStorageToken = webDAVStorageToken;
3887 }
3888
3889
3894 @Override
3895 public void setWindowStates(Map<String, Set<String>> windowStates) {
3896 _windowStates = windowStates;
3897 }
3898
3899
3906 @Override
3907 public void setWorkflowHandlerClasses(List<String> workflowHandlerClasses) {
3908 _workflowHandlerClasses = workflowHandlerClasses;
3909 }
3910
3911
3917 @Override
3918 public void setXmlRpcMethodClass(String xmlRpcMethodClass) {
3919 _xmlRpcMethodClass = xmlRpcMethodClass;
3920 }
3921
3922
3925 private static Log _log = LogFactoryUtil.getLog(PortletImpl.class);
3926
3927
3930 private static Map<String, Boolean> _readyMap =
3931 new ConcurrentHashMap<String, Boolean>();
3932
3933
3936 private int _actionTimeout;
3937
3938
3942 private boolean _actionURLRedirect;
3943
3944
3948 private boolean _addDefaultResource;
3949
3950
3953 private boolean _ajaxable = true;
3954
3955
3959 private List<String> _assetRendererFactoryClasses;
3960
3961
3965 private List<String> _atomCollectionAdapterClasses;
3966
3967
3971 private Set<String> _autopropagatedParameters;
3972
3973
3976 private String _configurationActionClass;
3977
3978
3982 private String _controlPanelEntryCategory = StringPool.BLANK;
3983
3984
3988 private String _controlPanelEntryClass;
3989
3990
3994 private double _controlPanelEntryWeight = 100;
3995
3996
4000 private String _cssClassWrapper = StringPool.BLANK;
4001
4002
4006 private List<String> _customAttributesDisplayClasses;
4007
4008
4011 private String _ddmDisplayClass;
4012
4013
4016 private PluginSetting _defaultPluginSetting;
4017
4018
4021 private String _defaultPreferences;
4022
4023
4026 private String _displayName;
4027
4028
4031 private Integer _expCache;
4032
4033
4036 private String _facebookIntegration =
4037 PortletConstants.FACEBOOK_INTEGRATION_IFRAME;
4038
4039
4043 private List<String> _footerPortalCss;
4044
4045
4049 private List<String> _footerPortalJavaScript;
4050
4051
4055 private List<String> _footerPortletCss;
4056
4057
4061 private List<String> _footerPortletJavaScript;
4062
4063
4066 private String _friendlyURLMapperClass;
4067
4068
4071 private String _friendlyURLMapping;
4072
4073
4077 private String _friendlyURLRoutes;
4078
4079
4083 private List<String> _headerPortalCss;
4084
4085
4089 private List<String> _headerPortalJavaScript;
4090
4091
4095 private List<String> _headerPortletCss;
4096
4097
4101 private List<String> _headerPortletJavaScript;
4102
4103
4106 private String _icon;
4107
4108
4112 private boolean _include = true;
4113
4114
4118 private List<String> _indexerClasses;
4119
4120
4123 private Map<String, String> _initParams;
4124
4125
4128 private boolean _instanceable;
4129
4130
4133 private boolean _layoutCacheable;
4134
4135
4139 private boolean _maximizeEdit;
4140
4141
4145 private boolean _maximizeHelp;
4146
4147
4150 private String _openSearchClass;
4151
4152
4155 private String _parentStrutsPath;
4156
4157
4160 private String _permissionPropagatorClass;
4161
4162
4165 private PluginPackage _pluginPackage;
4166
4167
4170 private String _pollerProcessorClass;
4171
4172
4175 private String _popMessageListenerClass;
4176
4177
4181 private boolean _popUpPrint = true;
4182
4183
4186 private PortletApp _portletApp;
4187
4188
4191 private String _portletClass;
4192
4193
4196 private String _portletDataHandlerClass;
4197
4198
4201 private Map<String, PortletFilter> _portletFilters;
4202
4203
4206 private PortletInfo _portletInfo;
4207
4208
4211 private String _portletLayoutListenerClass;
4212
4213
4216 private Map<String, Set<String>> _portletModes;
4217
4218
4221 private String _portletName;
4222
4223
4226 private String _portletURLClass;
4227
4228
4231 private boolean _preferencesCompanyWide;
4232
4233
4238 private boolean _preferencesOwnedByGroup = true;
4239
4240
4243 private boolean _preferencesUniquePerLayout = true;
4244
4245
4248 private String _preferencesValidator;
4249
4250
4254 private boolean _privateRequestAttributes = true;
4255
4256
4260 private boolean _privateSessionAttributes = true;
4261
4262
4265 private Set<QName> _processingEvents = new HashSet<QName>();
4266
4267
4270 private Map<String, QName> _processingEventsByQName =
4271 new HashMap<String, QName>();
4272
4273
4276 private Set<PublicRenderParameter> _publicRenderParameters =
4277 new HashSet<PublicRenderParameter>();
4278
4279
4283 private Map<String, PublicRenderParameter>
4284 _publicRenderParametersByIdentifier =
4285 new HashMap<String, PublicRenderParameter>();
4286
4287
4291 private Map<String, PublicRenderParameter>
4292 _publicRenderParametersByQName =
4293 new HashMap<String, PublicRenderParameter>();
4294
4295
4298 private Set<QName> _publishingEvents = new HashSet<QName>();
4299
4300
4303 private boolean _remoteable;
4304
4305
4308 private int _renderTimeout;
4309
4310
4313 private int _renderWeight = 1;
4314
4315
4318 private boolean _requiresNamespacedParameters = true;
4319
4320
4323 private String _resourceBundle;
4324
4325
4329 private boolean _restoreCurrentView = true;
4330
4331
4334 private Map<String, String> _roleMappers;
4335
4336
4339 private String[] _rolesArray = new String[0];
4340
4341
4344 private Portlet _rootPortlet = this;
4345
4346
4349 private List<SchedulerEntry> _schedulerEntries;
4350
4351
4354 private boolean _scopeable;
4355
4356
4360 private boolean _showPortletAccessDenied =
4361 PropsValues.LAYOUT_SHOW_PORTLET_ACCESS_DENIED;
4362
4363
4366 private boolean _showPortletInactive =
4367 PropsValues.LAYOUT_SHOW_PORTLET_INACTIVE;
4368
4369
4373 private List<String> _socialActivityInterpreterClasses;
4374
4375
4378 private String _socialRequestInterpreterClass;
4379
4380
4384 private List<String> _stagedModelDataHandlerClasses;
4385
4386
4390 private boolean _staticPortlet;
4391
4392
4396 private boolean _staticPortletStart;
4397
4398
4401 private String _strutsPath;
4402
4403
4406 private Set<String> _supportedLocales;
4407
4408
4412 private boolean _system;
4413
4414
4417 private String _templateHandlerClass;
4418
4419
4422 private Long _timestamp;
4423
4424
4428 private List<String> _trashHandlerClasses;
4429
4430
4433 private boolean _undeployedPortlet;
4434
4435
4438 private Set<String> _unlinkedRoles;
4439
4440
4443 private String _urlEncoderClass;
4444
4445
4448 private boolean _useDefaultTemplate = true;
4449
4450
4454 private String _userNotificationDefinitions;
4455
4456
4460 private List<String> _userNotificationHandlerClasses;
4461
4462
4465 private String _userPrincipalStrategy =
4466 PortletConstants.USER_PRINCIPAL_STRATEGY_USER_ID;
4467
4468
4471 private String _virtualPath;
4472
4473
4476 private String _webDAVStorageClass;
4477
4478
4481 private String _webDAVStorageToken;
4482
4483
4486 private Map<String, Set<String>> _windowStates;
4487
4488
4492 private List<String> _workflowHandlerClasses;
4493
4494
4497 private String _xmlRpcMethodClass;
4498
4499 }