Browse Source

Limit previous solution for non-push mode UI (#11629)

* add test case

* Limit the workaround for non-push mode

Fixes #11616
tags/8.9.0.alpha1
Zhe Sun 4 years ago
parent
commit
bc576f48aa

+ 8
- 3
server/src/main/java/com/vaadin/server/communication/FileUploadHandler.java View File

@@ -16,8 +16,6 @@

package com.vaadin.server.communication;

import static java.nio.charset.StandardCharsets.UTF_8;

import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -42,6 +40,8 @@ import com.vaadin.shared.ApplicationConstants;
import com.vaadin.ui.UI;
import com.vaadin.ui.Upload.FailedEvent;

import static java.nio.charset.StandardCharsets.UTF_8;

/**
* Handles a file upload request submitted via an Upload component.
*
@@ -617,7 +617,12 @@ public class FileUploadHandler implements RequestHandler {
} finally {
session.unlock();
}
return true;
boolean pushEnabled = UI.getCurrent().getPushConfiguration()
.getPushMode().isEnabled();
if (!pushEnabled) {
return true;
}

// Note, we are not throwing interrupted exception forward as it is
// not a terminal level error like all other exception.
} catch (final Exception e) {

+ 18
- 0
uitest/src/main/java/com/vaadin/tests/components/upload/InterruptUploadWithPush.java View File

@@ -0,0 +1,18 @@
package com.vaadin.tests.components.upload;

import com.vaadin.annotations.Push;

@Push
public class InterruptUploadWithPush extends InterruptUpload {

@Override
protected Integer getTicketNumber() {
return 11616;
}

@Override
public String getDescription() {
return "Interrupting an upload with @Push shouldn't prevent uploading that same file immediately afterwards.";
}

}

+ 4
- 0
uitest/src/test/java/com/vaadin/tests/components/upload/InterruptUploadWithPushTest.java View File

@@ -0,0 +1,4 @@
package com.vaadin.tests.components.upload;

public class InterruptUploadWithPushTest extends InterruptUploadTest {
}

Loading…
Cancel
Save