@Override public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { if (!isDummyRequest(request)) { return false; } /* * This dummy page is used by action responses to redirect to, in order * to prevent the boot strap code from being rendered into strange * places such as iframes. */ PortletResponse portletResponse = ((VaadinPortletResponse) response) .getPortletResponse(); if (portletResponse instanceof ResourceResponse) { ((ResourceResponse) portletResponse).setContentType("text/html"); } final OutputStream out = ((ResourceResponse) response) .getPortletOutputStream(); try (PrintWriter outWriter = new PrintWriter( new BufferedWriter(new OutputStreamWriter(out, UTF_8)))) { outWriter.print("<html><body>dummy page</body></html>"); } return true; }
/** * Handles a portlet request. * * @param request the {@link ResourceRequest} * @param response the {@link ResourceResponse} * @throws IOException on error */ public void handle(ResourceRequest request, ResourceResponse response) throws IOException { logger.debug("Handing ResourceRequest {}", request.getMethod()); response.setContentType(contentType); InputStream input = getRequestStream(request); OutputStream output = response.getPortletOutputStream(); handleRequest(input, output); // fix to not flush within handleRequest() but outside so http status code can be set output.flush(); }
@Override public OutputStream getOutputStream() throws IOException { return resourceResponse.getPortletOutputStream(); } }
/** * The default behavior of this method is to call * <code>getPortletOutputStream()</code> on the wrapped response object. */ public OutputStream getPortletOutputStream() throws IOException { return response.getPortletOutputStream(); }
public OutputStream getPortletOutputStream() throws IOException { return wrappedResourceResponse.getPortletOutputStream(); }
public OutputStream getPortletOutputStream() throws IOException { return wrappedResourceResponse.getPortletOutputStream(); }
public javax.servlet.ServletOutputStream getOutputStream() throws java.io.IOException { return ServletOutputStreamWrapper.getInstance(_res.getPortletOutputStream()); }
public void serveResource(ResourceRequest request,ResourceResponse response) throws PortletException, IOException { response.setContentType("application/application-download"); response.setProperty("Content-disposition", "attachement; filename=<some file.pdf>"); OutputStream responseStream = response.getPortletOutputStream(); jasperPrint=... JasperExportManager.exportReportToPdfStream(jasperPrint, responseStream); responseStream.flush(); responseStream.close(); }
/** * Called with AJAX request. Writes JSON to response. * * @param query query * @param res res */ @ResourceMapping public void searchStructure(@RequestParam("query") String query, ResourceResponse res) { Collection<String> structures = structureService.search(query); try { OutputStream outputStream = res.getPortletOutputStream(); res.setContentType("application/json"); new ObjectMapper().writeValue(outputStream, structures); } catch (IOException e) { e.printStackTrace(); } }
public void descargarRecibo(ResourceRequest request, ResourceResponse response, PortletSession session, ModelMap modelMap) { FileInputStream fileInputStream = null; BufferedInputStream bufferedInputStream = null; String fileURL = "c:/intranetdoc/PDetalleLlamadas/file.pdf"; try { fileInputStream = new java.io.FileInputStream(fileURL); OutputStream outputStream = response.getPortletOutputStream(); response.setContentType("application/pdf"); response.addProperty("Content-Disposition", "attachment; filename=" + fileName); bufferedInputStream = new java.io.BufferedInputStream( fileInputStream); byte[] bytes = new byte[bufferedInputStream.available()]; response.setContentLength(bytes.length); int aByte = 0; while ((aByte = bufferedInputStream.read()) != -1) { outputStream.write(aByte); } outputStream.flush(); bufferedInputStream.close(); response.flushBuffer(); } catch (Exception e) { e.printStackTrace(); } }
@Override public Stream createStream(String mimeType, Charset charset) throws IOException { if (mimeType != null) { resp.setContentType(mimeType); } // if (charset == null) { // We use ISO-8859-1 in case the the developer has not set a charset // but it will send chars instead of bytes charset = bridge.getConfig().requestEncoding; } else { resp.setCharacterEncoding(charset.name()); } // return OutputStream.create(charset, this.resp.getPortletOutputStream()); }
/** * Serve resource for fancytree lazy loading. * @param request resource request * @param response resource response * @throws PortletException * @throws IOException */ protected void serveResourceFancytreeLazyLoading(ResourceRequest request, ResourceResponse response) throws PortletException, IOException { // Portal controller context PortalControllerContext portalControllerContext = new PortalControllerContext(this.getPortletContext(), request, response); try { String data = this.browserService.browse(portalControllerContext); // Content type response.setContentType("application/json"); // Content PrintWriter printWriter = new PrintWriter(response.getPortletOutputStream()); printWriter.write(data); printWriter.close(); } catch (PortalException e) { throw new PortletException(e); } }
@Override public Stream createStream(String mimeType, Charset charset) throws IOException { if (mimeType != null) { resp.setContentType(mimeType); } // if (charset == null) { // We use ISO-8859-1 in case the the developer has not set a charset // but it will send chars instead of bytes charset = bridge.getConfig().requestEncoding; } else { resp.setCharacterEncoding(charset.name()); } // return OutputStream.create(charset, this.resp.getPortletOutputStream()); }
/** * Serve resource by cache. * * @param resourceRequest the resource request * @param resourceResponse the resource response * @return true, if successful * @throws PortletException the portlet exception * @throws IOException Signals that an I/O exception has occurred. */ public boolean serveResourceByCache(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException, IOException { String sOriginalDate = resourceRequest.getProperty("if-modified-since"); if (sOriginalDate == null) { sOriginalDate = resourceRequest.getProperty("If-Modified-Since"); } if (!this.isResourceExpired(sOriginalDate, resourceResponse, resourceRequest.getParameter("refresh"))) { // validation resourceResponse.setProperty(ResourceResponse.HTTP_STATUS_CODE, String.valueOf(HttpServletResponse.SC_NOT_MODIFIED)); resourceResponse.setProperty("Last-Modified", sOriginalDate); resourceResponse.getPortletOutputStream().close(); return true; } return false; }
response.getPortletOutputStream().write(excelWorkbook.getBytes());
/** * Flush the current buffered content to the wrapped * response (this could be a Servlet or Portlet response) * @throws IOException if content cannot be written */ public void flushMarkupToWrappedResponse() throws IOException { ResourceResponse response = getResponse(); flushBuffer(); if (isBytes()) { response.getPortletOutputStream().write(getBytes()); mByteStream.reset(); } else if (isChars()) { response.getWriter().write(getChars()); mCharWriter.reset(); } }
/** * Serve ressource exception. * * @param resourceRequest resource request * @param resourceResponse resource response * @param e Nuxeo exception * @throws PortletException the portlet exception * @throws IOException Signals that an I/O exception has occurred. */ protected void serveResourceException(ResourceRequest resourceRequest, ResourceResponse resourceResponse, NuxeoException e) throws PortletException, IOException { int httpErrorCode = 0; if (e.getErrorCode() == NuxeoException.ERROR_NOTFOUND) { httpErrorCode = HttpServletResponse.SC_NOT_FOUND; String message = "Resource CMSPortlet " + resourceRequest.getParameterMap() + " not found (error 404)."; this.logger.error(message); } else if (e.getErrorCode() == NuxeoException.ERROR_FORBIDDEN) { httpErrorCode = HttpServletResponse.SC_FORBIDDEN; } if (httpErrorCode != 0) { NuxeoController nuxeoController = this.createNuxeoController(resourceRequest, resourceResponse); PortalControllerContext portalCtx = new PortalControllerContext(this.getPortletContext(), resourceRequest, resourceResponse); String errorUrl = nuxeoController.getPortalUrlFactory().getHttpErrorUrl(portalCtx, httpErrorCode); resourceResponse.setProperty(ResourceResponse.HTTP_STATUS_CODE, String.valueOf(HttpServletResponse.SC_MOVED_TEMPORARILY)); resourceResponse.setProperty("Location", errorUrl); resourceResponse.getPortletOutputStream().close(); } else { throw e; } }
@Override public void serveImage( ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException { PortletSession portletSession = resourceRequest.getPortletSession(); nl.captcha.Captcha simpleCaptcha = getSimpleCaptcha(); portletSession.setAttribute( WebKeys.CAPTCHA_TEXT, simpleCaptcha.getAnswer()); resourceResponse.setContentType(ContentTypes.IMAGE_PNG); CaptchaServletUtil.writeImage( resourceResponse.getPortletOutputStream(), simpleCaptcha.getImage()); }
resourceResponse.getPortletOutputStream()) {
OutputStream out = response.getPortletOutputStream(); IOTools.safeClose(out);