List of usage examples for com.liferay.portal.kernel.portlet PortletPreferencesFactoryUtil getStrictLayoutPortletSetup
public static PortletPreferences getStrictLayoutPortletSetup(Layout layout, String portletId)
From source file:com.liferay.journal.web.asset.JournalArticleAssetRenderer.java
License:Open Source License
@Override public String getURLViewInContext(LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse, String noSuchEntryRedirect) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = _article.getLayout(); if (layout == null) { layout = themeDisplay.getLayout(); }/*from w ww . j ava 2 s. com*/ String portletId = (String) liferayPortletRequest.getAttribute(WebKeys.PORTLET_ID); PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); String linkToLayoutUuid = GetterUtil.getString(portletSetup.getValue("portletSetupLinkToLayoutUuid", null)); if (Validator.isNotNull(_article.getLayoutUuid()) && Validator.isNull(linkToLayoutUuid)) { Group group = themeDisplay.getScopeGroup(); if (group.getGroupId() != _article.getGroupId()) { group = GroupLocalServiceUtil.getGroup(_article.getGroupId()); } String groupFriendlyURL = PortalUtil.getGroupFriendlyURL( LayoutSetLocalServiceUtil.getLayoutSet(group.getGroupId(), layout.isPrivateLayout()), themeDisplay); return PortalUtil.addPreservedParameters(themeDisplay, groupFriendlyURL .concat(JournalArticleConstants.CANONICAL_URL_SEPARATOR).concat(_article.getUrlTitle())); } String hitLayoutURL = getHitLayoutURL(layout.isPrivateLayout(), noSuchEntryRedirect, themeDisplay); if (hitLayoutURL.equals(noSuchEntryRedirect)) { hitLayoutURL = getHitLayoutURL(!layout.isPrivateLayout(), noSuchEntryRedirect, themeDisplay); } return hitLayoutURL; }
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void getLookAndFeel(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); try {/*from w ww . ja va 2s . co m*/ Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(resourceRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return; } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); JSONObject portletSetupJSONObject = PortletSetupUtil.cssToJSONObject(portletSetup); JSONObject defaultPortletTitlesJSONObject = JSONFactoryUtil.createJSONObject(); for (Locale locale : LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId())) { String rootPortletId = PortletConstants.getRootPortletId(portletId); String languageId = LocaleUtil.toLanguageId(locale); defaultPortletTitlesJSONObject.put(languageId, _portal.getPortletTitle(rootPortletId, languageId)); } portletSetupJSONObject.put("defaultPortletTitles", defaultPortletTitlesJSONObject); writeJSON(resourceRequest, resourceResponse, portletSetupJSONObject.toString()); } catch (Exception e) { throw new PortletException(e); } }
From source file:com.liferay.portlet.configuration.css.web.internal.portlet.PortletConfigurationCSSPortlet.java
License:Open Source License
public void updateLookAndFeel(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); String portletId = ParamUtil.getString(actionRequest, "portletId"); if (!PortletPermissionUtil.contains(permissionChecker, layout, portletId, ActionKeys.CONFIGURATION)) { return;//ww w . j av a 2s .c om } PortletPreferences portletSetup = PortletPreferencesFactoryUtil.getStrictLayoutPortletSetup(layout, portletId); String css = ParamUtil.getString(actionRequest, "css"); if (_log.isDebugEnabled()) { _log.debug("Updating css " + css); } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(css); JSONObject portletDataJSONObject = jsonObject.getJSONObject("portletData"); jsonObject.remove("portletData"); css = jsonObject.toString(); String linkToLayoutUuid = GetterUtil.getString(portletDataJSONObject.getString("portletLinksTarget")); String portletDecoratorId = portletDataJSONObject.getString("portletDecoratorId"); JSONObject titlesJSONObject = portletDataJSONObject.getJSONObject("titles"); boolean useCustomTitle = portletDataJSONObject.getBoolean("useCustomTitle"); Set<Locale> locales = LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId()); for (Locale locale : locales) { String languageId = LocaleUtil.toLanguageId(locale); String title = null; if (titlesJSONObject.has(languageId)) { title = GetterUtil.getString(titlesJSONObject.getString(languageId)); } String rootPortletId = PortletConstants.getRootPortletId(portletId); String defaultPortletTitle = _portal.getPortletTitle(rootPortletId, languageId); if ((title != null) && !Objects.equals(defaultPortletTitle, title)) { portletSetup.setValue("portletSetupTitle_" + languageId, title); } else { portletSetup.reset("portletSetupTitle_" + languageId); } } portletSetup.setValue("portletSetupUseCustomTitle", String.valueOf(useCustomTitle)); if (Validator.isNotNull(linkToLayoutUuid)) { portletSetup.setValue("portletSetupLinkToLayoutUuid", linkToLayoutUuid); } else { portletSetup.reset("portletSetupLinkToLayoutUuid"); } if (Validator.isNotNull(portletDecoratorId)) { portletSetup.setValue("portletSetupPortletDecoratorId", portletDecoratorId); } else { portletSetup.reset("portletSetupPortletDecoratorId"); } portletSetup.setValue("portletSetupCss", css); portletSetup.store(); }