Beispiel #1
0
  private File createFile(FacesContext fc, String type, UIData uiData) {
    OutputTypeHandler outputHandler = null;
    String path = CoreUtils.getRealPath(fc, "/export");
    File exportDir = new File(path);
    if (!exportDir.exists()) exportDir.mkdirs();
    String pathWithoutExt = path + "/export_" + new Date().getTime();

    if (getOutputTypeHandler() != null) outputHandler = getOutputTypeHandler();
    else if (DataExporter.EXCEL_TYPE.equals(getType())) {
      outputHandler = new ExcelOutputHandler(pathWithoutExt + ".xls", fc, uiData.getId());
    } else if (DataExporter.CSV_TYPE.equals(getType())) {
      outputHandler = new CSVOutputHandler(pathWithoutExt + ".csv");
    } else if (DataExporter.PDF_TYPE.equals(getType())) {
      outputHandler = new PDFOutputHandler(pathWithoutExt + ".pdf", uiData.getId());
    } else {
      outputHandler = NoopOutputHandler;
    }
    renderToHandler(outputHandler, uiData, fc);
    setMimeType(outputHandler.getMimeType());

    return outputHandler.getFile();
  }