List of usage examples for com.liferay.portal.kernel.model LayoutTemplate getContent
public String getContent();
From source file:com.liferay.nested.portlets.web.internal.portlet.action.NestedPortletsConfigurationAction.java
License:Open Source License
protected void reorganizeNestedColumns(ActionRequest actionRequest, String portletResource, String newLayoutTemplateId, String oldLayoutTemplateId) throws PortalException { ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); Layout layout = themeDisplay.getLayout(); LayoutTypePortlet layoutTypePortlet = themeDisplay.getLayoutTypePortlet(); Theme theme = themeDisplay.getTheme(); LayoutTemplate newLayoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(newLayoutTemplateId, false, theme.getThemeId());//from w w w . j a v a 2s . c om List<String> newColumns = getColumnNames(newLayoutTemplate.getContent(), portletResource); LayoutTemplate oldLayoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(oldLayoutTemplateId, false, theme.getThemeId()); List<String> oldColumns = getColumnNames(oldLayoutTemplate.getContent(), portletResource); layoutTypePortlet.reorganizePortlets(newColumns, oldColumns); layoutTypePortlet.setStateMax(StringPool.BLANK); _layoutLocalService.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings()); }
From source file:com.liferay.nested.portlets.web.internal.portlet.NestedPortletsPortlet.java
License:Open Source License
@Override public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); String layoutTemplateId = StringPool.BLANK; try {// w w w . java2 s. c om NestedPortletsDisplayContext nestedPortletsDisplayContext = new NestedPortletsDisplayContext( _portal.getHttpServletRequest(renderRequest)); layoutTemplateId = nestedPortletsDisplayContext.getLayoutTemplateId(); } catch (ConfigurationException ce) { if (_log.isWarnEnabled()) { _log.warn(ce, ce); } } String templateId = StringPool.BLANK; String templateContent = StringPool.BLANK; Map<String, String> columnIds = new HashMap<>(); if (Validator.isNotNull(layoutTemplateId)) { Theme theme = themeDisplay.getTheme(); LayoutTemplate layoutTemplate = _layoutTemplateLocalService.getLayoutTemplate(layoutTemplateId, false, theme.getThemeId()); String content = layoutTemplate.getContent(); Matcher processColumnMatcher = _processColumnPattern.matcher(content); while (processColumnMatcher.find()) { String columnId = processColumnMatcher.group(2); if (Validator.isNotNull(columnId)) { columnIds.put(columnId, renderResponse.getNamespace() + StringPool.UNDERLINE + columnId); } } processColumnMatcher.reset(); StringBundler sb = new StringBundler(4); sb.append(theme.getThemeId()); sb.append(LayoutTemplateConstants.CUSTOM_SEPARATOR); sb.append(renderResponse.getNamespace()); sb.append(layoutTemplateId); templateId = sb.toString(); content = processColumnMatcher.replaceAll("$1\\${$2}$3"); Matcher columnIdMatcher = _columnIdPattern.matcher(content); templateContent = columnIdMatcher.replaceAll("$1" + renderResponse.getNamespace() + "$2$3"); } checkLayout(themeDisplay.getLayout(), columnIds.values()); PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); renderRequest.setAttribute(NestedPortletsWebKeys.TEMPLATE_ID + portletDisplay.getId(), templateId); renderRequest.setAttribute(NestedPortletsWebKeys.TEMPLATE_CONTENT + portletDisplay.getId(), templateContent); Map<String, Object> vmVariables = (Map<String, Object>) renderRequest .getAttribute(WebKeys.VM_VARIABLES + portletDisplay.getId()); if (vmVariables != null) { vmVariables.putAll(columnIds); } else { renderRequest.setAttribute(WebKeys.VM_VARIABLES + portletDisplay.getId(), columnIds); } super.include(viewTemplate, renderRequest, renderResponse); }