List of usage examples for com.liferay.portal.kernel.portlet LiferayPortletResponse getHttpServletResponse
public HttpServletResponse getHttpServletResponse();
From source file:com.liferay.portlet.InvokerPortletImpl.java
License:Open Source License
protected void invoke(LiferayPortletRequest portletRequest, LiferayPortletResponse portletResponse, String lifecycle, List<? extends PortletFilter> filters) throws IOException, PortletException { FilterChain filterChain = new FilterChainImpl(_portlet, filters); if (_portletConfigImpl.isWARFile()) { String invokerPortletName = _portletConfigImpl.getInitParameter(INIT_INVOKER_PORTLET_NAME); if (invokerPortletName == null) { invokerPortletName = _portletConfigImpl.getPortletName(); }// w w w .j ava 2 s.co m String path = StringPool.SLASH + invokerPortletName + "/invoke"; RequestDispatcher requestDispatcher = _portletContextImpl.getServletContext() .getRequestDispatcher(path); HttpServletRequest request = portletRequest.getHttpServletRequest(); HttpServletResponse response = portletResponse.getHttpServletResponse(); request.setAttribute(JavaConstants.JAVAX_PORTLET_PORTLET, _portlet); request.setAttribute(PortletRequest.LIFECYCLE_PHASE, lifecycle); request.setAttribute(PortletServlet.PORTLET_SERVLET_FILTER_CHAIN, filterChain); try { // Resource phase must be a forward because includes do not // allow you to specify the content type or headers if (lifecycle.equals(PortletRequest.RESOURCE_PHASE)) { requestDispatcher.forward(request, response); } else { requestDispatcher.include(request, response); } } catch (ServletException se) { Throwable cause = se.getRootCause(); if (cause instanceof PortletException) { throw (PortletException) cause; } throw new PortletException(cause); } } else { PortletFilterUtil.doFilter(portletRequest, portletResponse, lifecycle, filterChain); } portletResponse.transferMarkupHeadElements(); Map<String, String[]> properties = portletResponse.getProperties(); if ((properties != null) && (properties.size() > 0)) { if (_expCache != null) { String[] expCache = properties.get(RenderResponse.EXPIRATION_CACHE); if ((expCache != null) && (expCache.length > 0) && (expCache[0] != null)) { _expCache = new Integer(GetterUtil.getInteger(expCache[0])); } } } }
From source file:org.apache.tapestry5.internal.portlet.services.PortletResponseImpl.java
License:Apache License
public PrintWriter getPrintWriter(String contentType) throws IOException { // _logger.error(PortletServicesMessages.unsupportedMethod("getPrintWriter")); // return null; // LiferayPortletResponse liferayResponse = (LiferayPortletResponse) _response; // return liferayResponse.getHttpServletResponse().getWriter(); // HttpServletResponse servletResponse = ((LiferayPortletResponse) _response).getHttpServletResponse(); // _logger.info("getPrintWriter " + contentType + " " + servletResponse.getCharacterEncoding()); // servletResponse.setContentType(contentType); // OutputStream os = servletResponse.getOutputStream(); // Writer w = new OutputStreamWriter(os, servletResponse.getCharacterEncoding()); // return new PrintWriter(new BufferedWriter(w)); _logger.info("getPrintWriter"); LiferayPortletResponse liferayResponse = (LiferayPortletResponse) _response; if (_request == null) { _logger.info("REQUEST IS NULL"); return null; }// w w w .j a v a 2 s. c om if (_request.isXHR()) { // _logger.info("Request is XHR IN RESPONSE TOO"); // TODO: Content Type Header + Encoding setzen (?) _logger.info("XHR Content-Type: " + contentType); liferayResponse.setHeader("Content-Type", contentType); _logger.info("Response Content-Type: " + liferayResponse.getHttpServletResponse().getContentType()); return liferayResponse.getHttpServletResponse().getWriter(); } else { // _logger.info("Request is not XHR IN RESPONSE"); return null; } }