public void run() { try { // set start timestamp this.startTime = System.currentTimeMillis(); // ACEGI-specific thingy: copy security context SecurityContextHolder.setContext(TrackingContextHolder.getContext()); started=true; // invoke container call portletContainer.doRender(portletWindow,req,res); renderContent=res.getPortletRenderContent(); successful=true; done=true; } catch (Throwable t) { problem=t; successful=false; done=true; } }
private void renderResponse() throws ToolRenderException { if (bufferedResponse == null) { bufferedResponse = new BufferedServletResponse(response); try { portletContainer.doRender(window, req, bufferedResponse); } catch (PortletException e) { throw new ToolRenderException(e.getMessage(), e); } catch (IOException e) { throw new ToolRenderException(e.getMessage(), e); } catch (PortletContainerException e) { throw new ToolRenderException(e.getMessage(), e); } } }
public void startPortletRendering(IPortletWindow window, Map<String, String[]> renderParams, IUser user, HttpServletRequest req, HttpServletResponse res) throws PortletRenderingException { try { PortletWindow plutoWindow=plutoDomainObjectHelper.getPortletWindow(window); // construct wrapped request and response PortletHttpServletRequestWrapper wrappedRequest=new PortletHttpServletRequestWrapper(req, renderParams, user); PortletHttpServletResponseWrapper wrappedResponse=new PortletHttpServletResponseWrapper(plutoWindow.getId(),req,res,renderContentAccessor); // render portletContainer.doRender(plutoWindow,wrappedRequest,wrappedResponse); // record content renderContentAccessor.setRenderedContent(plutoWindow.getId().toString(),wrappedResponse.getPortletRenderContent(),req); } catch (Exception e) { throw new PortletRenderingException(window.getPortletWindowId(),e); } }