Esempio n. 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();
  }
  @Override
  public String getRender() {

    String render = super.getRender();

    if ((render != null) && render.contains("@for")) {

      UIData uiData = getUIData();

      if (uiData != null) {
        String uiDataId = uiData.getId();
        render = render.replace("@for", uiDataId);
      }
    }

    return render;
  }
  @Override
  public String getExecute() {

    String execute = super.getExecute();

    if ((execute != null) && execute.contains("@for")) {

      UIData uiData = getUIData();

      if (uiData != null) {
        String uiDataId = uiData.getId();
        execute = execute.replace("@for", uiDataId);
      }
    }

    return execute;
  }