List of usage examples for com.liferay.portal.theme PortletDisplayFactory create
public static PortletDisplay create()
From source file:com.liferay.portlet.layoutconfiguration.util.RuntimePortletImpl.java
License:Open Source License
public String processPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, RenderRequest renderRequest, RenderResponse renderResponse, Portlet portlet, String portletId, String queryString, String columnId, Integer columnPos, Integer columnCount, String path, boolean writeOutput) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); if (portlet == null) { portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), portletId); }//from w ww . ja v a 2 s . c om if ((portlet != null) && (portlet.isInstanceable()) && (!portlet.isAddDefaultResource())) { String instanceId = portlet.getInstanceId(); if (Validator.isNotNull(instanceId) && Validator.isPassword(instanceId) && (instanceId.length() >= 4)) { /*portletId += PortletConstants.INSTANCE_SEPARATOR + instanceId; portlet = PortletLocalServiceUtil.getPortletById( themeDisplay.getCompanyId(), portletId);*/ } else { if (_log.isDebugEnabled()) { _log.debug("Portlet " + portlet.getPortletId() + " is instanceable but does not have a " + "valid instance id"); } portlet = null; } } if (portlet == null) { return StringPool.BLANK; } // Capture the current portlet's settings to reset them once the child // portlet is rendered PortletDisplay portletDisplay = themeDisplay.getPortletDisplay(); PortletDisplay portletDisplayClone = PortletDisplayFactory.create(); portletDisplay.copyTo(portletDisplayClone); PortletConfig portletConfig = (PortletConfig) request.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG); try { return PortalUtil.renderPortlet(servletContext, request, response, portlet, queryString, columnId, columnPos, columnCount, path, writeOutput); } finally { portletDisplay.copyFrom(portletDisplayClone); portletDisplayClone.recycle(); _defineObjects(request, portletConfig, renderRequest, renderResponse); } }