protected void copyPreferences(long userId, String sourcePortletId, String targetPortletId) { Layout layout = getLayout(); try { PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds( layout.getGroupId(), 0, layout, sourcePortletId, false); javax.portlet.PortletPreferences sourcePortletPreferences = PortletPreferencesLocalServiceUtil.getStrictPreferences(portletPreferencesIds); portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds( layout.getGroupId(), userId, layout, targetPortletId, false); PortletPreferencesLocalServiceUtil.updatePreferences( portletPreferencesIds.getOwnerId(), portletPreferencesIds.getOwnerType(), portletPreferencesIds.getPlid(), portletPreferencesIds.getPortletId(), sourcePortletPreferences); } catch (Exception e) { } }
protected PortletPreferences getPortletInstancePortletPreferences( Layout layout, String portletId) { long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT; int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT; if (PortletConstants.hasUserId(portletId)) { ownerId = PortletConstants.getUserId(portletId); ownerType = PortletKeys.PREFS_OWNER_TYPE_USER; } return PortletPreferencesLocalServiceUtil.getStrictPreferences( layout.getCompanyId(), ownerId, ownerType, layout.getPlid(), portletId); }
protected PortletPreferences getGroupPortletPreferences( long companyId, long groupId, String settingsId) { return PortletPreferencesLocalServiceUtil.getStrictPreferences( companyId, groupId, PortletKeys.PREFS_OWNER_TYPE_GROUP, 0, settingsId); }
protected PortletPreferences getCompanyPortletPreferences(long companyId, String settingsId) { return PortletPreferencesLocalServiceUtil.getStrictPreferences( companyId, companyId, PortletKeys.PREFS_OWNER_TYPE_COMPANY, 0, settingsId); }
private void _doServeResource( HttpServletRequest request, HttpServletResponse response, Portlet portlet) throws Exception { WindowState windowState = (WindowState) request.getAttribute(WebKeys.WINDOW_STATE); PortletMode portletMode = PortletModeFactory.getPortletMode(ParamUtil.getString(request, "p_p_mode")); PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds(request, portlet.getPortletId()); PortletPreferences portletPreferences = PortletPreferencesLocalServiceUtil.getStrictPreferences(portletPreferencesIds); ServletContext servletContext = (ServletContext) request.getAttribute(WebKeys.CTX); InvokerPortlet invokerPortlet = PortletInstanceFactoryUtil.create(portlet, servletContext); PortletConfig portletConfig = PortletConfigFactoryUtil.create(portlet, servletContext); PortletContext portletContext = portletConfig.getPortletContext(); ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); Layout layout = (Layout) request.getAttribute(WebKeys.LAYOUT); String portletPrimaryKey = PortletPermissionUtil.getPrimaryKey(layout.getPlid(), portlet.getPortletId()); portletDisplay.setControlPanelCategory(portlet.getControlPanelEntryCategory()); portletDisplay.setId(portlet.getPortletId()); portletDisplay.setInstanceId(portlet.getInstanceId()); portletDisplay.setNamespace(PortalUtil.getPortletNamespace(portlet.getPortletId())); portletDisplay.setPortletName(portletConfig.getPortletName()); portletDisplay.setResourcePK(portletPrimaryKey); portletDisplay.setRootPortletId(portlet.getRootPortletId()); WebDAVStorage webDAVStorage = portlet.getWebDAVStorageInstance(); if (webDAVStorage != null) { portletDisplay.setWebDAVEnabled(true); } else { portletDisplay.setWebDAVEnabled(false); } ResourceRequestImpl resourceRequestImpl = ResourceRequestFactory.create( request, portlet, invokerPortlet, portletContext, windowState, portletMode, portletPreferences, layout.getPlid()); long companyId = PortalUtil.getCompanyId(request); ResourceResponseImpl resourceResponseImpl = ResourceResponseFactory.create( resourceRequestImpl, response, portlet.getPortletId(), companyId); resourceRequestImpl.defineObjects(portletConfig, resourceResponseImpl); try { ServiceContext serviceContext = ServiceContextFactory.getInstance(resourceRequestImpl); ServiceContextThreadLocal.pushServiceContext(serviceContext); invokerPortlet.serveResource(resourceRequestImpl, resourceResponseImpl); resourceResponseImpl.transferHeaders(response); } finally { ServiceContextThreadLocal.popServiceContext(); } }
private ActionResult _doProcessAction( HttpServletRequest request, HttpServletResponse response, Portlet portlet) throws Exception { Layout layout = (Layout) request.getAttribute(WebKeys.LAYOUT); WindowState windowState = WindowStateFactory.getWindowState(ParamUtil.getString(request, "p_p_state")); if (layout.isTypeControlPanel() && ((windowState == null) || windowState.equals(WindowState.NORMAL) || Validator.isNull(windowState.toString()))) { windowState = WindowState.MAXIMIZED; } PortletMode portletMode = PortletModeFactory.getPortletMode(ParamUtil.getString(request, "p_p_mode")); PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds(request, portlet.getPortletId()); PortletPreferences portletPreferences = PortletPreferencesLocalServiceUtil.getStrictPreferences(portletPreferencesIds); ServletContext servletContext = (ServletContext) request.getAttribute(WebKeys.CTX); InvokerPortlet invokerPortlet = PortletInstanceFactoryUtil.create(portlet, servletContext); PortletConfig portletConfig = PortletConfigFactoryUtil.create(portlet, servletContext); PortletContext portletContext = portletConfig.getPortletContext(); String contentType = request.getHeader(HttpHeaders.CONTENT_TYPE); if (_log.isDebugEnabled()) { _log.debug("Content type " + contentType); } UploadServletRequest uploadServletRequest = null; try { if ((contentType != null) && contentType.startsWith(ContentTypes.MULTIPART_FORM_DATA)) { LiferayPortletConfig liferayPortletConfig = (LiferayPortletConfig) invokerPortlet.getPortletConfig(); if (invokerPortlet.isStrutsPortlet() || liferayPortletConfig.isCopyRequestParameters() || !liferayPortletConfig.isWARFile()) { uploadServletRequest = PortalUtil.getUploadServletRequest(request); request = uploadServletRequest; } } ActionRequestImpl actionRequestImpl = ActionRequestFactory.create( request, portlet, invokerPortlet, portletContext, windowState, portletMode, portletPreferences, layout.getPlid()); User user = PortalUtil.getUser(request); ActionResponseImpl actionResponseImpl = ActionResponseFactory.create( actionRequestImpl, response, portlet.getPortletId(), user, layout, windowState, portletMode); actionRequestImpl.defineObjects(portletConfig, actionResponseImpl); ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequestImpl); ServiceContextThreadLocal.pushServiceContext(serviceContext); invokerPortlet.processAction(actionRequestImpl, actionResponseImpl); actionResponseImpl.transferHeaders(response); RenderParametersPool.put( request, layout.getPlid(), portlet.getPortletId(), actionResponseImpl.getRenderParameterMap()); List<Event> events = actionResponseImpl.getEvents(); String redirectLocation = actionResponseImpl.getRedirectLocation(); if (Validator.isNull(redirectLocation) && portlet.isActionURLRedirect()) { PortletURL portletURL = new PortletURLImpl( actionRequestImpl, actionRequestImpl.getPortletName(), layout.getPlid(), PortletRequest.RENDER_PHASE); Map<String, String[]> renderParameters = actionResponseImpl.getRenderParameterMap(); for (Map.Entry<String, String[]> entry : renderParameters.entrySet()) { String key = entry.getKey(); String[] value = entry.getValue(); portletURL.setParameter(key, value); } redirectLocation = portletURL.toString(); } return new ActionResult(events, redirectLocation); } finally { if (uploadServletRequest != null) { uploadServletRequest.cleanUp(); } ServiceContextThreadLocal.popServiceContext(); } }
protected PortletPreferences getPortletSetup( long siteGroupId, Layout layout, String portletId, String defaultPreferences, boolean strictMode) { String originalPortletId = portletId; Portlet portlet = PortletLocalServiceUtil.getPortletById(layout.getCompanyId(), portletId); boolean uniquePerLayout = false; boolean uniquePerGroup = false; if (portlet.isPreferencesCompanyWide()) { portletId = PortletConstants.getRootPortletId(portletId); } else { if (portlet.isPreferencesUniquePerLayout()) { uniquePerLayout = true; if (portlet.isPreferencesOwnedByGroup()) { uniquePerGroup = true; } } else { if (portlet.isPreferencesOwnedByGroup()) { uniquePerGroup = true; portletId = PortletConstants.getRootPortletId(portletId); } } } long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT; int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT; long plid = layout.getPlid(); Group group = GroupLocalServiceUtil.fetchGroup(siteGroupId); if ((group != null) && group.isLayout()) { plid = group.getClassPK(); } if (PortletConstants.hasUserId(originalPortletId)) { ownerId = PortletConstants.getUserId(originalPortletId); ownerType = PortletKeys.PREFS_OWNER_TYPE_USER; } else if (!uniquePerLayout) { plid = PortletKeys.PREFS_PLID_SHARED; if (uniquePerGroup) { if (siteGroupId > LayoutConstants.DEFAULT_PLID) { ownerId = siteGroupId; } else { ownerId = layout.getGroupId(); } ownerType = PortletKeys.PREFS_OWNER_TYPE_GROUP; } else { ownerId = layout.getCompanyId(); ownerType = PortletKeys.PREFS_OWNER_TYPE_COMPANY; } } if (strictMode) { return PortletPreferencesLocalServiceUtil.getStrictPreferences( layout.getCompanyId(), ownerId, ownerType, plid, portletId); } return PortletPreferencesLocalServiceUtil.getPreferences( layout.getCompanyId(), ownerId, ownerType, plid, portletId, defaultPreferences); }