Package org.primefaces.model

Examples of org.primefaces.model.StreamedContent


        String library = params.get("ln");
        String dynamicContentId = (String) params.get(Constants.DYNAMIC_CONTENT_PARAM);
        StringEncrypter strEn = RequestContext.getCurrentInstance().getEncrypter();
       
        if(dynamicContentId != null && library != null && library.equals(Constants.LIBRARY)) {
            StreamedContent streamedContent = null;
            boolean cache = Boolean.valueOf(params.get(Constants.DYNAMIC_CONTENT_CACHE_PARAM));
           
            try {
                String dynamicContentEL = strEn.decrypt(dynamicContentId);               
                ExternalContext externalContext = context.getExternalContext();
                
                if(dynamicContentEL != null) {
                    ELContext eLContext = context.getELContext();
                    ValueExpression ve = context.getApplication().getExpressionFactory().createValueExpression(context.getELContext(), dynamicContentEL, StreamedContent.class);
                    streamedContent = (StreamedContent) ve.getValue(eLContext);

                    externalContext.setResponseStatus(200);
                    externalContext.setResponseContentType(streamedContent.getContentType());
                   
                    if(cache) {
                        DateFormat httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
                        httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
                        Calendar calendar = Calendar.getInstance();
                        calendar.add(Calendar.YEAR, 1);
                        externalContext.setResponseHeader("Cache-Control", "max-age=29030400");
                        externalContext.setResponseHeader("Expires", httpDateFormat.format(calendar.getTime()));
                    }
                    else {
                        externalContext.setResponseHeader("Cache-Control", "no-cache, no-store, must-revalidate");
                        externalContext.setResponseHeader("Pragma", "no-cache");
                        externalContext.setResponseHeader("Expires", "Mon, 8 Aug 1980 10:00:00 GMT");
                    }
                   
                    if(streamedContent.getContentEncoding() != null) {
                        externalContext.setResponseHeader("Content-Encoding", streamedContent.getContentEncoding());
                    }

                    byte[] buffer = new byte[2048];

                    int length;
                    InputStream inputStream = streamedContent.getStream();
                    while ((length = (inputStream.read(buffer))) >= 0) {
                        externalContext.getResponseOutputStream().write(buffer, 0, length);
                    }
                }

                externalContext.responseFlushBuffer();
                context.responseComplete();

            } catch(Exception e) {
                logger.log(Level.SEVERE, "Error in streaming dynamic resource. {0}", new Object[]{e.getMessage()});
                throw new IOException(e);
            }
            finally {
                //cleanup
                if(streamedContent != null) {
                    streamedContent.getStream().close();
                }
            }
        }
        else {
           super.handleResourceRequest(context);
View Full Code Here


        }
        else if (value instanceof String) {
            src = ComponentUtils.getResourceURL(context, (String) value);
        }
        else if (value instanceof StreamedContent) {
            StreamedContent streamedContent = (StreamedContent) value;
            Resource resource = context.getApplication().getResourceHandler().createResource("dynamiccontent.properties", "primefaces", streamedContent.getContentType());
            String resourcePath = resource.getRequestPath();
            StringEncrypter encrypter = RequestContext.getCurrentInstance().getEncrypter();

            ValueExpression expression = ValueExpressionAnalyzer.getExpression(context.getELContext(), component.getValueExpression("value"));
            String rid = encrypter.encrypt(expression.getExpressionString());
View Full Code Here

 
  private void streamDynamicContent(FacesContext facesContext, String expression) {
    HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
    ELContext elContext = facesContext.getELContext();
    ValueExpression ve = facesContext.getApplication().getExpressionFactory().createValueExpression(elContext, "#{" + expression + "}", StreamedContent.class);
    StreamedContent content = (StreamedContent) ve.getValue(elContext);

    if(content != null) {
      if(logger.isLoggable(Level.FINE))
        logger.log(Level.FINE, "Streaming image: {0}", ve.getExpressionString());
   
      try {
        response.setContentType(content.getContentType());
       
        byte[] buffer = new byte[2048];
   
        int length;
        while ((length = (content.getStream().read(buffer))) >= 0) {
          response.getOutputStream().write(buffer, 0, length);
        }
       
        finalizeResponse(facesContext);
      }
View Full Code Here

    FacesContext facesContext = FacesContext.getCurrentInstance();
    ELContext elContext = facesContext.getELContext();
    HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
 
    String contentDispositionValue = contentDisposition != null ? (String) contentDisposition.getValue(elContext) : "attachment"
    StreamedContent content = (StreamedContent) value.getValue(elContext);
   
    try {
      response.setContentType(content.getContentType());
      response.setHeader("Content-Disposition", contentDispositionValue + ";filename=" + content.getName());
     
      byte[] buffer = new byte[2048];
 
      int length;
      while ((length = (content.getStream().read(buffer))) >= 0) {
        response.getOutputStream().write(buffer, 0, length);
      }
     
      response.setStatus(200);
     
      content.getStream().close();
      response.getOutputStream().flush();
      facesContext.responseComplete();
    }catch (IOException e) {
      e.printStackTrace();
    }
View Full Code Here

        String query = "Select d from " + DocumentInfo.class.getSimpleName() + " d where d.ownerId =  " + employeeId;
        documents = (List<DocumentInfo>) dao.findByQuery(query);

        for (DocumentInfo documentInfo : documents)
        {
            StreamedContent file = toStreamedContent(documentInfo.getData(), documentInfo.getDocumentName(),
                    "application/pdf");
            documentInfo.addFile(file);
        }
        return documents;
    }
View Full Code Here

        String query = "Select d from " + DocumentInfo.class.getSimpleName() + " d where d.ownerName =  "
                + employeeName;
        documents = (List<DocumentInfo>) dao.findByQuery(query);
        for (DocumentInfo documentInfo : documents)
        {
            StreamedContent file = toStreamedContent(documentInfo.getData(), documentInfo.getDocumentName(),
                    "application/pdf");
            documentInfo.addFile(file);
        }
        return documents;
    }
View Full Code Here

    private StreamedContent toStreamedContent(byte[] bytes, String fileName, String contentType)
    {
        InputStream is = new ByteArrayInputStream(bytes);

        StreamedContent file = new DefaultStreamedContent(is, contentType, fileName);

        return file;
    }
View Full Code Here

        }
        return matrices;
    }

    public StreamedContent downloadCSV(EntityMatrix matrix) {
        StreamedContent file = null;
        try {
            System.out.println("Matriz tem nodes: " + matrix.getNodes().size());

            String fileName = generateFileName(matrix) + ".csv";
View Full Code Here

        }
        return file;
    }

    public StreamedContent downloadLOG(EntityMatrix matrix) {
        StreamedContent file = null;
        try {
            file = JsfUtil.downloadLogFile(matrix);
        } catch (Exception ex) {
            ex.printStackTrace();
            JsfUtil.addErrorMessage(ex.toString());
View Full Code Here

        }
        return file;
    }

    public StreamedContent downloadParams(EntityMatrix matrix) {
        StreamedContent file = null;
        try {
            String fileName = generateFileName(matrix) + ".txt";

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            PrintWriter pw = new PrintWriter(baos);
View Full Code Here

TOP

Related Classes of org.primefaces.model.StreamedContent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.