Пример #1
0
  private AjaxButton buildDownloadReportButton(final Upload upload) {
    AjaxButton ajaxButton =
        new AjaxButton(au.org.theark.phenotypic.web.Constants.UPLOADVO_UPLOAD_UPLOAD_REPORT) {
          private static final long serialVersionUID = 1L;

          @Override
          protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            // Attempt to download the Blob as an array of bytes
            byte[] data = upload.getUploadReport();
            log.warn("buildDownloadReportButton onsubmit get blob");
            getRequestCycle()
                .scheduleRequestHandlerAfterCurrent(
                    new ByteDataResourceRequestHandler(
                        "text/plain", data, "uploadReport" + upload.getId() + ".txt"));
          }

          @Override
          protected void onError(AjaxRequestTarget target, Form<?> form) {
            this.error("Unexpected Error: Could not process download upload report request");
          };
        };

    ajaxButton.setVisible(true);
    ajaxButton.setDefaultFormProcessing(false);

    if (upload.getUploadReport() == null) ajaxButton.setVisible(false);

    return ajaxButton;
  }