List of usage examples for com.liferay.portal.kernel.model Layout getTypeSettingsProperties
public com.liferay.portal.kernel.util.UnicodeProperties getTypeSettingsProperties();
From source file:com.liferay.asset.publisher.layout.prototype.internal.instance.lifecycle.AddLayoutPrototypePortalInstanceLifecycleListener.java
License:Open Source License
protected void addWebContentPage(long companyId, long defaultUserId, List<LayoutPrototype> layoutPrototypes) throws Exception { ResourceBundleLoader resourceBundleLoader = new AggregateResourceBundleLoader( ResourceBundleUtil.getResourceBundleLoader("content.Language", getClassLoader()), LanguageResources.RESOURCE_BUNDLE_LOADER); Map<Locale, String> nameMap = ResourceBundleUtil.getLocalizationMap(resourceBundleLoader, "layout-prototype-web-content-title"); Map<Locale, String> descriptionMap = ResourceBundleUtil.getLocalizationMap(resourceBundleLoader, "layout-prototype-web-content-description"); Layout layout = DefaultLayoutPrototypesUtil.addLayoutPrototype(companyId, defaultUserId, nameMap, descriptionMap, "2_columns_ii", layoutPrototypes); if (layout == null) { return;//from w w w . j av a 2 s .c om } DefaultLayoutPrototypesUtil.addPortletId(layout, AssetTagsNavigationPortletKeys.ASSET_TAGS_NAVIGATION, "column-1"); DefaultLayoutPrototypesUtil.addPortletId(layout, AssetCategoriesNavigationPortletKeys.ASSET_CATEGORIES_NAVIGATION, "column-1"); String portletId = DefaultLayoutPrototypesUtil.addPortletId(layout, AssetPublisherPortletKeys.ASSET_PUBLISHER, "column-2"); Map<String, String> preferences = new HashMap<>(); preferences.put("showOnlyLayoutAssets", Boolean.TRUE.toString()); DefaultLayoutPrototypesUtil.updatePortletSetup(layout, portletId, preferences); UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); typeSettingsProperties.setProperty(LayoutTypePortletConstants.DEFAULT_ASSET_PUBLISHER_PORTLET_ID, portletId); _layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings()); }
From source file:com.liferay.asset.publisher.web.portlet.action.AssetPublisherConfigurationAction.java
License:Open Source License
protected void updateDefaultAssetPublisher(ActionRequest actionRequest) throws Exception { boolean defaultAssetPublisher = ParamUtil.getBoolean(actionRequest, "defaultAssetPublisher"); Layout layout = (Layout) actionRequest.getAttribute(WebKeys.LAYOUT); String portletResource = ParamUtil.getString(actionRequest, "portletResource"); UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); if (defaultAssetPublisher) { typeSettingsProperties.setProperty(LayoutTypePortletConstants.DEFAULT_ASSET_PUBLISHER_PORTLET_ID, portletResource);//from w w w . j ava 2 s . c o m } else { String defaultAssetPublisherPortletId = typeSettingsProperties .getProperty(LayoutTypePortletConstants.DEFAULT_ASSET_PUBLISHER_PORTLET_ID); if (Validator.isNotNull(defaultAssetPublisherPortletId) && defaultAssetPublisherPortletId.equals(portletResource)) { typeSettingsProperties.setProperty(LayoutTypePortletConstants.DEFAULT_ASSET_PUBLISHER_PORTLET_ID, StringPool.BLANK); } } layout = layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings()); if (LayoutStagingUtil.isBranchingLayout(layout)) { HttpServletRequest request = portal.getHttpServletRequest(actionRequest); LayoutSetBranch layoutSetBranch = LayoutStagingUtil.getLayoutSetBranch(layout.getLayoutSet()); long layoutSetBranchId = layoutSetBranch.getLayoutSetBranchId(); long layoutRevisionId = staging.getRecentLayoutRevisionId(request, layoutSetBranchId, layout.getPlid()); LayoutRevision layoutRevision = layoutRevisionLocalService.getLayoutRevision(layoutRevisionId); PortletPreferencesImpl portletPreferences = (PortletPreferencesImpl) actionRequest.getPreferences(); if (layoutRevision != null) { portletPreferences.setPlid(layoutRevision.getLayoutRevisionId()); } } }
From source file:com.liferay.asset.publisher.web.portlet.DisplayPageFriendlyURLResolver.java
License:Open Source License
@Override public String getActualURL(long companyId, long groupId, boolean privateLayout, String mainPath, String friendlyURL, Map<String, String[]> params, Map<String, Object> requestContext) throws PortalException { String urlTitle = friendlyURL.substring(JournalArticleConstants.CANONICAL_URL_SEPARATOR.length()); JournalArticle journalArticle = _journalArticleLocalService.getArticleByUrlTitle(groupId, urlTitle); Layout layout = getJournalArticleLayout(groupId, privateLayout, friendlyURL); String layoutActualURL = _portal.getLayoutActualURL(layout, mainPath); InheritableMap<String, String[]> actualParams = new InheritableMap<>(); if (params != null) { actualParams.setParentMap(params); }/*w w w. ja va 2s.com*/ UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); String defaultAssetPublisherPortletId = typeSettingsProperties .get(LayoutTypePortletConstants.DEFAULT_ASSET_PUBLISHER_PORTLET_ID); String currentDefaultAssetPublisherPortletId = defaultAssetPublisherPortletId; if (Validator.isNull(defaultAssetPublisherPortletId)) { defaultAssetPublisherPortletId = PortletIdCodec.encode(AssetPublisherPortletKeys.ASSET_PUBLISHER); } HttpServletRequest request = (HttpServletRequest) requestContext.get("request"); if (Validator.isNull(currentDefaultAssetPublisherPortletId)) { String actualPortletAuthenticationToken = AuthTokenUtil.getToken(request, layout.getPlid(), defaultAssetPublisherPortletId); actualParams.put("p_p_auth", new String[] { actualPortletAuthenticationToken }); } actualParams.put("p_p_id", new String[] { defaultAssetPublisherPortletId }); actualParams.put("p_p_lifecycle", new String[] { "0" }); if (Validator.isNull(currentDefaultAssetPublisherPortletId)) { actualParams.put("p_p_state", new String[] { WindowState.MAXIMIZED.toString() }); } actualParams.put("p_p_mode", new String[] { "view" }); actualParams.put("p_j_a_id", new String[] { String.valueOf(journalArticle.getId()) }); String namespace = _portal.getPortletNamespace(defaultAssetPublisherPortletId); actualParams.put(namespace + "mvcPath", new String[] { "/view_content.jsp" }); AssetRendererFactory<?> assetRendererFactory = AssetRendererFactoryRegistryUtil .getAssetRendererFactoryByClassName(JournalArticle.class.getName()); actualParams.put(namespace + "type", new String[] { assetRendererFactory.getType() }); actualParams.put(namespace + "urlTitle", new String[] { journalArticle.getUrlTitle() }); String queryString = _http.parameterMapToString(actualParams, false); if (layoutActualURL.contains(StringPool.QUESTION)) { layoutActualURL = layoutActualURL + StringPool.AMPERSAND + queryString; } else { layoutActualURL = layoutActualURL + StringPool.QUESTION + queryString; } Locale locale = _portal.getLocale(request); _portal.addPageSubtitle(journalArticle.getTitle(locale), request); _portal.addPageDescription(journalArticle.getDescription(locale), request); List<AssetTag> assetTags = _assetTagLocalService.getTags(JournalArticle.class.getName(), journalArticle.getPrimaryKey()); if (!assetTags.isEmpty()) { _portal.addPageKeywords(ListUtil.toString(assetTags, AssetTag.NAME_ACCESSOR), request); } return layoutActualURL; }
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void resetLayoutColumns(Layout layout) { UnicodeProperties typeSettings = layout.getTypeSettingsProperties(); Set<Map.Entry<String, String>> set = typeSettings.entrySet(); Iterator<Map.Entry<String, String>> iterator = set.iterator(); while (iterator.hasNext()) { Map.Entry<String, String> entry = iterator.next(); String key = entry.getKey(); if (!key.startsWith("column-")) { continue; }/*from ww w . ja va2s .c om*/ String[] portletIds = StringUtil.split(entry.getValue()); for (String portletId : portletIds) { try { portletPreferencesLocalService.deletePortletPreferences(PortletKeys.PREFS_OWNER_ID_DEFAULT, PortletKeys.PREFS_OWNER_TYPE_LAYOUT, layout.getPlid(), portletId); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to delete portlet preferences for " + "portlet " + portletId, pe); } } } iterator.remove(); } layout.setTypeSettingsProperties(typeSettings); layoutLocalService.updateLayout(layout); }
From source file:com.liferay.exportimport.resources.importer.test.ResourcesImporterTest.java
License:Open Source License
protected void validateLayouts(Group importedGroup) throws Exception { long privateLayoutsCount = LayoutLocalServiceUtil.getLayoutsCount(importedGroup, true); Assert.assertEquals(1, privateLayoutsCount); long publicLayoutsCount = LayoutLocalServiceUtil.getLayoutsCount(importedGroup, false); Assert.assertEquals(9, publicLayoutsCount); Layout layout = LayoutLocalServiceUtil.getFriendlyURLLayout(importedGroup.getGroupId(), false, "/home"); Map<Locale, String> nameMap = layout.getNameMap(); Assert.assertTrue(nameMap.containsValue("Bienvenue")); Assert.assertTrue(layout.isTypePortlet()); LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType(); List<Portlet> portlets = layoutTypePortlet.getAllPortlets(); Assert.assertEquals(portlets.toString(), 7, portlets.size()); UnicodeProperties layoutTypeSettingsProperties = layout.getTypeSettingsProperties(); String nestedColumnIds = layoutTypeSettingsProperties.get(LayoutTypePortletConstants.NESTED_COLUMN_IDS); Assert.assertTrue((nestedColumnIds != null) && nestedColumnIds.contains("column-1") && nestedColumnIds.contains("column-2")); layout = LayoutLocalServiceUtil.getFriendlyURLLayout(importedGroup.getGroupId(), false, "/layout-prototypes-page-1"); Assert.assertTrue(layout.isLayoutPrototypeLinkActive()); Assert.assertEquals("371647ba-3649-4039-bfe6-ae32cf404737", layout.getLayoutPrototypeUuid()); layout = LayoutLocalServiceUtil.getFriendlyURLLayout(importedGroup.getGroupId(), false, "/layout-prototypes-page-2"); Assert.assertFalse(layout.isLayoutPrototypeLinkActive()); Assert.assertEquals("c98067d0-fc10-9556-7364-238d39693bc4", layout.getLayoutPrototypeUuid()); layout = LayoutLocalServiceUtil.getFriendlyURLLayout(importedGroup.getGroupId(), false, "/url-page"); Assert.assertTrue(layout.isTypeURL()); layout = LayoutLocalServiceUtil.getFriendlyURLLayout(importedGroup.getGroupId(), false, "/hidden-page"); Assert.assertTrue(layout.isHidden()); }
From source file:com.liferay.exportimport.staging.StagingImpl.java
License:Open Source License
@Override public void deleteLastImportSettings(Group liveGroup, boolean privateLayout) throws PortalException { List<Layout> layouts = _layoutLocalService.getLayouts(liveGroup.getGroupId(), privateLayout); for (Layout layout : layouts) { UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); Set<String> keys = new HashSet<>(); for (String key : typeSettingsProperties.keySet()) { if (key.startsWith("last-import-")) { keys.add(key);/*from w w w. jav a2s .c om*/ } } if (keys.isEmpty()) { continue; } for (String key : keys) { typeSettingsProperties.remove(key); } _layoutLocalService.updateLayout(layout.getGroupId(), layout.getPrivateLayout(), layout.getLayoutId(), typeSettingsProperties.toString()); } }
From source file:com.liferay.exportimport.staging.StagingImpl.java
License:Open Source License
@Override public void updateLastImportSettings(Element layoutElement, Layout layout, PortletDataContext portletDataContext) { Map<String, String[]> parameterMap = portletDataContext.getParameterMap(); String cmd = MapUtil.getString(parameterMap, Constants.CMD); if (!cmd.equals(Constants.PUBLISH_TO_LIVE) && !cmd.equals("schedule_publish_to_live")) { return;// w w w. j a v a 2 s . co m } UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); typeSettingsProperties.setProperty("last-import-date", String.valueOf(System.currentTimeMillis())); String layoutRevisionId = GetterUtil.getString(layoutElement.attributeValue("layout-revision-id")); typeSettingsProperties.setProperty("last-import-layout-revision-id", layoutRevisionId); String layoutSetBranchId = MapUtil.getString(parameterMap, "layoutSetBranchId"); typeSettingsProperties.setProperty("last-import-layout-set-branch-id", layoutSetBranchId); String layoutSetBranchName = MapUtil.getString(parameterMap, "layoutSetBranchName"); typeSettingsProperties.setProperty("last-import-layout-set-branch-name", layoutSetBranchName); String lastImportUserName = MapUtil.getString(parameterMap, "lastImportUserName"); typeSettingsProperties.setProperty("last-import-user-name", lastImportUserName); String lastImportUserUuid = MapUtil.getString(parameterMap, "lastImportUserUuid"); typeSettingsProperties.setProperty("last-import-user-uuid", lastImportUserUuid); String layoutBranchId = GetterUtil.getString(layoutElement.attributeValue("layout-branch-id")); typeSettingsProperties.setProperty("last-import-layout-branch-id", layoutBranchId); String layoutBranchName = GetterUtil.getString(layoutElement.attributeValue("layout-branch-name")); typeSettingsProperties.setProperty("last-import-layout-branch-name", layoutBranchName); layout.setTypeSettingsProperties(typeSettingsProperties); }
From source file:com.liferay.exportimport.test.LayoutSetPrototypePropagationTest.java
License:Open Source License
protected Layout setLayoutUpdateable(Layout layout, boolean layoutUpdateable) throws Exception { UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); typeSettingsProperties.put(Sites.LAYOUT_UPDATEABLE, String.valueOf(layoutUpdateable)); layout.setTypeSettingsProperties(typeSettingsProperties); return LayoutLocalServiceUtil.updateLayout(layout); }
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected void exportLinkedLayout(PortletDataContext portletDataContext, Layout layout, Element layoutElement) throws Exception { UnicodeProperties typeSettingsProperties = layout.getTypeSettingsProperties(); long linkToLayoutId = GetterUtil .getLong(typeSettingsProperties.getProperty("linkToLayoutId", StringPool.BLANK)); if (linkToLayoutId > 0) { try {// ww w .ja v a 2 s . c o m Layout linkedToLayout = _layoutLocalService.getLayout(portletDataContext.getScopeGroupId(), layout.isPrivateLayout(), linkToLayoutId); StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, layout, linkedToLayout, PortletDataContext.REFERENCE_TYPE_STRONG); layoutElement.addAttribute("linked-to-layout-uuid", linkedToLayout.getUuid()); } catch (NoSuchLayoutException nsle) { // LPS-52675 if (_log.isDebugEnabled()) { _log.debug(nsle, nsle); } } } }
From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java
License:Open Source License
protected Object[] extractFriendlyURLInfo(Layout layout) { if (!Objects.equals(layout.getType(), LayoutConstants.TYPE_URL)) { return null; }/*from w w w . j a va2 s . c o m*/ UnicodeProperties typeSettings = layout.getTypeSettingsProperties(); String url = GetterUtil.getString(typeSettings.getProperty("url")); String friendlyURLPrivateGroupPath = PropsValues.LAYOUT_FRIENDLY_URL_PRIVATE_GROUP_SERVLET_MAPPING; String friendlyURLPrivateUserPath = PropsValues.LAYOUT_FRIENDLY_URL_PRIVATE_USER_SERVLET_MAPPING; String friendlyURLPublicPath = PropsValues.LAYOUT_FRIENDLY_URL_PUBLIC_SERVLET_MAPPING; if (!url.startsWith(friendlyURLPrivateGroupPath) && !url.startsWith(friendlyURLPrivateUserPath) && !url.startsWith(friendlyURLPublicPath)) { return null; } int x = url.indexOf(CharPool.SLASH, 1); if (x == -1) { return null; } int y = url.indexOf(CharPool.SLASH, x + 1); if (y == -1) { return null; } return new Object[] { url.substring(x, y), url, x, y }; }