You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

UploadNoSelection.java 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.vaadin.tests.components.upload;
  2. import java.io.ByteArrayOutputStream;
  3. import java.io.OutputStream;
  4. import com.vaadin.annotations.Widgetset;
  5. import com.vaadin.server.VaadinRequest;
  6. import com.vaadin.tests.components.AbstractTestUIWithLog;
  7. import com.vaadin.tests.widgetset.TestingWidgetSet;
  8. import com.vaadin.tests.widgetset.server.upload.AllowUploadWithoutFilenameExtension;
  9. import com.vaadin.ui.Button;
  10. import com.vaadin.ui.Upload;
  11. import com.vaadin.ui.Upload.Receiver;
  12. @Widgetset(TestingWidgetSet.NAME)
  13. public class UploadNoSelection extends AbstractTestUIWithLog
  14. implements Receiver {
  15. static final String LOG_ID_PREFIX = "Log_row_";
  16. static final String UPLOAD_ID = "u";
  17. static final String UPLOAD_FINISHED = "Upload Finished";
  18. static final String RECEIVING_UPLOAD = "Receiving upload";
  19. static final String FILE_LENGTH_PREFIX = "File length:";
  20. static final String FILE_NAME_PREFIX = "File name:";
  21. @Override
  22. protected Integer getTicketNumber() {
  23. return 9602;
  24. }
  25. @Override
  26. protected String getTestDescription() {
  27. return "Uploading an empty selection (no file) should not be possible by "
  28. + "default. If the default behavior is overridden with a custom "
  29. + "extension the upload attempt will trigger FinishedEvent with "
  30. + "0-length file size and empty filename.";
  31. }
  32. @Override
  33. protected void setup(VaadinRequest request) {
  34. Upload u = new Upload("Upload", this);
  35. u.setId(UPLOAD_ID);
  36. u.setSizeUndefined();
  37. u.setImmediateMode(false);
  38. addComponent(u);
  39. u.addFinishedListener(event -> {
  40. log(UPLOAD_FINISHED);
  41. log(FILE_LENGTH_PREFIX + " " + event.getLength());
  42. log(FILE_NAME_PREFIX + " " + event.getFilename());
  43. });
  44. u.addFailedListener(event -> {
  45. log("Upload Failed");
  46. log(FILE_LENGTH_PREFIX + " " + event.getLength());
  47. log(FILE_NAME_PREFIX + " " + event.getFilename());
  48. });
  49. Button progButton = new Button("Upload programmatically",
  50. e -> u.submitUpload());
  51. progButton.setId("programmatic");
  52. addComponent(progButton);
  53. Button extButton = new Button("Allow upload without filename",
  54. e -> AllowUploadWithoutFilenameExtension.wrap(u));
  55. extButton.setId("extend");
  56. addComponent(extButton);
  57. }
  58. @Override
  59. public OutputStream receiveUpload(String filename, String MIMEType) {
  60. log(RECEIVING_UPLOAD);
  61. return new ByteArrayOutputStream();
  62. }
  63. }